ROS에서 UART 통신하기 (아두이노, GPS)
Communication through UART(Universal Asynchronous receiver/transmitter) In ROS
아두이노와 같은 MCU의 경우 Uart 통신을 많이 이용하곤 한다. 많은 센서들 또한 UART 지원하여 편리하게 서로 이어줄 수 있는데, ROS의 경우엔 따로 패키지를 설치해주어야 통신을 지원한다. GNSS 장치에서 지원하는 uart와 uart to usb 를 통해 ubuntu PC에서 정보를 받을 수 있도록 하는 시스템을 어떻게 구성했는지 확인하고 설치 과정을 기록해 보도록 하겠습니다.
1. 시리얼통신 패키지 설치하기
$ sudo apt-get install ros-kinetic-serial
2. catkin_ws/src 에서 폴더 생성하기
$ cd /catkin_ws/src/
$ mkdir serial-example
3. 예제코드 다운로드받기
serial 라이브러리를 이용해 ROS에서 시리얼 데이터 수신을 구현한 예제들을 다운받습니다.
https://github.com/garyservin/serial-example
$ git clone https://github.com/garyservin/serial-example.git
4. 우분투에서 USB연결되어있는 포트 확인하기
$ dmesg | grep tty
5. serial-example/src 폴더의 serial_example_node.cpp에서 설정값 수정하기 (보드레이트, 포트)
ser.setPort("/dev/ttyACM0"); // USB0로 바꿔주기
ser.setBaudrate(9600);
6. 빌드하기
$ cm
7. 권한 설정하기
$ sudo chmod 766 /dev/ttyUSB0
8. 데이터 Publish 하는 노드 실행하기
$ roscore
$ rosrun serial_example serial_example_node
$ rostopic list
다음의 명령어로 전송되고 있는 토픽을 확인해볼 수 있습니다.
하드웨어 구성은 다음과 같습니다.
출처
enssionaut.com/board_robotics/906
'Autonomous Vehicle > ROS programming' 카테고리의 다른 글
Ubuntu 16.04 에서 Docker 를 사용하여 Cuda 9.0, Cudnn 7.0 으로 환경 설정하고 Tensorflow 1.8 을 Source에서 설치하기 (0) | 2021.09.06 |
---|---|
ROS TOPIC 이름, Frame id 바꾸기 BAG_TOOLS 활용하기 (0) | 2021.03.02 |
KITTI Data set 이용하여 ROSBAG 파일 만들기 (0) | 2020.08.26 |
[ROS 시뮬레이터] Autonomous Car Simulator : Carla 환경 구성 및 설치 / 기본 예제 살펴보기 (trouble shooting failed) (1) | 2020.08.15 |
ROS에서 이미지, 동영상 Publish 하기 (0) | 2020.08.12 |