본문 바로가기

Theory/Lecture

AI Robot 수업 - Jetson nano에 YOLOv3 tiny ROS pkg 설치 -

이 강좌는 국민대학교에서 2021년 1월 부터 6주간 진행되는 강좌입니다. 국민대의 강좌는 여기서 마치며 그 후 단계는 경진대회를 진행하는 것입니다. 그래서 실제 수업은 5주의 기간인데, 일주일에 4시간 한 번 만나서 실습형으로 진행되다 보니, 많이 짧아서 아쉬움이 있습니다. 그래도 계속 제 블로그에서는 보다 많은 내용을 추가할 예정입니다. 

  • 이번 수업에 대한 유투브 영상 : Jetson nano에 ROS YOLOv3 tiny 패키지 설치하기

 

OMO R1mini로 진행하는 AI Robot 수업

 

www.youtube.com

  • 오늘의 수업 교재

14. YOLO 설치-v8-20210227_040051.pdf
8.21MB

위에 공유된 이번 수업자료 영상에는 한 가지 내용이 더 뒤쪽에 첨부되어 있습니다.

위 사이트가 YOLO ROS pkg를 배포하는 darknet_ros라는 사이트입니다. 위 사이트에서 yolov3-tyny에 대한 cfg 파일을 추가해야하는 불편함이 있어서 제가 다시 fork해와서 추가했습니다.

일단 로봇(혹은 나노보드)에 ssh로 접근합니다.

그리고 git clone --recursive https://github.com/PinkWink/darknet_ros 명령으로 src 폴더에서 코드를 받습니다.

그리고 빌드~~~

혹시 저렇게 cv_bridge의 어떤 include dir를 못 찾겠다는 뭐 그런 에러가 나면

위에 있는 경로의 파일로 접근해서 위에 화살표로 표기된 부분을 수정하고 저장하고 빠져나와서 다시 빌드를 수행해 봅니다.

빌드가 정상적으로 다 마쳤으면 위에 보이는 경로로 이동합니다. yolo_network_config라는 폴더에 가보면, cfg와 weights 폴더가 있는데 제가 공유한 git에서 코드를 받았다면 cfg폴더는 건드릴 것이 없고, 아니면 cfg폴더에 yolov3-tiny.cfg를 넣어주어야 합니다.

이제 weights 폴더에 가서 

위에 보이는 wget 명령으로 weight를 받습니다.  sudo wget pjreddie.com/media/files/yolov3-tiny.weights

이제 내 PC에서 roscore를 실행하고, ssh로 접근한 로봇(혹은 젯슨 나노)에서 젯슨나노 카메라를 jetson_camera.launch파일로 기동합니다.

그래서 토픽을 관찰해보면 위 그림에 표기된 main_camera/image_raw라는 토픽이 보일겁니다.

darknet_ros.launch 파일을 찾아서

위에 표기된 두 부분과 

저 부분까지 세군데의 토픽이름을 변경합니다.

그리고 config 폴더에 ros.yaml 파일을 수정합니다.

저 부분에 토픽이름을 바꿔주는 거죠.

이제 darknet_ros.launch를 실행합니다.~

일단 rqt_image_view를 실행해서 카메라 원본 토픽을 확인하구요~

아까 darknet_ros가 실행되던 터미널 화면에 디텍션 결과가 나옵니다.

호오~ 괜찮죠?^^

반응형