[군집 주행을 하고 싶은 자동차]

작성자
박재현
작성일
2021-11-25 21:46
조회
578

군집 주행을 하고 싶은 자동차 - 친구를 찾아보자!

군집 주행 자동차 팀(박재현, 강오령, 오승준, 박용현)



직접 설계하고, 출력한 RC카를 내부 네트워크가 아닌 외부에서 카메라와 터치패드를 이용해 원격조종이 가능하도록 만들었습니다.  관람객들은 원격조종을 통해 동아리방 내부를 살펴보고, 공학관 내부를 돌아다닐 수 있습니다.


하드웨어

Jetson Nano를 이용한 JetRacer의 외형, 사용 부품을 참고하여 직접 설계 후 출력하여 RC Car를 만들었습니다.  주요 사용 부품으로는 Jetson Nano, 37-520 DC 모터, TB6612FNG 모터 드라이버, MG996R 서보모터등이 있습니다.



위 사진은 최종 설계한 자동차의 모습입니다.

Jetson Nano, 설계할 기판, 스티어링 부분, 카메라를 장착할 부분등을 생각하여 밑판을 설계하고, 여러층을 쌓아가면서 설계를 진행했습니다. 스티어링 부분의 경우에는 하임 조인트와 서보모터를 이용하여 제어했습니다. 앞 바퀴 부분은 베어링을 사용하여 마찰을 최소화하고, Align이 잘 맞도록 설계했습니다.



기판이 있는 1.5층의 경우에는 18650*3 11.1V 외부전원, 모터드라이버, Arduino Nano, 모터 전원, 11.1V to 5V로 변환해주는 컨버터를 장착했습니다.



위와 같이 회로도에 미리 납땜할 곳을 그려본 후, 납땜을 진행하였습니다. 모든 연결 부위는 편의성을 위하여 커넥터를 사용했습니다.


소프트웨어

Jetson Nano의 Jetpack 4.6 및 ROS Melodic을 사용하였고, Arduino IDE를 사용하여 개발을 진행하였습니다.

기본적인 세팅을 완료하고, ROS Melodic을 Jetson Nano에 설치하고, rosserial 패키지를 먼저 설치하여 arduino에서 ROS를 사용할 수 있도록 하였습니다.  서보모터와 DC 모터 제어는 pwm 제어가 편한 Arduino에서 제어를 진행하고, Jetson Nano에서 해당 Topic를 전달받으면 시리얼 통신을 이용하여 아두이노에 Topic을 전달해주게 됩니다.  해당 Topic은 외부에서 사용자가 Node-red를 통하여 전송하게 됩니다.

카메라의 경우에는 기본적으로 Raspberry Camera V2 CSI를 사용하였는데, 카메라 모듈만 제거하여 광각 카메라 모듈을 탑재하였습니다. CSI카메라를 웹 페이지에 플로팅 하기 위해서는 Jetson CSI Camera 패키지와 web_video_server 패키지가 필요합니다. Jetson CSI Camera에서 카메라와 연결되어 image_raw 토픽을 전송하면 web_video_server 노드에서 해당 토픽을 전달받아 http 서버에 매 프레임마다 갱신시켜줍니다.



이렇게 카메라 웹 페이지를 노트북으로, 조작 웹 페이지는 스마트폰으로 접속하여 터치패드를 활용하면 원격으로 RC카를 조종이 가능합니다!

27일 15시부터 게더타운에서 체험하실 수 있으니 많은 참여 부탁드립니다!


시연 영상

전체 0