TF工具坐标系统是一个基础理论,但是涉及到多个空间的变换,不容易进行想象所以TF工具给开发者调试提供很多方便
1 tf_monitor
:将当前的坐标系转换关系打印到终端控制台
rosrun tf tf_monitor
若只需要知道任意两个坐标系之间的TF变换如base_link -> odom,则可以用以下命令
rosrun tf tf_monitor base_link odom
2 tf_echo
:把特定的坐标系之间的平移旋转关系,打印到终端控制台
如base_link -> odom之间的平移旋转关系
rosrun tf tf_echo base_link odom
3 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
需要设置坐标的偏移参数和旋转参数:偏移参数使用相对于X Y Z三轴的坐标位移,而旋转参数的第一种命令格式使用以弧度
为单位的yaw pitch roll 角度(yaw是围绕Z轴旋转的偏航角,pitch是围绕Y轴旋转的俯仰角,roll是围绕X轴旋转的翻滚角)第二
种命令格式使用四元素表达旋转角度,发布频率以ms为单位。
该命令不仅可以在终端中使用,还可以在launch文件中使用。
发布一个父坐标系到子坐标系的静态tf转换,偏移x/y/z (单位是m),旋转是欧拉角(或者四元数) ,这里的周期period_in_ms,是这个tf的发布周期,设置为100ms(也就是10hz)
4 view_frames
: 可以输出当前的tf关系到pdf中
view_frames
是一个图形化的调试工具,并且可以输出当前的tf关系到pdf中
rosrun tf view_frames
5 roswtf
: 帮助你找到tf中的错误
6 rqt_tf_tree用于可视化ROS TF框架树
rosrun rqt_tf_tree rqt_tf_tree
7 rqt_graph能够创建一个显示当前系统运行情况的动态图形
rosrun rqt_graph rqt_graph
8 rqt_plot工具的使用
roscore
rosrun rqt_plot rqt_plot
查看动态数据(position/x:y:z)曲线例如:
在终端中输入
rqt_plot /odom/pose/pose/position/x:y:z
9 rosrun rqt_console rqt_console #属于ROS日志框架(logging framework)的一部分,用来显示节点的输出信息,这个命令常常是我们需要快速查询日志使用,我们可以清晰的看出日志的定位,方便调试
10 rosrun rqt_logger_level rqt_logger_level #允许我们修改节点运行时输出信息的日志等级(logger levels),这个命令常常用于调节节点运行时输出信息的日志等级(包括 DEBUG、WARN、INFO和ERROR),方便对日志进行管理。
11 rosrun plotjuggler plotjuggler #打开可视化界面创空,用于数据分析,这个命令是一个rqt_plot的进阶版。是一个基于Qt的应用程序,允许用户加载,搜索和绘图数据。许多ROS用户将使用MATLAB或rqt_plot实现,当要分析的数据相当大时,效果就不是很好了。PlotJuggler,提供了更加友好的用户界面,如下图所示。
12 rosrun rqt_topic rqt_topic #topic发布频率,这个命令是一个ros用于查看topic发布频率的指令。显示主题调试信息, 包括发布者、 接收者、 发布速率和发布的消息。 可以查看消息字段并选择你想要订阅的主题以分析带宽和速率(Hz),以及查看最新发布的消息。 注意, 锁定的主题通常不会持续发布, 所以不会看到任何关于它们的信息。
13 rosrun rqt_reconfigure rqt_reconfigure #手动调节ros的topic参数,这个命令可以选择任何左侧节点以对其进行重新配置,便于手动调节参数,在对ROS进行调试时可以通过这个命令实时对参数服务器的参数进行实时调节大大的提高了效率。
14 ROS—查看topic和message消息
rostopic -h 帮助
rostopic list 列出所有的topic,rostopic list -v 命令可以分开发布话题和订阅话题,并将每个话题的消息类型一起显示
rostopic echo topic名称 显示topic上发布的message
rostopic type topic名称 查看topic的message类型
rosmsg show message名称 查看message数据结构
rostopic bw /topic 显示主题所使用的带宽
rostopic hz /topic 显示主题的发布率
rostopic info /topic 输出活动主题、发布主题、主题订阅者和服务的信息
rostopic pub /topic type args 将数据发布到主题 它允许我们直接从命令行中对任意主题创建和发布数据
消息查看命令:
rosmsg show 显示一条消息的字段
rosmsg list 列出所有消息
rosmsg package 列出功能包的所有消息
rosmsg packages 列出所有具有该消息的功能包
rosmsg users 搜索使用该消息类型的代码文件
rosmsg md5 显示一条消息的MD5求和结果
rosparam list 列出服务器的所有参数
rosparam get parameter 获取参数值
rosparam set parameter value 设置参数值
rospack和rosstack 获取有关功能包、功能集、路径和依懒性等信息
rosls 此命令用于查看内容
查看节点相关信息:
rosnode list 列出当前活动节点
rosnode info 输出当前节点信息
rosnode ping 测试节点间的连通性
rosnode machine 列出某一个计算机上运行的节点或列出主机名称
rosnode kill 结束当前运行节点或发送特定信号 rosnode kill -a 或 rosnode kill --all 结束所有节点
根据关键字结束节点os.system("rosnode kill $(rosnode list) | grep 关键字")
rosnode cleanup 将无法访问节点的信息清除
功能包相关命令
catkin_create_pkg 创建功能包
rospack 获取功能包的信息,rospack depends mrobot_description此命名获取mrobot_description功能包的所有依赖
catkin_make 编译工作空间中的功能包
rosdep 自动安装功能包依赖的其他包
roscd 功能包目录跳转
roscp 拷贝功能包中的文件
rosed 编辑功能包中的文件
rosrun 运行功能包中的可执行文件
roslaunch 运行启动文件
将xacro文件转化为urdf命令
rosrun xacro xacro --inorder tf_robot.xacro > robot.urdf