Overview
Turtlebot3는 K-Community 이후로 잘 다루지 않게 되었고, 반납을 진행하였으나 다시 돌려받게 되었다.
그러나 ‘꼭 이게 필요할까?’ 라는 생각을 했었는데, 자율 주행 코드를 짜야지, 짜야지 하며 생각만 하며 머리를 끙끙 앓다가 눈에 들어온 것이 바로 이 터틀봇이었다.
시뮬레이션을 통해서 값들을 많이 조종해보고, Topic, Service, Action을 몸으로 익히는 과정을 거쳤다.
정확히는, GPU 가속을 받은 상태로 Simulation을 하면 더욱 효율적이지 않을까? 했지만, 이는 꽤나 큰 무리였던 모양이었다.
“왜요?”
-
Desktop - Window (WSL2) Gazeobo Simulation 시 GPU 가속이 할당되지 않는 오류가 발견, 구글링 후 5페이지에 가까운 해결방법들을 전부 적용해 봤지만 해결되지 않았다.
-
Desktop - Window (Docker) 위와같은 오류 발생, 해결 불가능.
-
Desktop - Linux (사용 불가) 사용하고 있는 파티션들과 용도 자체가 한정되어 있어 설령 Linux 환경을 조성해서 사용한다고 하더라도, Linux에서 원격을 실행시켜 Laptop - Desktop - ssh가 아니고선 아무런 쓸모가 없어지기에, 때려쳤다.
-
Laptop - Windows 환경을 사용할 필요 x. 현재는 Ubuntu 22.04, Ubuntu 20.04, Windows로 Triple boot를 적용시켜 사용하고 있다.
그렇게 Laptop에서 내장그래픽을 사용해 FPS 약 30정도로 준수하게 Simulation들을 해보았고, 여러 예제들을 실행시켜 보았다.
뭘 해야 하지?
사실, 그냥 뇌정지가 왔다.
Ros도 안다, Ubuntu 환경에서 커맨드를 자유자제로 사용하고, Python Programming을 준수하게 할 수 있는 수준이라고 판단했다.
그러나, 무엇을 어떻게 시작해야 하는가?
사막 한 가운데에 선 느낌이었고, 개발 환경을 조성하고 2주 가량 Turtlebot의 오류 해결 및 기본 예제들을 점검해봤다.
Trouble-Shooting
배터리 전압 인가 문제
OPENCR Battery 문제
Raspberry PI Ram 문제
각각의 문제들에 대해서는 추후에 다루도록 하겠다.
Coding
- Simulation 한 결과물
- 기초 코딩 결과물
- Topic, Publish, Subscribe를 이용한 기초 Run & Stop Drive
- Autonomous Drive
차후 해야할 일
- Action Programming
- SLAM & Navigation