ROS2 FoxyでURGを使う
ROS2 Foxyで北陽電機のLiDAR URG-04LX-UG01を使用する手順です。
URG-04LX-UG01
https://www.hokuyo-aut.co.jp/search/single.php?serial=17
urg_nodeのインストール
$ sudo apt update
$ sudo apt install ros-foxy-urg-node
実行
$ sudo apt update
$ sudo apt install ros-foxy-urg-node
URGをUSBケーブルでPCに接続します。
ターミナルを開いて以下を実行し、デバイスに権限を付与
$ sudo chmod 777 /dev/ttyACM0
以下でurg_nodeを実行
$ ros2 run urg_node urg_node_driver --ros-args -p serial_port:=/dev/ttyACM0
別のターミナルで以下を実行し、/scanトピックが出ていればOK
$ ros2 topic echo /scan
データの可視化
別のターミナルを開いてrviz2を起動
$ rviz2
Fixed Frame
をlaser
に設定
左下のAdd
ボタンをクリック
一覧からLaserScan
を選択してOKをクリック
/scanの点が表示されれば成功
launchファイルから実行
設定をyamlファイルで記述してlaunchファイルから起動する方法
ワークスペース以下に適当にパッケージを作成
$ cd ~/ros2_ws/src
$ ros2 pkg create urg
設定ファイルとlaunchファイルを置くディレクトリを作成
$ cd urg
$ mkdir launch config
configディレクトリ以下に以下の設定ファイルを作成
urg_node:
ros__parameters:
angle_max: 3.14
angle_min: -3.14
serial_port: /dev/ttyACM0
serial_baud: 115200
laser_frame_id: "laser"
calibrate_time: false
default_user_latency: 0.0
diagnostics_tolerance: 0.05
diagnostics_window_time: 5.0
error_limit: 4
get_detailed_status: false
publish_intensity: false
publish_multiecho: false
cluster: 0
skip: 1
launchディレクトリ以下にlaunchファイルを作成
import os
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch_ros.actions import Node
def generate_launch_description():
ld = LaunchDescription()
param_file = os.path.join(
get_package_share_directory('urg'), 'config',
'urg.yaml')
print(param_file)
hokuyo_node = Node(
package='urg_node', node_executable='urg_node_driver', output='screen',
parameters=[param_file]
)
ld.add_action(hokuyo_node)
return ld
CMakeLists.txtに以下を記述
install(
DIRECTORY launch config
DESTINATION share/${PROJECT_NAME}
)
ビルドして実行
$ cd ~/ros2_ws
$ colcon build
$ source install/setup.bash
$ ros2 launch urg urg_launch.py
参考
Author And Source
この問題について(ROS2 FoxyでURGを使う), 我々は、より多くの情報をここで見つけました https://qiita.com/porizou1/items/b3cc26eb0cf168412dbc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .