YDLidar 을 ROS 에서 사용하기

지토·2022년 5월 4일
0

장비 사용 매뉴얼

목록 보기
7/8

YDLidar ROS

Youtube 시연

세팅은 링크 참고하기

튜토리얼

  1. catkin_ws/src 폴더 내에 깃 레포지토리를 복사한다.
$ git clone https://github.com/YDLIDAR/ydlidar_ros
  1. catkin_make 를 실행한다.
  2. 라이다 모델명에 맞는 launch 파일을 수정한다.

<launch>
  <node name="ydlidar_node"  pkg="ydlidar_ros"  type="ydlidar_node" output="screen" respawn="false" >
    <param name="port"         type="string" value="/dev/ttyUSB0"/>  
    <param name="baudrate"         type="int" value="128000"/>  
    <param name="frame_id"     type="string" value="base_scan"/>
    <param name="resolution_fixed"    type="bool"   value="true"/>
    <param name="auto_reconnect"    type="bool"   value="true"/>
    <param name="reversion"    type="bool"   value="false"/>
    <param name="angle_min"    type="double" value="-180" />
    <param name="angle_max"    type="double" value="180" />
    <param name="range_min"    type="double" value="0.1" />
    <param name="range_max"    type="double" value="12.0" />
    <param name="ignore_array" type="string" value="" />
    <param name="frequency"    type="double" value="8"/>
    <param name="samp_rate"    type="int"    value="5"/>
  </node>
  <node pkg="tf" type="static_transform_publisher" name="base_link_to_laser4"
    args="0.2245 0.0 0.2 0.0 0.0  0.0 /base_footprint /base_scan 40" />
</launch>

ydlidar 을 ttyUSB0 로 바꾸고
laser_scan 부분을 base_scan 으로 바꾼다.
만약에 다른 ydlidar 을 사용한다면

다음 표를 참고해서 baudrate 를 설정해 주어야 한다.

  1. roslaunch 해 준다.
roslaunch ydlidar_ros X4.launch

Error

  1. usb 포트 연결 불가
Error, cannot bind to the specified serial port [/dev/ttyUSB0] and baudrate[12800]

다른 스레드가 이미 저 포트를 사용하고 있기 때문에 발생하는 에러이다.

나의 경우에는 gps 를 사용하기 위해 /ttyUSB0 를 건드렸었는데,

$ systemctl | grep gpsd 

를 해보면 gpsdctl@ttyUSB0.service 에서 포트를 사용하고 있는 것을 확인할 수 있다.

$ systemctl stop gpsdctl@ttyUSB0.service

를 해서 스레드를 종료시켜주면 라이다가 제대로 작동하게 된다.

참고1

참고2

0개의 댓글