【캡스톤1】 자율주행 RC카 만들기

캡스톤 수업을 위한 rpLidar + 라즈베리파이 기본 설정하기

캡스톤 수업을 위한 rpLidar + 라즈베리파이 기본 설정하기 1

1. REFERENCE

  1. 로스 패키지 구동 네이버 블로그

  2. 로스란? 아두이노란? 아두이노에 Lidar데이터를 가져오는 코드는 여기에

  3. ROS 홈페이지에서 rplidar를 검색했을 때 나오는 코드 목록

    image-20200524194150672

  4. 라이더 드라이버 로스 패키지 목록 (위의 3개 하나하나)

    1. rplidar (distros = kinetic, melodic)
    2. rplidar driver in python (distros = indigo, jade)
    3. rplidar_ros - 2016년 버전이라 읽을 글 많이 없음
  5. RPLIDAR and ROS programming - 블로그 설명

  6. ROS and Hector SLAM - 블로그 설명

  7. 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
  1. Overview

    rplidar에 대한 기본적 설명. sensor_msgs/LaserScan형식 구조체의 메세지를 publish

    SLAM based on RPLIDAR and ROS Hector Mapping 동영상 속 ROS Hector

  2. ROS Nodes

    • rplidarNode - RPLIDAR 스캔 결과를 로스 메세지 형태로 publish하는 노드

      • Published Topics

        • ‘scan’ : 스캔된 데이터의 메세지
      • Services

        • start_motor, stop_motor 모터의 시작과 중지를 관리하는 서비스
      • Parameters

        • ```sh
          1. Parameter이름 (자료형, default 값)
          2. serial_port (string, default: /dev/ttyUSB0) serial port name used in your system.
          3. serial_baudrate (int, default: 115200) serial port baud rate.
          4. frame_id (string, default: laser_frame) frame ID for the device.
          5. inverted (bool, default: false) indicated whether the LIDAR is mounted inverted.뒤집혔나
          6. angle_compensate (bool, default: false) indicated whether the driver needs do angle compensation. 각도 보상 필요?
          7. scan_mode (string, default: std::string()) the scan mode of lidar. ```
  3. Device Setting

    • rplidar tutorial - rplidar-ros/wiki
      • rplidar basic document
      • rplidar sdk - slamtec에서 재공해 줌 - SDK Git Code과 연결됨
      • 위의 Ref1에서 봤던 내용이 좀더 간략히 나와 있다. 코드 실행 순서.. image-20200524204312223
      • 이 사진과 같이 라이더를, 자동차에 해야한다. theta와 d가 publish되는 메세지값에 나타나는 듯 하다.
      • remap the USB serial port name 했을 때의 방법도 나온다. 이건 건들지 말자.
  4. 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카 이미지.
    image

완성한 프로젝트의 소스코드는 깃에 Private로 저장해 두었다. (수업 과제이다 보니 공개적으로 오픈해두는 것은 좋지 않을 것 같아서…)

  • 나름 만족스러운 결과를 얻을 수 있어서 뿌듯하고 보람찼던 경험이었다.^^

© All rights reserved By Junha Song.