<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://libok03.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://libok03.github.io/" rel="alternate" type="text/html" /><updated>2026-03-26T22:55:34+09:00</updated><id>https://libok03.github.io/feed.xml</id><title type="html">libok03’s Blog</title><subtitle>My personal blog about development and technology.</subtitle><author><name>libok03</name></author><entry><title type="html">유럽여행기</title><link href="https://libok03.github.io/2026/03/26/%EC%9C%A0%EB%9F%BD%EC%97%AC%ED%96%89%EA%B8%B0.html" rel="alternate" type="text/html" title="유럽여행기" /><published>2026-03-26T00:00:00+09:00</published><updated>2026-03-26T00:00:00+09:00</updated><id>https://libok03.github.io/2026/03/26/%EC%9C%A0%EB%9F%BD%EC%97%AC%ED%96%89%EA%B8%B0</id><content type="html" xml:base="https://libok03.github.io/2026/03/26/%EC%9C%A0%EB%9F%BD%EC%97%AC%ED%96%89%EA%B8%B0.html"><![CDATA[<p>title:  “프랑스여행기(파리 위주)”
date: 2026-02-04 23:59:00 +0900
layout: single
categories:</p>
<ul>
  <li>Trip
Tags: 
  -</li>
</ul>]]></content><author><name>libok03</name></author><summary type="html"><![CDATA[title: “프랑스여행기(파리 위주)” date: 2026-02-04 23:59:00 +0900 layout: single categories: Trip Tags: -]]></summary></entry><entry><title type="html">UR5e + Robotiq 연동 3일차: SRDF 충돌 지옥과 끊임없는 삽질</title><link href="https://libok03.github.io/dev%20log/2026/02/04/moveit2-%EC%8B%9C%ED%96%89%EA%B8%B0.html" rel="alternate" type="text/html" title="UR5e + Robotiq 연동 3일차: SRDF 충돌 지옥과 끊임없는 삽질" /><published>2026-02-04T23:59:00+09:00</published><updated>2026-02-04T23:59:00+09:00</updated><id>https://libok03.github.io/dev%20log/2026/02/04/moveit2-%EC%8B%9C%ED%96%89%EA%B8%B0</id><content type="html" xml:base="https://libok03.github.io/dev%20log/2026/02/04/moveit2-%EC%8B%9C%ED%96%89%EA%B8%B0.html"><![CDATA[<h2 id="1-오늘의-목표-gazebo는-일단-미루고-moveit2부터">1. 오늘의 목표: Gazebo는 일단 미루고 MoveIt2부터!</h2>

<p>너무 아쉽다… 오늘은 그래도 50%는 완성할 수 있을 줄 알았는데 갈 길이 너무 먼 것 같다. 
한 번에 Gazebo와 MoveIt2를 모두 연결하는 건 현재 환경에서 태스크가 너무 과하다는 판단이 들었다. 그래서 오늘은 조금 더 난이도가 높다고 생각되는 <strong>MoveIt2 연결</strong>을 최우선 목표로 잡고 진행했다.</p>

<h3 id="환경-재정비-clean-build">환경 재정비 (Clean Build)</h3>
<p>기존에 발생하던 원인 모를 Gazebo 실행 문제를 해결하기 위해, 아예 <strong>Conda 가상환경</strong>을 새로 팠다.</p>
<ol>
  <li><code class="language-plaintext highlighter-rouge">ros2</code>, <code class="language-plaintext highlighter-rouge">gazebo</code>, <code class="language-plaintext highlighter-rouge">ur_description</code>을 순차적으로 다시 설치.</li>
  <li>기존에 작성했던 URDF를 기반으로 SRDF와 YAML 설정 파일 생성.</li>
  <li>전용 Launch 파일을 작성하여 구동 테스트 진행.</li>
</ol>

<hr />

<h2 id="2-발생한-문제-빨갛게-불타오르는-그리퍼-collision-error">2. 발생한 문제: 빨갛게 불타오르는 그리퍼 (Collision Error)</h2>

<p>기대감을 안고 실행했으나, 역시나 한 번에 될 리가 없었다. ㅠㅠ 쌰갈… 
URDF가 문제인지 SRDF가 꼬인 건지, Robotiq 그리퍼의 일부가 빨간색으로 표시되면서 <strong>Motion Planning이 실패</strong>하는 현상이 발생했다.</p>

<p><img src="../assets/images/그리퍼_양쪽_빨간색.png" alt="그리퍼 충돌 발생" /></p>

<h3 id="원인-분석-및-해결-시도">원인 분석 및 해결 시도</h3>
<p>빨갛게 뜨는 이유는 명확했다. 링크 간의 <strong>Collision(충돌)</strong> 설정이 제대로 안 된 것. 
SRDF에서 충돌 무시(<code class="language-plaintext highlighter-rouge">disable_collisions</code>) 설정을 다시 잡아줘야 했다. SRDF xacro 파일을 열어 인접 링크 간의 관계를 다시 정의하고 Rviz를 돌려보았다.</p>

<p><img src="스크린샷 2026-02-05 15-31-05.png" alt="충돌 완화 확인" /></p>

<p>오! 한쪽 그리퍼의 충돌이 잦아드는 것을 확인했다. “이거다!” 싶어 나머지 부분도 동일하게 충돌 무시 설정을 진행했는데…</p>

<hr />

<h2 id="3-새로운-복병-tf-오류와-부품-이탈">3. 새로운 복병: TF 오류와 부품 이탈</h2>

<p>결과적으로 충돌은 해결되었지만, 예상치 못한 부작용이 터졌다.</p>

<p><img src="../assets/images/스크린샷 2026-02-05 15-35-31.png" alt="그리퍼 링크 오류" /></p>

<p>SRDF를 건드렸더니 <strong>TF(Transform) 명시 부분</strong>이 꼬였는지, 그리퍼 링크가 제멋대로 움직이기 시작했다. 충돌에서 벗어났더니 이번엔 기구학적으로 로봇이 분해되는 상황.</p>

<p>부랴부랴 TF를 다시 조정하고 실행해 본 결과…</p>

<p><img src="../assets/images/스크린샷 2026-02-05 21-17-37.png" alt="부품 분리" /></p>

<p>우와! 부품만 덩그러니 떼졌다. 쌰깔! ㅠㅠ 
이 시점이 이미 밤 8시를 넘어가고 있었고, 그 와중에 자율주행 프로젝트 실험까지 다녀와야 해서 멘탈이 너덜너덜해졌다.</p>

<hr />

<h2 id="4-결론-및-향후-계획">4. 결론 및 향후 계획</h2>

<ul>
  <li><strong>현재 진행률</strong>: SRDF를 통한 충돌 해결 완료, 하지만 TF 매핑 오류 발생.</li>
  <li><strong>다음 목표</strong>: 유럽 여행 가기 전까지 URDF와 MoveIt2의 완벽한 데이터 흐름(TF 및 Planning) 완성하기.</li>
</ul>

<p>오늘은 여기까지로 만족해야겠다. 내일은 제발 부품들이 다 붙어있어 주길…</p>]]></content><author><name>libok03</name></author><category term="Dev Log" /><category term="ROS2" /><category term="MoveIt2" /><category term="Gazebo" /><category term="UR5e" /><category term="Robotiq" /><category term="TroubleShooting" /><summary type="html"><![CDATA[1. 오늘의 목표: Gazebo는 일단 미루고 MoveIt2부터!]]></summary></entry><entry><title type="html">UR5e + Robotiq 연동 3일차: SRDF 충돌 지옥과 끊임없는 삽질</title><link href="https://libok03.github.io/dev%20log/2026/02/04/%EA%B3%A0%EB%AF%BC%EB%AA%A8%EC%9D%8C.html" rel="alternate" type="text/html" title="UR5e + Robotiq 연동 3일차: SRDF 충돌 지옥과 끊임없는 삽질" /><published>2026-02-04T23:59:00+09:00</published><updated>2026-02-04T23:59:00+09:00</updated><id>https://libok03.github.io/dev%20log/2026/02/04/%EA%B3%A0%EB%AF%BC%EB%AA%A8%EC%9D%8C</id><content type="html" xml:base="https://libok03.github.io/dev%20log/2026/02/04/%EA%B3%A0%EB%AF%BC%EB%AA%A8%EC%9D%8C.html"><![CDATA[<p>오늘도 UR5e와 Robotiq을 붙잡고 한참을 씨름했다.<br />
설정 하나를 바꾸면 다른 곳에서 충돌이 터지고, SRDF를 손보면 또 다른 문제가 튀어나왔다.<br />
분명 조금씩 앞으로 가고는 있는데, 그 과정이 너무 더디고 답답해서 중간중간 내가 지금 뭘 하고 있는 건가 싶은 생각도 들었다.</p>

<p>이런 날이 계속되다 보니, 요즘은 자연스럽게 <strong>나는 어떤 사람이 되고 싶은가</strong>에 대한 고민을 자주 하게 된다.</p>

<p>나는 대학원에 가고 싶다.<br />
연구를 설계하고, 직접 부딪혀 보고, 며칠, 몇 주, 길게는 몇 달 동안 막혀 있던 일이 어느 순간 풀리는 그 과정을 좋아한다.<br />
주변 사람들도 하나같이 나에게 박사까지 해보라고 말한다.<br />
맞는 말이라고 생각한다. 가능하다면 나도 그렇게 하고 싶다.</p>

<p>물론 지금 당장 나에게 박사를 결정하라고 하면 쉽게 답하지는 못할 것 같다.<br />
아직은 내가 확신할 수 있는 단계가 아니기 때문이다.<br />
그럼에도 불구하고, <strong>어느 하나의 분야에서 정점을 찍는 것</strong>, 그리고 그 분야를 깊게 파고들어 끝내 내 것으로 만드는 일은 여전히 굉장히 매력적으로 느껴진다.</p>

<p>가끔은 자기 전에 그런 생각도 한다.<br />
내가 죽고 나면 무엇이 남을까.<br />
어쩌면 박사로서, 혹은 한 분야의 전문가로서 남긴 업적이 있다면,<br />
그건 적어도 나 자신이 쉽게 잊히지 않을 무언가가 될 수도 있지 않을까.</p>

<p>그런데 현실은 생각보다 훨씬 복잡하다.</p>

<p>나는 아직 3학년 1학기이고, 연구 분야도 완전히 정하지 못했다.<br />
자율주행부터 매니퓰레이터까지 이것저것 폭넓게 건드려 보면서 여기까지 왔지만,<br />
이번에 내가 그동안 만들었던 코드와 GitHub를 다시 천천히 돌아보면서 한 가지를 더 분명하게 느꼈다.</p>

<p><strong>내 프로젝트들은 아직 완성되지 않았다.</strong></p>

<p>분명히 해낸 것들은 있다.<br />
직접 구현해 본 것도 많고, 부딪히며 배운 것도 많다.<br />
하지만 지금 다시 보면, 아직은 어디까지나 진행형이고,<br />
“이건 내가 끝까지 완성했다”고 자신 있게 말할 수 있는 결과물은 많지 않은 것 같다.</p>

<p>그래서 더 고민하게 된다.<br />
내가 정말 연구를 하고 싶은 사람인지,<br />
아니면 단지 연구를 동경하고 있는 사람인지.<br />
내가 깊이 파고드는 사람인지,<br />
아니면 흥미가 생기면 넓게 건드리는 데서 멈추는 사람인지.</p>

<p>그래도 한 가지는 분명하다.<br />
나는 막히는 과정 자체를 싫어하면서도, 결국 그걸 뚫어내는 일을 좋아한다.<br />
오늘 같은 삽질도 힘들기는 하지만, 완전히 무의미하다고는 느껴지지 않는다.<br />
오히려 이런 시간들이 쌓이면서 내가 어떤 방향으로 가고 싶은 사람인지 조금씩 더 선명해지는 것 같기도 하다.</p>

<p>아직은 연구 분야도, 진로도, 실력도 모두 확실하지 않다.<br />
하지만 적어도 나는, 쉽게 답이 나오지 않는 문제 앞에 오래 앉아 있을 수 있는 사람이 되고 싶다.<br />
그리고 언젠가는 정말로, 하나의 분야에서 <strong>내 이름으로 남길 수 있는 무언가</strong>를 만들고 싶다.</p>

<p>오늘의 삽질이 그 길에 얼마나 의미 있는 한 걸음인지는 아직 모르겠다.<br />
다만 분명한 건, 이런 고민까지 포함해서 지금의 시간들이 결국 나를 만들어 가고 있다는 점이다.</p>]]></content><author><name>libok03</name></author><category term="Dev Log" /><category term="ROS2" /><category term="MoveIt2" /><category term="Gazebo" /><category term="UR5e" /><category term="Robotiq" /><category term="TroubleShooting" /><summary type="html"><![CDATA[오늘도 UR5e와 Robotiq을 붙잡고 한참을 씨름했다. 설정 하나를 바꾸면 다른 곳에서 충돌이 터지고, SRDF를 손보면 또 다른 문제가 튀어나왔다. 분명 조금씩 앞으로 가고는 있는데, 그 과정이 너무 더디고 답답해서 중간중간 내가 지금 뭘 하고 있는 건가 싶은 생각도 들었다.]]></summary></entry><entry><title type="html">어제에 이어서 오늘도 개 헛고생을 했다</title><link href="https://libok03.github.io/dev%20log/2026/02/04/gazebo-moveit-%ED%97%9B%EA%B3%A0%EC%83%9D.html" rel="alternate" type="text/html" title="어제에 이어서 오늘도 개 헛고생을 했다" /><published>2026-02-04T00:00:00+09:00</published><updated>2026-02-04T00:00:00+09:00</updated><id>https://libok03.github.io/dev%20log/2026/02/04/gazebo-moveit-%ED%97%9B%EA%B3%A0%EC%83%9D</id><content type="html" xml:base="https://libok03.github.io/dev%20log/2026/02/04/gazebo-moveit-%ED%97%9B%EA%B3%A0%EC%83%9D.html"><![CDATA[<p>ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 샤갈
어제에 이어서 오늘도 개 헛고생을 했다.
어느정도 srdf나 urdf에 대해 이해했다고 생각했는데 gazebo 이놈이 너무 문제다…. 오늘은 반드시 gazebo와 moveit을 연결하겠다는 의지로 컴퓨터를 켰다. 기존 UR5e 로봇과, Robotiq 2F-85 Xacro를 가지고 와서 잇고, srdf와 잇는 것까지는 매우 수월하게 진행되었고 이거 되는것 아니냐는 기대감에 부풀어 있었으나, 결과는 그렇지 않았다.</p>

<h2 id="1-작업-내용-및-발생한-에러">1. 작업 내용 및 발생한 에러</h2>
<p>먼저 robotiq가 ros2 galactic용으로 작성되어있어서 브랜치로 꺼내오고, 인터페이스도 rviz api랑 안맞아서 다시 만들었다. 이렇게 진행은 잘 됐는데, 드디어 빌드하고 런치를 했으나, gazebo가 안틀어진다… 샤갈… dll파일이 로드가 안되는거 같아서 launch 파일에서 명시적으로 다시 고치고, 빌드 했는데, 이제는 rviz도 안된다… 오늘도 한 3시간 만진거같은데 슬프다.</p>

<h2 id="2-urdf-srdf와-gazebo-연동-분석">2. URDF, SRDF와 Gazebo 연동 분석</h2>
<p>일단 gazebo는 시각화를 해야하기 때문에 매쉬와 같은 파일이 필요하다. 기본적으로는 sdf파일을 지원한다고 하는데, moveit이랑 연동하려면 왠만해서 URDF파일이 좋다고 한다. 그리고 기하학적으로 매쉬간 충돌을 무시할수 있게 해주는 등의 관계를 명시해주는 곳이 SRDF, 여기가 moveit이 쓰는 파일이다.</p>

<p>moveit은 이 두개 파일을 받아서 기획을 해주는데 이때 yaml파일을 생성해서 이를 설정해 줄 수 있다고 한다. 보통은 URDF나 Xacro파일을 따로 패키지로 만들어 놔두고 moveit패키지에서 참조하거나 gazebo 패키지에서 변경하는듯하다. (찾아보니까 대부분의 깃헙이 이런식으로 되어있다.)</p>

<h2 id="3-남은-의문점-및-향후-계획">3. 남은 의문점 및 향후 계획</h2>
<p>여기까지는 내가 아는 내용들 같은데 이제 도대체 URDF가 Gazebo랑 연결되지 않는건지, 이러면서 moveit이랑은 연결되는건지 어제는 왜 안됬는지 모르겠다. 저녁 먹으면서 머리식히고, 다시 시도해봐야겠다.</p>]]></content><author><name>libok03</name></author><category term="Dev Log" /><category term="ROS2" /><category term="Gazebo" /><category term="MoveIt2" /><category term="UR5e" /><category term="Robotiq" /><summary type="html"><![CDATA[ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 샤갈 어제에 이어서 오늘도 개 헛고생을 했다. 어느정도 srdf나 urdf에 대해 이해했다고 생각했는데 gazebo 이놈이 너무 문제다…. 오늘은 반드시 gazebo와 moveit을 연결하겠다는 의지로 컴퓨터를 켰다. 기존 UR5e 로봇과, Robotiq 2F-85 Xacro를 가지고 와서 잇고, srdf와 잇는 것까지는 매우 수월하게 진행되었고 이거 되는것 아니냐는 기대감에 부풀어 있었으나, 결과는 그렇지 않았다.]]></summary></entry><entry><title type="html">UR5e + Robotiq MoveIt2 연동 삽질… 4시간 날리고 깨달은 점</title><link href="https://libok03.github.io/dev%20log/2026/02/03/gazebo-moveit2-%EC%97%B0%EA%B2%B0%EC%8B%9C%EB%8F%84.html" rel="alternate" type="text/html" title="UR5e + Robotiq MoveIt2 연동 삽질… 4시간 날리고 깨달은 점" /><published>2026-02-03T17:00:00+09:00</published><updated>2026-02-03T17:00:00+09:00</updated><id>https://libok03.github.io/dev%20log/2026/02/03/gazebo-moveit2-%EC%97%B0%EA%B2%B0%EC%8B%9C%EB%8F%84</id><content type="html" xml:base="https://libok03.github.io/dev%20log/2026/02/03/gazebo-moveit2-%EC%97%B0%EA%B2%B0%EC%8B%9C%EB%8F%84.html"><![CDATA[<p>오늘은 진짜 역대급 삽질을 했다. Gazebo랑 MoveIt2 연결해서 Rviz2에 띄우려고 시작했는데, 4시간 동안 화면만 쳐다보다 끝날 줄이야…</p>

<h2 id="1-시작은-창대했으나-urdf-srdf-준비">1. 시작은 창대했으나… (URDF, SRDF 준비)</h2>

<p>Gazebo에 로봇 띄우려면 <strong>URDF</strong>가 필요하고, MoveIt에 연결하려면 <strong>SRDF</strong>가 필수라고 해서 작업을 시작했다. 로봇은 국룰 조합인 <strong>UR5e</strong>에 <strong>Robotiq</strong> 앤드 이펙터다.</p>

<p>원래는 <code class="language-plaintext highlighter-rouge">MoveIt Setup Assistant</code> 켜서 클릭 몇 번 하면 SRDF가 뚝딱 나와야 하는데, 내 컴퓨터 사양이 진짜… 똥컴이라 그런지 실행조차 안 된다. 결국 포기하고 그냥 되는대로 잼민이한테 SRDF 만들어달라고 던져줬더니 뭔가를 주긴 해서 이거 쓸 예정이다.</p>

<h2 id="2-error-unexpected-type-for-parameter-value-none">2. [ERROR] Unexpected type for parameter value None</h2>

<p>그렇게 만든 URDF랑 SRDF를 한 패키지에 넣고 예제 코드 살짝 변형해서 띄우려는데 바로 에러가 터졌다.</p>

<blockquote>
  <p><code class="language-plaintext highlighter-rouge">[ERROR] [launch]: Caught exception in launch: Unexpected type for parameter value None</code></p>
</blockquote>

<p>뭐가 문젠지 찾아봤는데, 알수 없는 곳에서 값을 받아야하는데 None이 들어와서 그렇다고 한다.
해결 방법도 딱히 없단다. 
<img src="/assets/images/스크린샷 2026-02-03 17-12-01.png" alt="왜 안되는데.." />
<img src="/assets/images/스크린샷 2026-02-03 17-12-27.png" alt="왜 안되냐고..." />
<img src="/assets/images/스크린샷 2026-02-03 17-16-33.png" alt="gazebo 에러" /></p>
<h3 id="데이터-흐름-분석-왜-none이-떴을까">데이터 흐름 분석 (왜 None이 떴을까?)</h3>
<ol>
  <li><strong>Input</strong>: Launch 파일이 <code class="language-plaintext highlighter-rouge">xacro</code> 명령어를 실행해서 로봇 모델을 불러옴.</li>
  <li><strong>Logic</strong>: <code class="language-plaintext highlighter-rouge">robot_description</code> 변수에 파일 내용을 담아야 하는데, 경로가 꼬였거나 파일이 비어있어서 <strong>None</strong> 값이 전달됨.</li>
  <li><strong>Output</strong>: 파라미터에 <code class="language-plaintext highlighter-rouge">None</code>이 들어가니까 로드 노드가 뻗어버림.</li>
</ol>

<p>처음엔 이상한 곳에서 XML파일이 존재한다고 해서 주변 XML 파일을 다 없애고 (사실 이 디렉토리 바로 위에 블로그 디렉토리가 존재한다.) 이거 말고도  yaml파일이 비어있다고 해서 여기도 다시 한번 다 정리했다.
이래도 문제가 안 고쳐져서 결국 런치파일을 하나하나 다 디벼보면서 다시 만드니까 고쳐지기는 했다.
근데 문제는 또 생긴다.</p>

<h2 id="3-gazebo는-왜-안-켜지는데">3. Gazebo는 왜 안 켜지는데?</h2>

<p>SRDF 연결 성공하자마자 이번엔 Gazebo가 안 켜진다. 한 6시간 만졌나? 진짜 화나서 모니터 부술 뻔했다. 
ㅠㅠㅠㅠㅠ 이정도 되면 다시 처음부터 다시 만드는게 더 싸게 먹힐거 같다…</p>

<p>현업 용어로 따지면 이건 <strong>Controller Manager랑 하드웨어 인터페이스 간의 핸드셰이킹 실패</strong>란다.</p>
<ul>
  <li><strong>데이터 흐름</strong>: <code class="language-plaintext highlighter-rouge">MoveIt (Command)</code> -&gt; <code class="language-plaintext highlighter-rouge">Controller Manager</code> -&gt; <code class="language-plaintext highlighter-rouge">Gazebo Plugin</code>.</li>
  <li>Gazebo가 로드될 때 <code class="language-plaintext highlighter-rouge">ros2_control</code> 플러그인이 로봇 관절 데이터를 제대로 못 긁어오니까 전체 프로세스가 데드락(Deadlock)에 걸린 상태인 것 같다. ROS2 만들때 잘좀 만들지 왜 이렇게 만들었을까 ㅠㅠㅠㅠ</li>
</ul>

<p>어떻게 잼민이랑 백문백답을 진행했는데 얻은 결론은 처음 부터 다시 만들기다.
지금까지 쓴 시간이 너무 아쉽지만 어쩔수 없다. 이렇게 스파게티로 쑤셔놓은 코드는 밥도 안될거고 만약 원하는 기능을 구현한다 하더라도 나중에 보면 이상한 곳에서 에러가 분명히 생길 것이다.</p>

<h2 id="4-결론-및-저장">4. 결론 및 저장</h2>

<p>오늘의 교훈: 툴이 안 되면 노가다라도 해야 하는데, 그 노가다도 데이터 흐름을 모르면 답이 없다. 4시간 삽질하고 아직 Gazebo는 못 띄웠지만, 일단 런치 파일이랑 SRDF 구조는 마스터했으니 내일은 무조건 띄운다.</p>

<p>ㅠㅠ 연구실 일도 해야하는데 며칠째 이걸로 고생하는지 모르겠다. 언젠간 URDF, Gazebo 마스터하고 다음 단계로 나갔으면 좋겠다.</p>]]></content><author><name>libok03</name></author><category term="Dev Log" /><category term="ROS2" /><category term="MoveIt2" /><category term="Gazebo" /><category term="UR5e" /><category term="트러블슈팅" /><summary type="html"><![CDATA[오늘은 진짜 역대급 삽질을 했다. Gazebo랑 MoveIt2 연결해서 Rviz2에 띄우려고 시작했는데, 4시간 동안 화면만 쳐다보다 끝날 줄이야…]]></summary></entry></feed>