~2/21
이때까지 URDF 공부를 진행했다.
공부를 하다 보니, Gazebo Simulation 환경에서 GPU 가속을 사용하고 싶었다.
Desktop이 RTX3080을 사용하고 있었기에, 내장 그래픽을 사용하는 노트북 보다는 이 편이 나을 것 같았다.
그러나, Docker 환경을 통해 Windows 환경에서 Foxy를 통해 Gazebo를 실행한 결과, 아래와 같은 결과가 나왔다.

CPU 사용량이 하나 코어 기준 94%, 두개 사용 시 150% 이상 사용되며 프레임이 10 이하로 출력되었다.
이 문제는 Nvidia Driver, CUDA 미설치라는 이야기가 많았다.
그렇기에, CUDA와 Nvidia Driver을 Setup하고, Nvidia-smi 명령어를 통해 정상적으로 RTX3080 인식을 시켰다.

그러나 혁조 쪽에서는 정상적으로 작동되었고, 사용하고 있는 Process 내용을 정상적으로 인식하고 있었다.
내 쪽에서는 전혀 되지 않아서, 또 다른 방법을 강구해보고 구글링을 계속해서 해 보았다.
~2/23
Jetson Tx2 Setup을 완료했다.
소요 시간은 약 3시간 30분 정도.
Nvidia Docker에 대해서는 계속해서 공부를 진행했다.
처음으로 시도해본 방식은, WSL2를 사용해 직접적으로 설치해서 쓰는 것.
기존에는 컴퓨터 - WSL2(Ubuntu 20.04) - Nvidia-Docker - Foxy(Ubuntu 20.04) - Gazebo 였다면,
이번에는 중간에 Nvidia-Docker과 Foxy를 제거해 보기로 했다. 즉, WSL2을 통해 바로 Gazebo를 실행시키는 과정으로 변경하겠다는 뜻이다.
그렇게, 내 Desktop에 설치를 했고, Foxy Setup 과정을 거쳤다.
그 결과 Gazebo에서 FPS는 1~2 정도가 출력되었다.
CUDA, Nvidia Driver은 정상적으로 설치했고, RTX 3080도 인식을 잘 했으나, 해결되지 않았다.
이 문제를 해결하겠다고 이틀, 삼일 넘게 매달렸으나 수확은 없었다.
이 시기에, 이미 URDF는 하드웨어 팀에서 넘어온 상태였다.
~2/25

결국 나는 GPU 가속이 되지 않는 오류를 극복하지 못했다.
그래서, 다시 내장그래픽인 노트북으로 돌아가기로 했다.
프레임이 적게 나오더라도, 1~2 FPS보다는 나을 것이기 때문에,
추후에 문제가 발생한다면 다시 돌아오기를 기약했다.
노트북에서 URDF 파일을 받고 실행을 했으나, 역시나 문제가 발생했다.
ament_cmake 기반의 C 기반 패키지로 솔리드웍스에서 URDF가 도착하는데, 이는 ROS1 파일 기준이다.
ROS2 기준에서는 URDF 작성 방식은 동일하나, Package.xml과 setup.py 파일을 수정할 필요가 있었다.
파일을 수정하고, 실행한 결과 정상 출력이 되었으나 로봇의 형체가 나타나지 않았다.

로봇의 형체가 나타나지 않고, TF만 나타났다.
Gazebo에서는 심지어 멈춰버렸다.
아마도 STL을 불러오는 과정에서 내가 GPU가 없어서 그런가? 하고 혁조에게 전송했다.
그러나 혁조 역시 아래와 같은 사진이 뜨며 오류가 발생했다.

아아악!!!
이 문제를 어떻게 해결해야 할지 계속해서 연구하고 고민해 보겠다.
만약, 정 안된다면 Launch파일 만들기를 먼저 진행해야 할지도 모른다는 생각이 들었다.
보드 제어하는 방식에서 분명 배울 것이 있을 것이기 때문이다.