ROS常用組件

ROS常用組件

Launch文件相關

Launch文件基本結構

<launch>
    <node pkg="package_name" type="executable_name" name="node_name"/>
</launch>

Node

 <node pkg="package_name" type="executable_name" name="node_name"/>
  • pkg: 節點所在的功能包名稱;
  • type: 節點的可執行文件名稱;
  • name: 節點運行的名稱,可以覆蓋節點中 init() 的節點名稱;

Node的常用屬性

  • output="screen" : 將節點的標準輸出打印到terminal;
  • respawn="true" : 復位屬性,當節點停止時,會自動重啓,默認是false;
  • required="true" : 必要節點,當該節點終止的時候,launch文件中其他節點也終止;
  • ns="namespace" : 命名空間;
  • args="arguments" : 節點需要的輸入參數;

<param>

<param><arg> 不同,需注意;

<param>的基本結構

<param name="output_frame" value="odom" />

<param>解釋

parameter是ROS系統運行中的參數,存儲在參數服務器中。launch文件中通過<param>元素加載parameter,launch文件執行後,parameter就加載到了參數服務器上了;

每個活躍的節點都可以通過 ros::param::get() 接口獲取parameter的值,用戶也可以通過rosparam命令獲取parameter的值;

通過YAML文件加載parameter

<rosparam file="${find 2dnav_pr2}/config/costmap.yaml" command="load" ns="local_costmap" />

<arg>

argument類似launch文件中的局部變量,與ROS節點內部的實現沒有關係;

<arg name="arg_name" default="arg_value"/>

<arg><param>一起使用

<arg name="arg_name" default="arg_value" />
<param name="foo" default="$(arg arg_name)" />

<remap>

<remap from="/turtlebot/cmd_vel" to="/cmd_vel" />

<include>

<include file="$(dirname)/path/something.launch" />

TF座標轉換

tf_monitor

tf_monitor <source_frame> <target_frame>

tf_echo

tf_echo <source_frame> <target_frame>

static_transform_publisher

static_transform_publisher x y z yaw pitch roll frame_id child_frame_id period_in_ms

static_transform_publisher x y z qx qy qz qw frame_id child_frame_id period_in_ms

in launch file

<launch>
    <node pkg="tf" type="static_transform_publisher" name="link_base_odom" arg="0 0 0 0 0 0 base_link odom" />
</launch>

view_frames(不常用)

rosrun tf view_frames
evince frames.pdf

rqt_tf_tree

rosrun rqt_tf_tree rqt_tf_tree

QT工具箱

使用之前

sudo apt-get install ros-kinetic-rqt
sudo apt-get install ros-kinetic-rqt-common-plugins

日誌可視化

rqt_console

當系統中有不同級別的日誌消息時,rqt_console的界面會依次顯示這些日誌的相關內容;

計算圖可視化

rqt_graph

數據繪圖工具

rqt_plot

參數動態配置工具

rosrun rqt_reconfigure rqt_reconfigure

RVIZ

使用之前

一般使用桌面版ros完全安裝的時候會將rviz一起安裝進ubuntu;

sudo apt-get install ros-kinetic-rviz

啓動

roscore
rosrun rviz rviz   OR   rviz

Gazebo

使用之前

sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control

啓動

roscore
rosrun gazebo_ros gazebo

Rosbag

rosbag 可以幫助開發者收集ROS系統運行時的消息數據;

記錄

rosbag record -a

回放

rosbag info <BAG FILE>
// 查看bag的信息

rosbag play <BAG FILE>
// 數據回放

Reference

《ROS機器人開發實踐》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章