【캡스톤1】 자율주행 RC카 만들기
캡스톤 수업을 위한 rpLidar + 라즈베리파이 기본 설정하기
캡스톤 수업을 위한 rpLidar + 라즈베리파이 기본 설정하기 1
1. REFERENCE
ROS 홈페이지에서 rplidar를 검색했을 때 나오는 코드 목록
라이더 드라이버 로스 패키지 목록 (위의 3개 하나하나)
- rplidar (distros = kinetic, melodic)
- rplidar driver in python (distros = indigo, jade)
- rplidar_ros - 2016년 버전이라 읽을 글 많이 없음
- Slamtec/rplidar_ros - 위와 같이 똑같은 사이트로 유도 됨
RPLIDAR and ROS programming - 블로그 설명
ROS and Hector SLAM - 블로그 설명
RPLidar_Hector_SLAM - 깃 코드
2. 읽은 내용 정리하기
Reference 읽기 순서 : 4.1 -> 5 -> 6 -> 7
(1) Ref 4.1 : rplidar
차례
1. Overview
2. ROS Nodes
- rplidarNode
- Published Topics
- Services
- Parameters
3. Device Settings
4. Launch File Examples
5. About Slamtec/RoboPeak
6. Distributor Links
7. Related Links
Overview
rplidar에 대한 기본적 설명. sensor_msgs/LaserScan형식 구조체의 메세지를 publish
SLAM based on RPLIDAR and ROS Hector Mapping 동영상 속 ROS Hector
ROS Nodes
rplidarNode - RPLIDAR 스캔 결과를 로스 메세지 형태로 publish하는 노드
Published Topics
- ‘scan’ : 스캔된 데이터의 메세지
Services
- start_motor, stop_motor 모터의 시작과 중지를 관리하는 서비스
Parameters
- ```sh
- Parameter이름 (자료형, default 값)
- serial_port (string, default: /dev/ttyUSB0) serial port name used in your system.
- serial_baudrate (int, default: 115200) serial port baud rate.
- frame_id (string, default: laser_frame) frame ID for the device.
- inverted (bool, default: false) indicated whether the LIDAR is mounted inverted.뒤집혔나
- angle_compensate (bool, default: false) indicated whether the driver needs do angle compensation. 각도 보상 필요?
- scan_mode (string, default: std::string()) the scan mode of lidar. ```
- ```sh
Device Setting
- rplidar tutorial - rplidar-ros/wiki
- rplidar basic document
- rplidar sdk - slamtec에서 재공해 줌 - SDK Git Code과 연결됨
- 위의 Ref1에서 봤던 내용이 좀더 간략히 나와 있다. 코드 실행 순서..
- 이 사진과 같이 라이더를, 자동차에 해야한다. theta와 d가 publish되는 메세지값에 나타나는 듯 하다.
- remap the USB serial port name 했을 때의 방법도 나온다. 이건 건들지 말자.
- rplidar tutorial - rplidar-ros/wiki
Launch File Examples
$ ls -l /dev |grep ttyUSB $ sudo chmod 666 /dev/ttyUSB0 1. $ roslaunch rplidar_ros view_rplidar.launch #for rplidar A1/A2 2. $ roslaunch rplidar_ros rplidar.launch $ rosrun rplidar_ros rplidarNodeClient
Ref 4.1.1 rplidar_ros 내용은 위의 rplidar tutorial 내용과 동일
(2) Ref 5 : RPLIDAR and ROS programming
3. 프로젝트 완수(중간과정 생략…)
안정적으로 프로젝트를 완수 했다.
- 완성된 RC카 이미지.
완성한 프로젝트의 소스코드는 깃에 Private로 저장해 두었다. (수업 과제이다 보니 공개적으로 오픈해두는 것은 좋지 않을 것 같아서…)
- 나름 만족스러운 결과를 얻을 수 있어서 뿌듯하고 보람찼던 경험이었다.^^