<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>cassis_org.log</title>
        <link>https://velog.io/</link>
        <description>.</description>
        <lastBuildDate>Wed, 08 Jan 2025 12:09:37 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. cassis_org.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/cassis_org" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[ubuntu] grub 꾸미기]]></title>
            <link>https://velog.io/@cassis_org/ubuntu-grub-%EA%BE%B8%EB%AF%B8%EA%B8%B0</link>
            <guid>https://velog.io/@cassis_org/ubuntu-grub-%EA%BE%B8%EB%AF%B8%EA%B8%B0</guid>
            <pubDate>Wed, 08 Jan 2025 12:09:37 GMT</pubDate>
            <description><![CDATA[<p>갑자기 ubuntu 20.04를 쓸 일이 생겼다.</p>
<p>Windows11, Ubuntu 22.04, Ubuntu 20.04</p>
<p>총 3개 OS를 멀티 부팅 해야한다.</p>
<br/>

<p>20.04를 설치하니 기존 22.04에서 설정한 grub 세팅이 적용이 안 된다.</p>
<p>20.04에서 다시 설정 한다.</p>
<br/>




<p><a href="https://github.com/MrVivekRajan/Grub-Themes">https://github.com/MrVivekRajan/Grub-Themes</a></p>
<p>여기서 도라에몽 theme을 찾았다.</p>
<br/>





<p>theme 설정이 처음이라면 해당 위치에 폴더를 만들어준다.</p>
<pre><code class="language-bash">sudo mkdir /boot/grub/themes</code></pre>
<br/>



<pre><code class="language-bash">cd &lt;설치경로&gt;/</code></pre>
<br/>


<pre><code class="language-bash">sudo mv Doraemon/ /boot/grub/themes/</code></pre>
<br/>

<pre><code class="language-bash">sudo gedit /etc/default/grub</code></pre>
<p>아래 문장을 추가해 준다. 
GRUB_THEME=/boot/grub/themes/Doraemon/theme.txt</p>
<br/>


<p>grub을 업데이트 해준다.</p>
<pre><code class="language-bash">sudo update-grub</code></pre>
<p><br/><br/><br/></p>
<hr>
<h3 id="옵션">(옵션)</h3>
<h4 id="timeout">[TIMEOUT]</h4>
<p>timeout을 끄러면 /etc/default/grub 에서 다음과 같이 바꿔준다. 
default값은 10초다.</p>
<p>GRUB_TIMEOUT=-1</p>
<p>-1 은 timeout을 사용하지 않음을 뜻한다.</p>
<br/>

<h4 id="순서-바꾸기">[순서 바꾸기]</h4>
<p>순서를 바꾸는 과정은 다음과 같다.</p>
<pre><code class="language-bash">cd /etc/grub.d/</code></pre>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/dda7c6db-55ea-4117-a449-d3b0ec094301/image.png" alt=""></p>
<p>여기에 있는 스크립트들은 /boot/grub/grub.cfg 를 구성요소들이다.
각 스크립트들과 grub.cfg를 읽어보면 유사함을 알 수 있다.</p>
<p>이 스크립트들 중 사용자는 *_custom 에 추가하고 싶은 기능들을 추가하면 된다.</p>
<p>하지만 지금 하려고 하는 것은 </p>
<p>ubuntu
ubuntu ~~
windows boot manager
UEFI</p>
<p>를</p>
<p>windows boot manager
ubuntu
ubuntu ~~ 
UEFI</p>
<p>와 같이 순서만 바꿔 줄 것이기 때문에 스크립트 앞의 숫자만 바꿔주면 된다.</p>
<p>windows boot manager에 부트 메뉴의 상단에 뜨려면
30_os-prober 파일을 수정하면 된다.</p>
<p>먼저 혹시 모를 상황에 대비해 백업을 해둔다.</p>
<pre><code class="language-bash">sudo cp 30_os-prober 30_os-prober.bak</code></pre>
<br/>

<p>순서 변경을 위해 앞의 숫자를 바꿔준다.</p>
<pre><code class="language-bash">sudo mv 30_os-prober 09_os-prober</code></pre>
<br/>

<p>이제 grub.cfg를 재구성하면 된다.
그전에 grub.cfg를 먼저 백업하자.</p>
<pre><code class="language-bash">sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak</code></pre>
<br/>

<p>grub.cfg를 재구성한다.</p>
<pre><code class="language-bash">sudo grub-mkconfig</code></pre>
<pre><code class="language-bash">sudo update-grub</code></pre>
<br/>

<p>결과 사진</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/04c70674-f4b4-4556-93b3-2dd04e7b9066/image.jpg" alt=""></p>
<br/>

<p>도라에몽은 다음기회에</p>
<br/>



<br/>

<h4 id="배경바꾸기">[배경바꾸기]</h4>
<br/>

<p>우리가 내려받은 theme의 구조를 보면 사진들을 바꿀 수 있다.</p>
<pre><code class="language-bash">cd /boot/grub/themes/</code></pre>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/5b6819fe-94af-433e-a908-e06c00a6950c/image.png" alt=""></p>
<p>theme.txt 파일이 theme의 설정 파일이다.</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/d3bb427a-cccc-4407-bd8b-0cb87a610af2/image.png" alt=""></p>
<p>desktop-image: &quot;background.jpg&quot;
원하는 배경사진을 이 경로로 가져와서 여기에 이름을 넣어주면 배경이 바로 적용된다.</p>
<p>해상도를 고려해서 사진을 선택하자.</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/2a3fed9f-354e-43c9-8d6d-8623ccc2f648/image.png" alt=""></p>
<br/>


<p>배경화면 변경
<img src="https://velog.velcdn.com/images/cassis_org/post/40810f72-0a19-4ee4-9bad-67d227027387/image.jpg" alt=""></p>
<p>기존의 부트메뉴가 투명색이라 잘 안보인다.
그리고 원본파일은 적용이 안되어서 캡쳐본으로 썼다.</p>
<p>원본파일 크기는 2.5MB, 해상도는 3000*1688, 확장자는 jpeg였다.
뭐가 문제였는지는 다음 기회에</p>
<br/>


<p>[참고]</p>
<p><a href="https://sprout13.tistory.com/56">잡다한 블로그-Spring13</a>
<a href="https://x.com/ZM_Loopy/status/1527157877466877953">잔망 루피 공식</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[ubuntu] 멀티부팅 파티션 재조정]]></title>
            <link>https://velog.io/@cassis_org/ubuntu-%EB%A9%80%ED%8B%B0%EB%B6%80%ED%8C%85-%ED%8C%8C%ED%8B%B0%EC%85%98-%EC%9E%AC%EC%A1%B0%EC%A0%95</link>
            <guid>https://velog.io/@cassis_org/ubuntu-%EB%A9%80%ED%8B%B0%EB%B6%80%ED%8C%85-%ED%8C%8C%ED%8B%B0%EC%85%98-%EC%9E%AC%EC%A1%B0%EC%A0%95</guid>
            <pubDate>Fri, 16 Aug 2024 15:06:57 GMT</pubDate>
            <description><![CDATA[<pre><code class="language-bash">df -h</code></pre>
<br/>


<p><img src="https://velog.velcdn.com/images/cassis_org/post/a7e8c823-c719-4cfe-936e-e78036ecc31e/image.png" alt=""></p>
<pre><code>?</code></pre><br/>


<pre><code class="language-bash">du -h . | sort -n | tail -5</code></pre>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/74d0a61c-5318-4da1-b932-870bf49ef24d/image.png" alt=""></p>
<pre><code>??</code></pre> <br/>


<pre><code class="language-bash"> du . | sort -n | tail -5</code></pre>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/7d21c819-de94-4928-a365-b93f972a3f7d/image.png" alt=""></p>
<pre><code>???</code></pre> <br/>



<p><img src="https://velog.velcdn.com/images/cassis_org/post/6c3dea75-04d9-4c45-8f2b-21d47aa7df1c/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/f0e76233-4c7b-4e27-ab33-eada97d77c01/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/bd622ae1-14b1-4d8f-a64a-4f2267946621/image.png" alt=""></p>
<br>
<br>


<p>[참고]</p>
<ul>
<li><p>[ubuntu 20.04 issues]멀티부팅 gparted 이용 우분투에 디스크 공간 추가하기
<a href="https://velog.io/@tkdfo93/ubuntu-20.04-issues-%EB%A9%80%ED%8B%B0%EB%B6%80%ED%8C%85-%EC%9A%B0%EB%B6%84%ED%88%AC%EC%97%90-%EB%94%94%EC%8A%A4%ED%81%AC-%EA%B3%B5%EA%B0%84-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0">https://velog.io/@tkdfo93/ubuntu-20.04-issues-%EB%A9%80%ED%8B%B0%EB%B6%80%ED%8C%85-%EC%9A%B0%EB%B6%84%ED%88%AC%EC%97%90-%EB%94%94%EC%8A%A4%ED%81%AC-%EA%B3%B5%EA%B0%84-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0</a></p>
</li>
<li><p>리눅스 디스크 용량 및 저장 공간 확인
<a href="https://blog.naver.com/hongganz/222437398559">https://blog.naver.com/hongganz/222437398559</a></p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[ubuntu] nvidia driver]]></title>
            <link>https://velog.io/@cassis_org/ubuntu-nvidia-driver</link>
            <guid>https://velog.io/@cassis_org/ubuntu-nvidia-driver</guid>
            <pubDate>Thu, 01 Aug 2024 14:17:05 GMT</pubDate>
            <description><![CDATA[<p>환경 : ubuntu 22.04, ROS2 humble, NVIDIA gtx 1050 mobile</p>
<br>

<p>한번쯤은 다들 ubuntu를 설치하면서 그래픽드라이버 충돌로</p>
<p>고난을 겪고, nomodeset으로 빠져나갔을 것이다.</p>
<p>cpu 내장 그래픽을 비활성화 하고 nivida 외장 그래픽을 살려보자. </p>
<br>



<pre><code class="language-bash">lspci | grep -i VGA</code></pre>
<br>

<p>lspci는 ls (list) pci 를 실행하는 명령어이다.</p>
<p>PCI란 기기를 장착하는데 쓰는 버스의 규격이다.</p>
<p>직관적으로 메인보드의 슬롯을 떠올리면 되겠다.</p>
<p>ssd를 살 때 흔히 PCIe 3.0, PCIe 4.0, PCIe 5.0</p>
<p>이런 부가 설명을 보았을 것이다.</p>
<p>PCIe는 PCI express로 기존 PCI보다 더 향상된 표준 규격이다.</p>
<p>( 참고로 b650 토마호크 wifi 모델은 PCIe 5.0 슬롯을 지원하지 않는다. )</p>
<p>( 현재 PCIe 5.0을 지원하는 그래픽카드 모델도 없기 때문에 상관없다. )</p>
<br>

<pre><code>sudo lshw -C display</code></pre><p>[참고]</p>
<ul>
<li><a href="https://meticulousdev.tistory.com/entry/Ubuntu-%EA%B7%B8%EB%9E%98%ED%94%BD-%EC%B9%B4%EB%93%9CGPU-%EC%A0%95%EB%B3%B4-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0">https://meticulousdev.tistory.com/entry/Ubuntu-%EA%B7%B8%EB%9E%98%ED%94%BD-%EC%B9%B4%EB%93%9CGPU-%EC%A0%95%EB%B3%B4-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[cuda] windows 11 개발환경]]></title>
            <link>https://velog.io/@cassis_org/cuda-windows-11-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD</link>
            <guid>https://velog.io/@cassis_org/cuda-windows-11-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD</guid>
            <pubDate>Mon, 22 Jul 2024 08:11:10 GMT</pubDate>
            <description><![CDATA[<p>환경 : windows 11, python 3.11.9
NVIDIA GeForce RTX 3060 Laptop GPU</p>
<p>설치된 여러 버전의 python을 확인할 수 있다.</p>
<pre><code class="language-bash">py --list</code></pre>
<p>OS에 여러 버전의 python이 설치되어 있다면 이렇게 버전을 지정해 줄 수 있다. </p>
<br>

<pre><code>&gt;&gt; py -&lt;버전&gt; -m venv &lt;가상환경 이름&gt;</code></pre><br>

<pre><code class="language-bash">py -3.11 -m venv myvenv</code></pre>
<br>

<p>아래 명령어로 가상환경을 실행시킬 수 있다.</p>
<pre><code class="language-bash">myvenv\Scripts\activate.bat</code></pre>
<br>

<p>비활성화는 deactivate 명령어를 통해 쉽게 탈출이 가능하다.</p>
<br>

<pre><code class="language-bash">deactivate</code></pre>
<br>

<p>설치된 파이썬의 경로도 확인해보자</p>
<pre><code class="language-python">import sys
sys.executable</code></pre>
<br>

<p>가상환경에서의 파이썬 경로</p>
<br>

<p><img src="https://velog.velcdn.com/images/cassis_org/post/efcf185a-ad1c-4fdd-aa74-33af459da95b/image.png" alt=""></p>
<br>
<br>


<p>파이썬 경로</p>
<br>

<p><img src="https://velog.velcdn.com/images/cassis_org/post/1b7fb49d-90c9-4ba2-b554-52084a21791d/image.png" alt=""></p>
<pre><code class="language-python">import torch
torch.cuda.get_device_name(0)
torch.cuda.is_available()
torch.__version__

x = torch.rand(5,3)
print(x)</code></pre>
<p>[참고]</p>
<p><a href="https://lonaru-burnout.tistory.com/16">https://lonaru-burnout.tistory.com/16</a>
<a href="https://lonaru-burnout.tistory.com/18">https://lonaru-burnout.tistory.com/18</a>
<a href="https://github.com/pytorch/pytorch/issues/110436">https://github.com/pytorch/pytorch/issues/110436</a>
<a href="https://www.luck7owl.com/it/python/%ED%8C%8C%EC%9D%B4%EC%8D%AC-venv-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%B2%84%EC%A0%84-%EC%A7%80%EC%A0%95/">https://www.luck7owl.com/it/python/%ED%8C%8C%EC%9D%B4%EC%8D%AC-venv-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%B2%84%EC%A0%84-%EC%A7%80%EC%A0%95/</a></p>
<p>[참고2]</p>
<p><a href="https://wikidocs.net/217157">https://wikidocs.net/217157</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[ROS2] Allied Vision : Alvium 1800 U-240]]></title>
            <link>https://velog.io/@cassis_org/ROS2-Allied-Vision-Alvium-1800-U-240</link>
            <guid>https://velog.io/@cassis_org/ROS2-Allied-Vision-Alvium-1800-U-240</guid>
            <pubDate>Wed, 17 Jul 2024 13:14:53 GMT</pubDate>
            <description><![CDATA[<p>환경 : ubuntu 22.04, ros2
센서 : Alvium 1800 U-240 usb</p>
<br>
<br>

<p>[ros2 driver 설치]</p>
<br>

<pre><code>git clone https://github.com/alliedvision/vimbax_ros2_driver.git</code></pre><br>

<p><img src="https://velog.velcdn.com/images/cassis_org/post/cccf674b-8b81-4281-80aa-83c24b792eaf/image.png" alt=""></p>
<br>

<br>

<p>드라이버 : <a href="https://github.com/alliedvision/vimbax_ros2_driver/releases">https://github.com/alliedvision/vimbax_ros2_driver/releases</a></p>
<br>


<pre><code>cd ~/Downloads/
sudo apt install ./ros-humble-vimbax-camera-driver.deb </code></pre><p>또는</p>
<pre><code>cd ~/Downloads/
sudo dpkg -i ros-humble-vimbax-camera-driver-1.0.0-amd64.deb</code></pre><br>
<br>
<br>

<p>[Vimba X SDK 설치]</p>
<br>

<p><img src="https://velog.velcdn.com/images/cassis_org/post/cf6774fa-7aa1-4cb6-a477-651e335abe03/image.png" alt=""></p>
<br>

<p>Vimba X SDK : <a href="https://www.alliedvision.com/en/products/software/vimba-x-sdk/#c13326">https://www.alliedvision.com/en/products/software/vimba-x-sdk/#c13326</a></p>
<br>

<pre><code> cd ~/Downloads
sudo tar -xzf ./VimbaX_Setup-2023-4-Linux64.tar.gz -C /opt</code></pre><br>


<pre><code>cd /opt/VimbaX_2023-4/cti/
sudo ./SetGenTLPath.sh &amp;&amp; sudo ./VimbaUSBTL_Install.sh</code></pre><br>

<p>[firware update]</p>
<br>
<br>

<p>firware : <a href="https://www.alliedvision.com/en/support/firmware-downloads/">https://www.alliedvision.com/en/support/firmware-downloads/</a></p>
<p>firmware download</p>
<br>

<p><img src="https://velog.velcdn.com/images/cassis_org/post/4737e3ee-a850-4ecd-896e-b18c9cf66232/image.png" alt=""></p>
<br>


<pre><code>cd /opt/VimbaX_2023-4/bin/
./VimbaXFirmwareUpdater</code></pre><br>


<p><img src="https://velog.velcdn.com/images/cassis_org/post/186e4b05-2eaf-49c3-b16b-160976b4ff83/image.png" alt=""></p>
<br>





<p>PC 재부팅 진행</p>
<br>


<pre><code>cd /opt/VimbaX_2023-4/bin/
./VimbaXViewer</code></pre><br>

<p><img src="https://velog.velcdn.com/images/cassis_org/post/0e103826-64c9-47f5-b2b5-f98a001666f8/image.png" alt=""></p>
<br>



<p><img src="https://velog.velcdn.com/images/cassis_org/post/e94dbd6a-90e6-45ff-a26e-980cf0e56b41/image.png" alt=""></p>
<p>software trigger</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/17a2f876-ab4f-40ac-8ebb-dbe99056c135/image.png" alt=""></p>
<p>hardware trigger (GPIO)</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/30a5c4f0-54c9-4d2c-aa84-8cdd9574dfda/image.jpg" alt=""></p>
<br>

<p>[Run on ROS2]</p>
<pre><code>ros2 run vimbax_camera vimbax_camera_node</code></pre><br>

<p>view on rviz2</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/86647d81-e966-4151-a5d3-6067a0882e02/image.png" alt=""></p>
<pre><code>ros2 topic list</code></pre><br>


<p><img src="https://velog.velcdn.com/images/cassis_org/post/8119d1ef-c3db-4b8c-8560-3753639922e0/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[ROS2] logger color ]]></title>
            <link>https://velog.io/@cassis_org/ROS2-logger-color</link>
            <guid>https://velog.io/@cassis_org/ROS2-logger-color</guid>
            <pubDate>Tue, 09 Jul 2024 01:59:16 GMT</pubDate>
            <description><![CDATA[<h3 id="환경--ros2-humble-ubuntu-2204">환경 : ROS2 humble, ubuntu 22.04</h3>
<p>해당 joystick 패키지를 만들고 상한선과 하한선을 설정하고 </p>
<p>logger level 을 warn으로 설정했다.</p>
<p>개별 터미널에서 ros2 run 명령어를 이용해서 실행할때에는 
warn color인 노랑색이 잘 보이지만</p>
<p>해당 노드들을 launch file로 실행할때에는 info level과 같은
흰색으로 나타난다. </p>
<p>해결법은 두 가지가 있다.</p>
<h3 id="1-launch-file-property">1. launch file property</h3>
<pre><code class="language-python">    joystick_node = Node(
            package=&#39;joystick_py&#39;,
            executable=&#39;joy_0709&#39;,
            # name=&#39;JoyToCmd1&#39;,
            emulate_tty=True,
            remappings=[(&#39;cmd_vel&#39;, &#39;turtle1/cmd_vel&#39;)]</code></pre>
<p>emulate_tty=True 를 하여 ros2 util 속성을 활성화 해준다.</p>
<h3 id="2-환경변수-지정">2. 환경변수 지정</h3>
<pre><code class="language-bash">export RCUTILS_COLORIZED_OUTPUT=1</code></pre>
<p>해당 변수를 환경변수로 지정해준다.</p>
<p>.bashrc에 지정해주자.</p>
<pre><code class="language-bash">echo &quot;export RCUTILS_COLORIZED_OUTPUT=1&quot; &gt;&gt; ~/.bashrc</code></pre>
<p>[참고]</p>
<p><a href="https://github.com/ros2/ros2/issues/1048">https://github.com/ros2/ros2/issues/1048</a>
<a href="https://docs.ros.org/en/foxy/Tutorials/Demos/Logging-and-logger-configuration.html">https://docs.ros.org/en/foxy/Tutorials/Demos/Logging-and-logger-configuration.html</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[ubuntu] git setup]]></title>
            <link>https://velog.io/@cassis_org/ubuntu-git-setup</link>
            <guid>https://velog.io/@cassis_org/ubuntu-git-setup</guid>
            <pubDate>Mon, 08 Jul 2024 04:19:50 GMT</pubDate>
            <description><![CDATA[<h3 id="환경--ubuntu-2204-git">환경 : ubuntu 22.04, git</h3>
<br>

<h4 id="환경만들기">&lt;환경만들기&gt;</h4>
<p>원하는 디렉토리에서</p>
<pre><code class="language-bash">git init</code></pre>
<p>기존 repo와 연동</p>
<pre><code class="language-bash">git remote add orgin https://github.com/~</code></pre>
<pre><code class="language-bash">git config --global user.name &lt;name&gt;</code></pre>
<pre><code class="language-bash">git config --global user.email &lt;email&gt;</code></pre>
<pre><code class="language-bash">git config --global credential.helper cache</code></pre>
<pre><code class="language-bash">git config --global credential.helper &#39;cache --timeout=7200&#39;</code></pre>
<p><code>default는 900이다.</code></p>
<pre><code class="language-bash">git config --global credential.helper store</code></pre>
<pre><code class="language-bash">git config --global --unset cache</code></pre>
<p><code>본인 pc가 아니라면 지우는 것도 잊지 말자</code></p>
<pre><code class="language-bash">git config --global --unset store</code></pre>
<pre><code class="language-bash">git config --global --list</code></pre>
<h4 id="git-push">[git push]</h4>
<p>git add .</p>
<p>git commit -a</p>
<p>git push origin [branch_name]  </p>
<p>ex) 
git push origin main
git push origin master</p>
<p>git reset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <code>add 한 사항을 지울 수 있다.</code></p>
<p>git config pull.rebase false </p>
<p>branch 이동
git checkout 브랜치</p>
<p>로컬 branch 삭제
git branch -d </p>
<p>brach 목록</p>
<p>git branch --list</p>
<p>원격 branch 삭제
git push origin --delete 브랜치</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[ubuntu] video0 과 video1]]></title>
            <link>https://velog.io/@cassis_org/ubuntu-video0-%EA%B3%BC-video1</link>
            <guid>https://velog.io/@cassis_org/ubuntu-video0-%EA%B3%BC-video1</guid>
            <pubDate>Sat, 06 Jul 2024 15:35:28 GMT</pubDate>
            <description><![CDATA[<p>환경 : ubuntu 22.04
툴 : v4l2-utils</p>
<p>device 디렉토리에서 웹캠을 확인해보면</p>
<pre><code class="language-bash">ls /dev/video*</code></pre>
<br>
<br>


<p><img src="https://velog.velcdn.com/images/cassis_org/post/fe5a3f06-4c9d-49e1-8bfd-db45dda5929e/image.png" alt=""></p>
<br>
<br>

<p>video0 video1 두 개가 잡힌다.</p>
<p>원인을 확인해보자.</p>
<br>
<br>


<pre><code class="language-bash">sudo apt install v4l-utils</code></pre>
<pre><code class="language-bash">sudo v4l2-ctl --device=/dev/video0 --info</code></pre>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/22ac3914-7948-4fa7-bf16-910beef1047f/image.png" alt=""></p>
<pre><code class="language-bash">sudo v4l2-ctl --device=/dev/video1 --info</code></pre>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/f28b51d3-2e66-4124-ba4b-20ec252cd4e9/image.png" alt=""></p>
<br>

<p>video1은 해당 웹캠에 대한 metadata를 담고있다.</p>
<p>캠이 한개 있더라도 video0, video1 이렇듯 여러개가 잡히는 이유이다.</p>
<br>
<br>

<p>[참고]</p>
<p><a href="https://forums.developer.nvidia.com/t/why-it-showed-two-devices-under-dev-for-one-camera/240682">https://forums.developer.nvidia.com/t/why-it-showed-two-devices-under-dev-for-one-camera/240682</a></p>
<p><a href="https://askubuntu.com/questions/348838/how-to-check-available-webcams-from-the-command-line">https://askubuntu.com/questions/348838/how-to-check-available-webcams-from-the-command-line</a></p>
<p><a href="https://askubuntu.com/questions/1123601/four-dev-video-entries-but-just-one-camera">https://askubuntu.com/questions/1123601/four-dev-video-entries-but-just-one-camera</a></p>
<p><a href="https://m.blog.naver.com/chandong83/221262714615">https://m.blog.naver.com/chandong83/221262714615</a></p>
<p><a href="https://devdockr.tistory.com/2299">https://devdockr.tistory.com/2299</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[ROS2] Cartographer_ros]]></title>
            <link>https://velog.io/@cassis_org/ROS2-Cartographerros</link>
            <guid>https://velog.io/@cassis_org/ROS2-Cartographerros</guid>
            <pubDate>Mon, 06 May 2024 13:56:11 GMT</pubDate>
            <description><![CDATA[<p>환경 : ubuntu 22.04, ROS2 humnle</p>
<p>HW : Velodyne-vlp16</p>
<p>ROS 공식 github에서 해당 패키지를 받는다. </p>
<p><a href="https://github.com/ros2/cartographer_ros">https://github.com/ros2/cartographer_ros</a></p>
<br>

<pre><code>backpack_3d.lua</code></pre><p>해당 파일은 configuration file로 
slam_toolbox, navigation2 패키지의 yaml 파일과 같은 역할</p>
<br>

<pre><code class="language-lua">num_point_clouds = 2-&gt;1,

TRAJECTORY_BUILDER_3D.num_accumulated_range_data = 160-&gt;1</code></pre>
<br>

<pre><code>backpack_3d.launch.py</code></pre><pre><code class="language-python">remappings = [      
            (&#39;points2_1&#39;, &#39;horizontal_laser_3d&#39;),
            (&#39;points2_2&#39;, &#39;vertical_laser_3d&#39;)],
</code></pre>
<p>를</p>
<pre><code class="language-python">remappings = [      
            (&#39;points2&#39;, &#39;velodyne_pointcloud&#39;),
            (&#39;imu&#39;, &#39;imu/data&#39;)],</code></pre>
<p>cartographer_ros에서 3D mapping시 imu는 필수적이다.</p>
<p>차주 갱신 예정</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Teensy 4.0] Arduino 2.3.2 with micro-ros]]></title>
            <link>https://velog.io/@cassis_org/Teensy-4.0-Arduino-2.3.2-with-micro-ros</link>
            <guid>https://velog.io/@cassis_org/Teensy-4.0-Arduino-2.3.2-with-micro-ros</guid>
            <pubDate>Mon, 29 Apr 2024 05:21:32 GMT</pubDate>
            <description><![CDATA[<p>환경: ubuntu 22.04, ROS2 humble, amd64</p>
<p>앞선 1.8.19 버전과 겹치는 내용은 생략</p>
<br>

<h3 id="1-arduino">1. arduino</h3>
<br>


<p><a href="https://www.arduino.cc/en/software">https://www.arduino.cc/en/software</a></p>
<p>arudino 2.3.2 appimage 다운로드</p>
<br>

<h3 id="2-teensyduino">2. teensyduino</h3>
<br>

<p><a href="https://www.pjrc.com/teensy/td_download.html">https://www.pjrc.com/teensy/td_download.html</a></p>
<pre><code>&gt; 2.0.X 이상 버전은 이렇게 설치하란다. 위 페이지에서 상세하게 설명해준다.</code></pre><p><img src="https://velog.velcdn.com/images/cassis_org/post/7d2a8973-ea2e-44f8-a2ff-7ab1110f4259/image.png" alt=""></p>
<br>

<p>URL을 입력해주면 Board manager에서 teensy를 찾을 수 있다.</p>
<pre><code>&gt; 1.8.19와 비교했을 때 매우 간소화 되었다.</code></pre><p>오늘 기준 1.59.0(latest ver.)을 다운로드 해준다.</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/11b685d4-7167-4cde-935c-3309958feb2c/image.png" alt=""></p>
<br>

<h3 id="3-micro-ros-arduino">3. micro ros arduino</h3>
<p><a href="https://github.com/micro-ROS/micro_ros_arduino/tree/humble">https://github.com/micro-ROS/micro_ros_arduino/tree/humble</a></p>
<p>위 레포에서 버전에 맞는 branch 를 선택하고 zip 파일로 다운로드 한다.</p>
<pre><code>&gt; 이전에 https://github.com/micro-ROS/micro_ros_arduino/releases 
이상하게 여기서 humble 2.0.7를 다운로드 하고 했을 때에는 안 됐다. 
근데 이 문제가 아닐 것 같긴하다. </code></pre><br>

<p><img src="https://velog.velcdn.com/images/cassis_org/post/1a6d95b5-fc92-4b7d-af6c-3d75319f7f14/image.png" alt=""></p>
<p>보드매니저 다운로드</p>
<br>


<p>이 상태에서 라이브러리 예제에서 publish 파일을 업로드하면</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/1738ab9d-eeec-480b-b51c-31dcb7cb3789/image.png" alt=""></p>
<p>undefined error가 발생한다.</p>
<pre><code class="language-bash">cd ~/.arduino15/packages/teensy/hardware/avr/1.59.0/</code></pre>
<p>로 가서 다음 커맨드로 내용을 수정해준다.</p>
<pre><code class="language-bash">curl https://raw.githubusercontent.com/micro-ROS/micro_ros_arduino/main/extras/patching_boards/platform_teensy.txt &gt; platform.txt</code></pre>
<p>그 이후</p>
<pre><code class="language-bash">gedit plaform.txt</code></pre>
<p>위 텍스트 파일을 열어</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/5080cb4f-eeac-4265-a247-b72e643655e2/image.png" alt=""></p>
<p>1.59.0으로 바꿔준다.</p>
<br>

<p>이제 다시 예제의 publish 파일을 업로드 해주면</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/39212cbf-30a2-4b21-af59-c90d337a3c2b/image.png" alt=""></p>
<p>업로드가 잘 된다.</p>
<br>


<h3 id="4-micro-ros">4. micro ros</h3>
<p>공식 repo에서 제공하는 설치방법은 다음과 같다.</p>
<pre><code>cd ~/ros2_ws/src 
git clone -b $ROS_DISTRO https://github.com/micro-ROS/micro_ros_setup.git


sudo apt update &amp;&amp; rosdep update
rosdep install --from-paths . --ignore-src -y


sudo apt-get install python3-pip


cd ~/ros2_ws
colcon build --packages-select micro_ros_setup
source install/local_setup.bash


cd ~/ros2_ws
ros2 run micro_ros_setup create_agent_ws.sh

ros2 run micro_ros_setup build_agent.sh
source install/local_setup.bash</code></pre><br>

<pre><code>$ ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyACM0</code></pre><p>설치 후 위 커맨드를 입력하면</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/c9232957-57a8-42d4-a5ee-5f586e88a7f0/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/73fbcdd1-c218-404a-b6d5-1a44b0266020/image.png" alt=""></p>
<p>잘 작동되고 있는 걸 알 수 있다.</p>
<br>

<p>[추가]</p>
<p>docker 이용</p>
<p>domain_id 변경 (미변경시 0이 default, DOMAIM_ID=0 에서만 작동)</p>
<p>[참고]</p>
<p><a href="https://stupidly-honest.tistory.com/39">https://stupidly-honest.tistory.com/39</a></p>
<br>

<p><a href="https://www.pjrc.com/teensy/td_download.html">https://www.pjrc.com/teensy/td_download.html</a></p>
<br>

<p><a href="https://github.com/micro-ROS/micro_ros_arduino/releases?page=1">https://github.com/micro-ROS/micro_ros_arduino/releases?page=1</a></p>
<br>

<p><a href="https://huroint.tistory.com/entry/MicroROS-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EB%A1%9C%EC%8A%A4-Arduino">https://huroint.tistory.com/entry/MicroROS-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EB%A1%9C%EC%8A%A4-Arduino</a></p>
<br>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Teensy 4.0] Arduino 1.8.19 ]]></title>
            <link>https://velog.io/@cassis_org/teesy-4.0-micro-ros</link>
            <guid>https://velog.io/@cassis_org/teesy-4.0-micro-ros</guid>
            <pubDate>Sun, 28 Apr 2024 12:44:43 GMT</pubDate>
            <description><![CDATA[<p>환경: ubuntu 22.04, ROS2 humble, 64bit</p>
<br>

<p><a href="https://www.arduino.cc/en/software">https://www.arduino.cc/en/software</a></p>
<p>arudino 1.8.13 다운로드</p>
<pre><code>&gt; 1.8.19 는 실패. 이유는 모름</code></pre><p>zip파일 압축해제 후 arduino-1.8.13 폴더로 가서 설치</p>
<pre><code>&gt; sudo ./install.sh</code></pre><br>

<p><a href="https://www.pjrc.com/teensy/td_download.html">https://www.pjrc.com/teensy/td_download.html</a></p>
<p>teensyduino 다운로드</p>
<pre><code>&gt; 1.8.X 호환버전으로 다운로드 해준다.</code></pre><p>next 버튼만 클릭하다 install 누르면 설치된다.</p>
<p>요부분에서만 압축해제한 arduno 폴더로 경로를 지정해주면 된다.</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/19343aef-e8a5-4056-af6a-54708af7b8c7/image.png" alt=""></p>
<p>제공하는 rule은 다음과 같다.</p>
<pre><code class="language-bash">
# UDEV Rules for Teensy boards, http://www.pjrc.com/teensy/
#
# The latest version of this file may be found at:
#   http://www.pjrc.com/teensy/00-teensy.rules
#
# This file must be placed at:
#
# /etc/udev/rules.d/00-teensy.rules    (preferred location)
#   or
# /lib/udev/rules.d/00-teensy.rules    (req&#39;d on some broken systems)
#
# To install, type this command in a terminal:
#   sudo cp 00-teensy.rules /etc/udev/rules.d/00-teensy.rules
#
# After this file is installed, physically unplug and reconnect Teensy.
#
ATTRS{idVendor}==&quot;16c0&quot;, ATTRS{idProduct}==&quot;04*&quot;, ENV{ID_MM_DEVICE_IGNORE}=&quot;1&quot;, ENV{ID_MM_PORT_IGNORE}=&quot;1&quot;
ATTRS{idVendor}==&quot;16c0&quot;, ATTRS{idProduct}==&quot;04[789a]*&quot;, ENV{MTP_NO_PROBE}=&quot;1&quot;
KERNEL==&quot;ttyACM*&quot;, ATTRS{idVendor}==&quot;16c0&quot;, ATTRS{idProduct}==&quot;04*&quot;, MODE:=&quot;0666&quot;, RUN:=&quot;/bin/stty -F /dev/%k raw -echo&quot;
KERNEL==&quot;hidraw*&quot;, ATTRS{idVendor}==&quot;16c0&quot;, ATTRS{idProduct}==&quot;04*&quot;, MODE:=&quot;0666&quot;
SUBSYSTEMS==&quot;usb&quot;, ATTRS{idVendor}==&quot;16c0&quot;, ATTRS{idProduct}==&quot;04*&quot;, MODE:=&quot;0666&quot;
KERNEL==&quot;hidraw*&quot;, ATTRS{idVendor}==&quot;1fc9&quot;, ATTRS{idProduct}==&quot;013*&quot;, MODE:=&quot;0666&quot;
SUBSYSTEMS==&quot;usb&quot;, ATTRS{idVendor}==&quot;1fc9&quot;, ATTRS{idProduct}==&quot;013*&quot;, MODE:=&quot;0666&quot;

#
# If you share your linux system with other users, or just don&#39;t like the
# idea of write permission for everybody, you can replace MODE:=&quot;0666&quot; with
# OWNER:=&quot;yourusername&quot; to create the device owned by you, or with
# GROUP:=&quot;somegroupname&quot; and mange access using standard unix groups.
#
# ModemManager tends to interfere with USB Serial devices like Teensy.
# Problems manifest as the Arduino Serial Monitor missing some incoming
# data, and &quot;Unable to open /dev/ttyACM0 for reboot request&quot; when
# uploading.  If you experience these problems, disable or remove
# ModemManager from your system.  If you must use a modem, perhaps
# try disabling the &quot;MM_FILTER_RULE_TTY_ACM_INTERFACE&quot; ModemManager
# rule.  Changing ModemManager&#39;s filter policy from &quot;strict&quot; to &quot;default&quot;
# may also help.  But if you don&#39;t use a modem, completely removing
# the troublesome ModemManager is the most effective solution.

</code></pre>
<p>00-teensy.rules 파일을 하나 만들어 주고</p>
<pre><code class="language-bash">sudo cp 00-teensy.rules /etc/udev/rules.d/00-teensy.rules    </code></pre>
<p>rule을 만들어준다.</p>
<br>


<p><a href="https://github.com/micro-ROS/micro_ros_arduino/blob/humble/extras/patching_boards/platform_teensy.txt">https://github.com/micro-ROS/micro_ros_arduino/blob/humble/extras/patching_boards/platform_teensy.txt</a></p>
<p>위 repo의 내용 긁어서 복붙해도 되고</p>
<pre><code class="language-bash">curl https://raw.githubusercontent.com/micro-ROS/micro_ros_arduino/main/extras/patching_boards/platform_teens.txt &gt; platform.txt</code></pre>
<p>커맨드를 날려도 된다.</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/45ac9dba-efe5-4642-bf89-1ca4a29dd5c7/image.png" alt=""></p>
<p>업로드된 모습</p>
<p>[참고]</p>
<p><a href="https://stupidly-honest.tistory.com/39">https://stupidly-honest.tistory.com/39</a></p>
<br>

<p><a href="https://www.pjrc.com/teensy/td_download.html">https://www.pjrc.com/teensy/td_download.html</a></p>
<br>

<p><a href="https://github.com/micro-ROS/micro_ros_arduino/releases?page=1">https://github.com/micro-ROS/micro_ros_arduino/releases?page=1</a></p>
<br>

<p><a href="https://huroint.tistory.com/entry/MicroROS-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EB%A1%9C%EC%8A%A4-Arduino">https://huroint.tistory.com/entry/MicroROS-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EB%A1%9C%EC%8A%A4-Arduino</a></p>
<br>

]]></description>
        </item>
        <item>
            <title><![CDATA[[ROS2 nav2] simulation test command]]></title>
            <link>https://velog.io/@cassis_org/ROS2-nav2-simulation-test-command</link>
            <guid>https://velog.io/@cassis_org/ROS2-nav2-simulation-test-command</guid>
            <pubDate>Fri, 19 Apr 2024 07:30:03 GMT</pubDate>
            <description><![CDATA[<pre><code>ros2 launch nav_lv subpub.launch.py


ros2 launch turtlebot3_navigation2 navigation2.launch.py use_sim_time:=True


ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py


ros2 topic pub /rlrobot_goal std_msgs/msg/String &#39;data: x = 0.1 y = 0.2&#39; -1</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[[ros2 bag] DDS 설정]]></title>
            <link>https://velog.io/@cassis_org/ros2-bag-DDS-%EC%84%A4%EC%A0%95</link>
            <guid>https://velog.io/@cassis_org/ros2-bag-DDS-%EC%84%A4%EC%A0%95</guid>
            <pubDate>Fri, 19 Apr 2024 07:04:20 GMT</pubDate>
            <description><![CDATA[<p>환경: ubuntu 22.04, ros2 humble, cyclonedds</p>
<br>

<p>가제보 오류 시</p>
<p>. /usr/share/gazebo/setup.sh</p>
<br>


<p>ros2 nav2 navigation 프로젝트</p>
<p>최종 버전 배포 전 ros2 bag 패키지도 추가하려고 했으나</p>
<p>실행하자 다음과 같은 오류가 발생했다.</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/cf482e7b-4511-4d95-8f08-9458ce3c2b5e/image.png" alt=""></p>
<br>

<p>ros2 bag을 마지막에 추가했기 때문에 
운좋게도 원인이 bag 때문임을 바로 알 수 있었다.</p>
<br>

<p>원인은 cyclondedds와 rosbag 간의 충돌이었다.</p>
<p>해결방법은 다음과 같다.</p>
<br>


<p>home 디렉토리에 &lt;폴더&gt;/&lt;xml파일&gt; 을 만들어 준다.</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/2d1f7e4c-1482-4553-a39b-8631f86ca16c/image.png" alt=""></p>
<pre><code class="language-html">&lt;CycloneDDS&gt;
  &lt;Domain&gt;
    &lt;General&gt;
      &lt;AllowMulticast&gt;false&lt;/AllowMulticast&gt;
    &lt;/General&gt;
    &lt;Discovery&gt;
      &lt;ParticipantIndex&gt;auto&lt;/ParticipantIndex&gt;
      &lt;MaxAutoParticipantIndex&gt;1000&lt;/MaxAutoParticipantIndex&gt;
    &lt;/Discovery&gt;
  &lt;/Domain&gt;
&lt;/CycloneDDS&gt;</code></pre>
<br>

<p>위 코드를 넣어준다.</p>
<br>

<p><img src="https://velog.velcdn.com/images/cassis_org/post/1bec707e-e1dc-48d4-a757-2a18d1c00835/image.png" alt=""></p>
<br>



<pre><code>export CYCLONEDDS_URI=&quot;file://$HOME/CycloneDDS/my_config.xml&quot;</code></pre><p>.bashrc에 위 코드를 추가한다.</p>
<p><img src="https://velog.velcdn.com/images/cassis_org/post/0c410a8a-8e3c-485e-a57b-4f1c2360bfcd/image.png" alt=""></p>
<br>

<p>오류가 발생한 이유는 제작한 navigation 패키지 내부에서 몇몇 토픽이 다중으로 pub / sub 되는 구조이다.</p>
<p>multicast : 1 vs n 통신</p>
<p>broadcast : n vs n 통신</p>
<p>multicast 에서 broadcast 로 바꿔준다.</p>
<br>

<p>dds 버전 확인</p>
<pre><code>dpkg -l | grep dds</code></pre><br>


<p><img src="https://velog.velcdn.com/images/cassis_org/post/75cf3b11-21bb-4a25-a636-4bd3c1a3f984/image.png" alt=""></p>
<p>참고 : </p>
<p><a href="https://answers.ros.org/question/408754/ros2-galacitc-failed-to-find-a-free-participant-index-for-domain/">https://answers.ros.org/question/408754/ros2-galacitc-failed-to-find-a-free-participant-index-for-domain/</a></p>
<p><a href="https://cyclonedds.io/docs/cyclonedds/latest/config/index.html">https://cyclonedds.io/docs/cyclonedds/latest/config/index.html</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[NVIDIA] Jetson Orin AGX developer kit 64bit SDK MANAGER]]></title>
            <link>https://velog.io/@cassis_org/NVIDIA-Jetson-Orin-AGX-developer-kit</link>
            <guid>https://velog.io/@cassis_org/NVIDIA-Jetson-Orin-AGX-developer-kit</guid>
            <pubDate>Wed, 17 Apr 2024 08:44:12 GMT</pubDate>
            <description><![CDATA[<br>

<pre><code>HOST PC에 SDKMANAGER 를 설치한다.</code></pre><p><a href="https://developer.nvidia.com/sdk-manager">https://developer.nvidia.com/sdk-manager</a></p>
<br>

<pre><code>Jetson series 별 호환 Jetpack 버전을 확인한다.

Orin AGX developer의 경우 Jetpack 6.0까지 지원한다.</code></pre><p><a href="https://developer.nvidia.com/embedded/jetpack-archive">https://developer.nvidia.com/embedded/jetpack-archive</a></p>
<br>

<pre><code>20.04 ros noetic 환경이므로 선택한 버전은 JetPack 5.1.3</code></pre><br>

<pre><code>host PC 에서 SDK manager 를 실행한다.</code></pre><br>



<pre><code>$ sdkmanager</code></pre><br>


<pre><code>   sdkmanager는 NVIDIA 로그인을 필요로 한다.

NVIDIA 회원가입이 선행되어야 한다.</code></pre><br>

<p><img src="https://velog.velcdn.com/images/cassis_org/post/d1be7534-7adb-494e-97ea-481d73cd6f51/image.png" alt=""></p>
<pre><code>로그인 후 화면이다.
step1 이라고 명시되어 있다.</code></pre><br>

<pre><code>jetson pc 연결은 언제든 해도 상관없다.

설치를 할 수 있는 상황이라면 host pc와 agx orin을 바로 연결해준다.

agx orin에 전원은 들어가지만 부팅상태가 아니어야 한다. 

autopower(전원인가시자동부팅)이 기본세팅으로 되어있는 듯하다.

agx orin을 다시 끄고 진행한다.

이제 agx orin을 복구모드 상태로 만들어야한다.

가운데 reset 버튼을 누른 상태에서 동시에 전원버튼을 눌렀다가 동시에 떼준다.

LED가 켜지지만, 전원버튼만 눌렀을때 처럼 부팅은 되지 않는다.

그 상태에서 host pc와 연결하면 host pc와 usb 연결이 된다.

$ lsusb

를 통해서 확인할 수 있다.

연결이 되면 step1화면 의 Target Hardware에서 직접 선택할 필요없이

선택창이 나온다.

AGX Orin development kit 64bit를 선택한다.

위에서 언급했듯이 JetPack 버전에 따라 호환되는 ubuntu 버전이 결정된다.

JetPack 6.0 DP는 22.04를 지원한다.

(저는 20.04를 사용할 것이므로 5.1.3을 선택했습니다.

DeepStream은 옵션이지만 설치해주자.</code></pre><br>

<p><img src="https://velog.velcdn.com/images/cassis_org/post/33f5d06b-d663-4a02-92dd-28d8139788d4/image.png" alt=""></p>
<br>

<pre><code>step2 화면이다.

2가지 체크 박스가 있다.


ㅁ I accept the terms and conditions of the license agreements

ㅁ Download now. Install later.


첫번째 박스는 당연하게도 설치를 하기위해서 필수적으로 체크해야하는 라이센스 계약이다.


두번째 박스는 offline 설치를 위한 옵션이다. 

현재 AGX와 바로 연결할 수 없는 상황이거나 설치를 하지 않고 싶은 경우 체크해준다.

체크한다면 download만 진행이 된다. 이 파일 그대로 다른 host pc에 옮겨서 진행이 가능하다.


agx에 바로 설치하려는 경우 체크하지 않는다.

이대로 continue를 눌러준다.

체크박스 위의 디렉토리 설정을 하지 않았다면 경고 메세지가 나온다.

   동시에 자동으로 해당 경로에 다운로드 폴더와 설치 폴더를 만들어준다.

두 번의 경고창 모두 ok를 눌러준다.</code></pre><br>

<pre><code>step3 화면이다

AGX orin을 연결한 상태라면 setup menu가 나오지 않는다.

preconfig는 host pc에서 설정한 username과 password가 agx에 바로 적용되어

로그인 화면이 나올 것이다.


runtime을 선택하면 agx에서 ubuntu를 설치할 때 처럼 먼저 username과 password를 결정하는 화면이 나온다. 

Download가 완료되면 자동으로 installer이 시작된다.

Jetson Linux Image가 설치가 완료되면 설치가 진행되는 와중에 AGX가 자동으로 부팅된다.

그리고 해당 화면이 나오게 된다.</code></pre><p><img src="https://velog.velcdn.com/images/cassis_org/post/83a3a3c2-a50f-4837-a3cc-31ae5725616c/image.png" alt="">
<br></p>
<pre><code>해당 module(AGX)에 우분투 이미지가 설치 완료되었고 부가 설치를 위해 통신을 하는 단계이다. 



agx의 로그인 화면이 나올때까지 기다려주면 연결이 된다.
(로그인 화면이 나오기 전까지는 연결이 되지 않습니다.)


설치가 완료되면 아래 화면이 나오게 된다.</code></pre><p><img src="https://velog.velcdn.com/images/cassis_org/post/581932a3-756b-4aaf-aeb0-8d379d42a751/image.png" alt=""></p>
<pre><code>(agx와 연결하지 않고 host pc만으로 재연 중입니다..
진행 과정에서의 화면, 설치 완료화면이 실제와 다를 수 있습니다.)</code></pre><br>
<br>
<br>
<br>
<br>



]]></description>
        </item>
        <item>
            <title><![CDATA[[ROS2] bag]]></title>
            <link>https://velog.io/@cassis_org/ROS2-bag</link>
            <guid>https://velog.io/@cassis_org/ROS2-bag</guid>
            <pubDate>Sat, 13 Apr 2024 02:53:02 GMT</pubDate>
            <description><![CDATA[<p>환경: ubuntu 20.04, ROS2 FOXY</p>
<p>python launch 파일에서 실행할 때 
<br>
NODE 형식으로는 지원을 안하는 것 같다.</p>
<pre><code>    rosbag_node = Node(
    package=&#39;bag&#39;,
    executable=&#39;bag&#39;,
    name=&#39;bag&#39;,
    arguments=[&#39;-a&#39;, ],</code></pre><br>


<p>ExecuteProcess 형식으로 만들어준다.</p>
<pre><code>    return LaunchDescription(
    [
        # robot_state_publisher_node,
        # joint_state_publisher_node,
        # joint_state_publisher_gui_node,
        # rviz_node,
        ExecuteProcess(
        cmd=[&#39;ros2&#39;, &#39;bag&#39;, &#39;record&#39;, &#39;-a&#39;],
        output=&#39;screen&#39;
    )
    ]
)</code></pre><br>


<p>요런식으로</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[NVIDIA] Jetson AGX Orin developer kit]]></title>
            <link>https://velog.io/@cassis_org/NVIDIA-Jetson-AGX-Orin-developer-kit</link>
            <guid>https://velog.io/@cassis_org/NVIDIA-Jetson-AGX-Orin-developer-kit</guid>
            <pubDate>Sat, 13 Apr 2024 02:48:36 GMT</pubDate>
            <description><![CDATA[<p>지원 OS : ubuntu 20.04</p>
<br>

<p>우분투 설치 후</p>
<pre><code>sudo apt dist-upgrade</code></pre><br>   

<pre><code>sudo apt install nvidia-jetpack</code></pre><br>

<pre><code>sudo reboot</code></pre><br>]]></description>
        </item>
        <item>
            <title><![CDATA[[ROS2]  joystick]]></title>
            <link>https://velog.io/@cassis_org/ROS2-joystick</link>
            <guid>https://velog.io/@cassis_org/ROS2-joystick</guid>
            <pubDate>Sun, 31 Mar 2024 08:48:53 GMT</pubDate>
            <description><![CDATA[<p>ps4 모델</p>
<p><a href="https://github.com/FurqanHabibi/joystick_ros2">https://github.com/FurqanHabibi/joystick_ros2</a></p>
<p>위 패키지로 실행가능하다.</p>
<p>기존 로지텍 F701 모델에서 data frog ps4 로 변경 중</p>
<p>상단부에 터치패드가 있다. </p>
<p>마우스로 사용가능하다.</p>
<p>usb 동글이 따로 없는 모델이고 블루투스로 연결가능하다.</p>
<p>[진행상황]</p>
<p>데스크톱 환경에서 페어링 및 데이터 확인 완료</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[ROS2] python parameter]]></title>
            <link>https://velog.io/@cassis_org/ROS2-python-parameter</link>
            <guid>https://velog.io/@cassis_org/ROS2-python-parameter</guid>
            <pubDate>Sun, 31 Mar 2024 08:42:52 GMT</pubDate>
            <description><![CDATA[<p><a href="https://github.com/RLmodel/sample_code">https://github.com/RLmodel/sample_code</a></p>
<p>위 링크에서 해당 내용 확인 가능</p>
<br>


<p>요약 : cmd_vel을 launch file에서 변경</p>
<br>

<p>문제점 : </p>
<p>패키지 환경은 ament_python. --symlink-install로 빌드해도 
launch파일 내용 수정 시 적용 X</p>
<br>

]]></description>
        </item>
        <item>
            <title><![CDATA[[python] pyinstaller & pyqt5 & arduino serial]]></title>
            <link>https://velog.io/@cassis_org/python-pyinstaller-pyqt5-arduino-serial</link>
            <guid>https://velog.io/@cassis_org/python-pyinstaller-pyqt5-arduino-serial</guid>
            <pubDate>Sun, 31 Mar 2024 08:29:15 GMT</pubDate>
            <description><![CDATA[<p>환경 : ubuntu 22.04, pyinstaller, pyqt5, arduino nano</p>
<pre><code>pip install pyinstaller

pip install pyqt5</code></pre><br>


<pre><code>pyinstaller -F control_cmd.py</code></pre><br>

<p>control_cmd.spec 파일 내용 중
<br></p>
<pre><code>data=[], </code></pre><p>이 부분을
<br></p>
<pre><code>datas=[(&#39;sv.ui&#39;, &#39;.&#39;)],</code></pre><p>(&#39;filename&#39;,&#39;.&#39;) 이런 형태로 바꿔준다.
<br></p>
<p>이후 </p>
<pre><code>pyinstaller control_cmd.spec</code></pre><br>


<pre><code> &gt; 이미 --onfile(-F) 로 만들었기 때문에 추가적인 -F --onefile     명령어는 듣지 않는다.</code></pre><br>

<p>실행 파일 크기가 꽤나 크기 때문에 (이번의 경우 47MB)</p>
<p>git lfs를 통해 해당 repo에 저장한다.
<br></p>
<p><a href="https://github.com/RLmodel/KIRIA_TRmini1/tree/main/lift_column_demo">https://github.com/RLmodel/KIRIA_TRmini1/tree/main/lift_column_demo</a></p>
<p>위 링크에서 해당 내용 확인 가능</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[ROS2] smc-2000, smc+]]></title>
            <link>https://velog.io/@cassis_org/ROS2-smc-2000-smc</link>
            <guid>https://velog.io/@cassis_org/ROS2-smc-2000-smc</guid>
            <pubDate>Sun, 31 Mar 2024 08:23:57 GMT</pubDate>
            <description><![CDATA[<p><a href="https://synerex.tistory.com/29">https://synerex.tistory.com/29</a>
씨너렉스 블로그에서 ros / ros2 연동 매뉴얼을 배포한다.</p>
<br>


<p>ublox F9P을 기반이므로 ros2 환경에서도 같은 패키지(ublox-f9p)로 실행 가능하다.</p>
<br>

<p><a href="https://github.com/ros-agriculture/ublox_f9p">https://github.com/ros-agriculture/ublox_f9p</a></p>
<p>smc-2000과 smc+를 이용한 heading 값은 </p>
<pre><code>ros2 topic echo smc_plus/relposned/rel_pos_heading</code></pre><br>
위 토픽으로 확인할 수 있다.


<br>
<br>
<br>

<p>[현재 상황]
<br></p>
<p>1) 2000과 + 둘 중 하나라도 RTK가 아니면 heading값을 받아 오지 못한다.</p>
<p>2) 2000과 + 의 USB 벤더(VID, PID)가 일치해서 rules.d에서 정의하기 어렵다.</p>
<p>3) robot_localization 패키지와는 아직 엮지 않은 상황</p>
<pre><code>&gt; map -&gt; odom</code></pre>]]></description>
        </item>
    </channel>
</rss>