ROS2 Galactic에서 YDLIDAR 사용
개요
YDLIDAR의 ROS2 패키지를 사용하여 Galactic에서 YDLIDAR를 이동하는 방법에 대한 메모
운영 환경
OS: ubuntu20.04.3LTS
YDLIDAR : YDLiDAR X2
ROS2 : Galactic
YDLidar SDK 설치
이 리포지토리에서 YDLidar-SDK
를 복제하여 설치
$ cd
$ git clone https://github.com/YDLIDAR/YDLidar-SDK
$ cd YDLidar-SDK/build
$ cmake ..
$ make
$ sudo make install
YDLIDAR ROS2 Driver 설치
작업 공간 만들기
$ cd
$ mkdir -p ~/ydlidar_ros2_ws/src
ROS2 패키지 설치
$ cd ~/ydlidar_ros2_ws/src
$ git clone https://github.com/YDLIDAR/ydlidar_ros2_driver
$ cd ~/ydlidar_ros2_ws
$ colcon build --symlink-install
설정 파일 ydlidar.yaml 수정
ydlidar_ros2_driver/params
에 있는 ydlidar.yaml
를 사용하는 YDLiDAR 에 맞게 변경한다.
다음은 YDLiDAR X2의 예
ydlidar.yamlydlidar_ros2_driver_node:
ros__parameters:
port: /dev/ttyUSB0
frame_id: laser_frame
ignore_array: ""
baudrate: 115200
lidar_type: 1
device_type: 0
sample_rate: 3
abnormal_check_count: 4
resolution_fixed: true
reversion: false
inverted: true
auto_reconnect: true
isSingleChannel: true
intensity: false
support_motor_dtr: true
angle_max: 180.0
angle_min: -180.0
range_max: 12.0
range_min: 0.1
frequency: 10.0
invalid_range_is_inf: false
파라미터는 YDLiDAR의 ROS 패키지에 있는 launch 파일의 rosparam의 값을 참조했다
launch 파일 변경
Python launch 파일을 Galactic에서 작동하도록 변경합니다.
변경점
· node_namespace = '/', 코멘트 아웃
・ node_executable
, node_name
를 각각 executable
, name
로 변경
· ydlidar_ros2_driver 시작 LifecycleNode
를 Node
로 변경
ydlidar_launch_view.py#!/usr/bin/python3
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch_ros.actions import LifecycleNode
from launch_ros.actions import Node
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
from launch.actions import LogInfo
import lifecycle_msgs.msg
import os
def generate_launch_description():
share_dir = get_package_share_directory('ydlidar_ros2_driver')
rviz_config_file = os.path.join(share_dir, 'config','ydlidar.rviz')
parameter_file = LaunchConfiguration('params_file')
node_name = 'ydlidar_ros2_driver_node'
params_declare = DeclareLaunchArgument('params_file',
default_value=os.path.join(
share_dir, 'params', 'ydlidar.yaml'),
description='FPath to the ROS2 parameters file to use.')
driver_node = Node(package='ydlidar_ros2_driver',
executable='ydlidar_ros2_driver_node',
name='ydlidar_ros2_driver_node',
output='screen',
emulate_tty=True,
parameters=[parameter_file],
#node_namespace='/',
)
tf2_node = Node(package='tf2_ros',
executable='static_transform_publisher',
name='static_tf_pub_laser',
arguments=['0', '0', '0.02','0', '0', '0', '1','base_link','laser_frame'],
)
rviz2_node = Node(package='rviz2',
executable='rviz2',
name='rviz2',
arguments=['-d', rviz_config_file],
)
return LaunchDescription([
params_declare,
driver_node,
tf2_node,
rviz2_node,
])
실행
YDLiDAR을 PC에 연결하여 실행 권한 부여
$ sudo chmod 777 /dev/ttyUSB0
rviz2에 표시하는 launch 실행
$ source ~/ydlidar_ros2_ws/install/setup.bash
$ ros2 launch ydlidar_ros2_driver ydlidar_launch_view.py
그대로는 점 구름이 표시되지 않으므로 rviz2의 LaserScan, Topic의 Reliability Policy
항목을 System Default
에서 Best Effort
로 변경
rviz2에 점군이 표시된다.
참고
Reference
이 문제에 관하여(ROS2 Galactic에서 YDLIDAR 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/porizou1/items/57edeeda15bbec76a462
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
OS: ubuntu20.04.3LTS
YDLIDAR : YDLiDAR X2
ROS2 : Galactic
YDLidar SDK 설치
이 리포지토리에서 YDLidar-SDK
를 복제하여 설치
$ cd
$ git clone https://github.com/YDLIDAR/YDLidar-SDK
$ cd YDLidar-SDK/build
$ cmake ..
$ make
$ sudo make install
YDLIDAR ROS2 Driver 설치
작업 공간 만들기
$ cd
$ mkdir -p ~/ydlidar_ros2_ws/src
ROS2 패키지 설치
$ cd ~/ydlidar_ros2_ws/src
$ git clone https://github.com/YDLIDAR/ydlidar_ros2_driver
$ cd ~/ydlidar_ros2_ws
$ colcon build --symlink-install
설정 파일 ydlidar.yaml 수정
ydlidar_ros2_driver/params
에 있는 ydlidar.yaml
를 사용하는 YDLiDAR 에 맞게 변경한다.
다음은 YDLiDAR X2의 예
ydlidar.yamlydlidar_ros2_driver_node:
ros__parameters:
port: /dev/ttyUSB0
frame_id: laser_frame
ignore_array: ""
baudrate: 115200
lidar_type: 1
device_type: 0
sample_rate: 3
abnormal_check_count: 4
resolution_fixed: true
reversion: false
inverted: true
auto_reconnect: true
isSingleChannel: true
intensity: false
support_motor_dtr: true
angle_max: 180.0
angle_min: -180.0
range_max: 12.0
range_min: 0.1
frequency: 10.0
invalid_range_is_inf: false
파라미터는 YDLiDAR의 ROS 패키지에 있는 launch 파일의 rosparam의 값을 참조했다
launch 파일 변경
Python launch 파일을 Galactic에서 작동하도록 변경합니다.
변경점
· node_namespace = '/', 코멘트 아웃
・ node_executable
, node_name
를 각각 executable
, name
로 변경
· ydlidar_ros2_driver 시작 LifecycleNode
를 Node
로 변경
ydlidar_launch_view.py#!/usr/bin/python3
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch_ros.actions import LifecycleNode
from launch_ros.actions import Node
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
from launch.actions import LogInfo
import lifecycle_msgs.msg
import os
def generate_launch_description():
share_dir = get_package_share_directory('ydlidar_ros2_driver')
rviz_config_file = os.path.join(share_dir, 'config','ydlidar.rviz')
parameter_file = LaunchConfiguration('params_file')
node_name = 'ydlidar_ros2_driver_node'
params_declare = DeclareLaunchArgument('params_file',
default_value=os.path.join(
share_dir, 'params', 'ydlidar.yaml'),
description='FPath to the ROS2 parameters file to use.')
driver_node = Node(package='ydlidar_ros2_driver',
executable='ydlidar_ros2_driver_node',
name='ydlidar_ros2_driver_node',
output='screen',
emulate_tty=True,
parameters=[parameter_file],
#node_namespace='/',
)
tf2_node = Node(package='tf2_ros',
executable='static_transform_publisher',
name='static_tf_pub_laser',
arguments=['0', '0', '0.02','0', '0', '0', '1','base_link','laser_frame'],
)
rviz2_node = Node(package='rviz2',
executable='rviz2',
name='rviz2',
arguments=['-d', rviz_config_file],
)
return LaunchDescription([
params_declare,
driver_node,
tf2_node,
rviz2_node,
])
실행
YDLiDAR을 PC에 연결하여 실행 권한 부여
$ sudo chmod 777 /dev/ttyUSB0
rviz2에 표시하는 launch 실행
$ source ~/ydlidar_ros2_ws/install/setup.bash
$ ros2 launch ydlidar_ros2_driver ydlidar_launch_view.py
그대로는 점 구름이 표시되지 않으므로 rviz2의 LaserScan, Topic의 Reliability Policy
항목을 System Default
에서 Best Effort
로 변경
rviz2에 점군이 표시된다.
참고
Reference
이 문제에 관하여(ROS2 Galactic에서 YDLIDAR 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/porizou1/items/57edeeda15bbec76a462
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ cd
$ git clone https://github.com/YDLIDAR/YDLidar-SDK
$ cd YDLidar-SDK/build
$ cmake ..
$ make
$ sudo make install
작업 공간 만들기
$ cd
$ mkdir -p ~/ydlidar_ros2_ws/src
ROS2 패키지 설치
$ cd ~/ydlidar_ros2_ws/src
$ git clone https://github.com/YDLIDAR/ydlidar_ros2_driver
$ cd ~/ydlidar_ros2_ws
$ colcon build --symlink-install
설정 파일 ydlidar.yaml 수정
ydlidar_ros2_driver/params
에 있는 ydlidar.yaml
를 사용하는 YDLiDAR 에 맞게 변경한다.
다음은 YDLiDAR X2의 예
ydlidar.yamlydlidar_ros2_driver_node:
ros__parameters:
port: /dev/ttyUSB0
frame_id: laser_frame
ignore_array: ""
baudrate: 115200
lidar_type: 1
device_type: 0
sample_rate: 3
abnormal_check_count: 4
resolution_fixed: true
reversion: false
inverted: true
auto_reconnect: true
isSingleChannel: true
intensity: false
support_motor_dtr: true
angle_max: 180.0
angle_min: -180.0
range_max: 12.0
range_min: 0.1
frequency: 10.0
invalid_range_is_inf: false
파라미터는 YDLiDAR의 ROS 패키지에 있는 launch 파일의 rosparam의 값을 참조했다
launch 파일 변경
Python launch 파일을 Galactic에서 작동하도록 변경합니다.
변경점
· node_namespace = '/', 코멘트 아웃
・ node_executable
, node_name
를 각각 executable
, name
로 변경
· ydlidar_ros2_driver 시작 LifecycleNode
를 Node
로 변경
ydlidar_launch_view.py#!/usr/bin/python3
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch_ros.actions import LifecycleNode
from launch_ros.actions import Node
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
from launch.actions import LogInfo
import lifecycle_msgs.msg
import os
def generate_launch_description():
share_dir = get_package_share_directory('ydlidar_ros2_driver')
rviz_config_file = os.path.join(share_dir, 'config','ydlidar.rviz')
parameter_file = LaunchConfiguration('params_file')
node_name = 'ydlidar_ros2_driver_node'
params_declare = DeclareLaunchArgument('params_file',
default_value=os.path.join(
share_dir, 'params', 'ydlidar.yaml'),
description='FPath to the ROS2 parameters file to use.')
driver_node = Node(package='ydlidar_ros2_driver',
executable='ydlidar_ros2_driver_node',
name='ydlidar_ros2_driver_node',
output='screen',
emulate_tty=True,
parameters=[parameter_file],
#node_namespace='/',
)
tf2_node = Node(package='tf2_ros',
executable='static_transform_publisher',
name='static_tf_pub_laser',
arguments=['0', '0', '0.02','0', '0', '0', '1','base_link','laser_frame'],
)
rviz2_node = Node(package='rviz2',
executable='rviz2',
name='rviz2',
arguments=['-d', rviz_config_file],
)
return LaunchDescription([
params_declare,
driver_node,
tf2_node,
rviz2_node,
])
실행
YDLiDAR을 PC에 연결하여 실행 권한 부여
$ sudo chmod 777 /dev/ttyUSB0
rviz2에 표시하는 launch 실행
$ source ~/ydlidar_ros2_ws/install/setup.bash
$ ros2 launch ydlidar_ros2_driver ydlidar_launch_view.py
그대로는 점 구름이 표시되지 않으므로 rviz2의 LaserScan, Topic의 Reliability Policy
항목을 System Default
에서 Best Effort
로 변경
rviz2에 점군이 표시된다.
참고
Reference
이 문제에 관하여(ROS2 Galactic에서 YDLIDAR 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/porizou1/items/57edeeda15bbec76a462
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ydlidar_ros2_driver_node:
ros__parameters:
port: /dev/ttyUSB0
frame_id: laser_frame
ignore_array: ""
baudrate: 115200
lidar_type: 1
device_type: 0
sample_rate: 3
abnormal_check_count: 4
resolution_fixed: true
reversion: false
inverted: true
auto_reconnect: true
isSingleChannel: true
intensity: false
support_motor_dtr: true
angle_max: 180.0
angle_min: -180.0
range_max: 12.0
range_min: 0.1
frequency: 10.0
invalid_range_is_inf: false
Python launch 파일을 Galactic에서 작동하도록 변경합니다.
변경점
· node_namespace = '/', 코멘트 아웃
・
node_executable
, node_name
를 각각 executable
, name
로 변경· ydlidar_ros2_driver 시작
LifecycleNode
를 Node
로 변경ydlidar_launch_view.py
#!/usr/bin/python3
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch_ros.actions import LifecycleNode
from launch_ros.actions import Node
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
from launch.actions import LogInfo
import lifecycle_msgs.msg
import os
def generate_launch_description():
share_dir = get_package_share_directory('ydlidar_ros2_driver')
rviz_config_file = os.path.join(share_dir, 'config','ydlidar.rviz')
parameter_file = LaunchConfiguration('params_file')
node_name = 'ydlidar_ros2_driver_node'
params_declare = DeclareLaunchArgument('params_file',
default_value=os.path.join(
share_dir, 'params', 'ydlidar.yaml'),
description='FPath to the ROS2 parameters file to use.')
driver_node = Node(package='ydlidar_ros2_driver',
executable='ydlidar_ros2_driver_node',
name='ydlidar_ros2_driver_node',
output='screen',
emulate_tty=True,
parameters=[parameter_file],
#node_namespace='/',
)
tf2_node = Node(package='tf2_ros',
executable='static_transform_publisher',
name='static_tf_pub_laser',
arguments=['0', '0', '0.02','0', '0', '0', '1','base_link','laser_frame'],
)
rviz2_node = Node(package='rviz2',
executable='rviz2',
name='rviz2',
arguments=['-d', rviz_config_file],
)
return LaunchDescription([
params_declare,
driver_node,
tf2_node,
rviz2_node,
])
실행
YDLiDAR을 PC에 연결하여 실행 권한 부여
$ sudo chmod 777 /dev/ttyUSB0
rviz2에 표시하는 launch 실행
$ source ~/ydlidar_ros2_ws/install/setup.bash
$ ros2 launch ydlidar_ros2_driver ydlidar_launch_view.py
그대로는 점 구름이 표시되지 않으므로 rviz2의 LaserScan, Topic의 Reliability Policy
항목을 System Default
에서 Best Effort
로 변경
rviz2에 점군이 표시된다.
참고
Reference
이 문제에 관하여(ROS2 Galactic에서 YDLIDAR 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/porizou1/items/57edeeda15bbec76a462
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ sudo chmod 777 /dev/ttyUSB0
$ source ~/ydlidar_ros2_ws/install/setup.bash
$ ros2 launch ydlidar_ros2_driver ydlidar_launch_view.py
Reference
이 문제에 관하여(ROS2 Galactic에서 YDLIDAR 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/porizou1/items/57edeeda15bbec76a462텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)