第一部分 运行小海龟仿真器
【出现的问题】运行计算图时,输入命令 rqt_graph,出现以下错误, 且弹出rqt界面为空白
"dot" with args ['-Tdot', '/tmp/tmp3llruxn1'] returned code: 1
stdout, stderr:
b''
b'Format: "dot" not recognized. Use one of:\n'
PluginHandlerDirect._restore_settings() plugin "rqt_graph/RosGraph#0" raised an exception:
Traceback (most recent call last):
File "/opt/ros/noetic/lib/python3/dist-packages/qt_gui/plugin_handler_direct.py", line 121, in _restore_settings
self._plugin.restore_settings(plugin_settings_plugin, instance_settings_plugin)
File "/opt/ros/noetic/lib/python3/dist-packages/rqt_graph/ros_graph.py", line 260, in restore_settings
self._refresh_rosgraph()
File "/opt/ros/noetic/lib/python3/dist-packages/rqt_graph/ros_graph.py", line 289, in _refresh_rosgraph
self._update_graph_view(self._generate_dotcode())
File "/opt/ros/noetic/lib/python3/dist-packages/rqt_graph/ros_graph.py", line 308, in _generate_dotcode
return self.dotcode_generator.generate_dotcode(
File "/opt/ros/noetic/lib/python3/dist-packages/rqt_graph/dotcode.py", line 914, in generate_dotcode
dotcode = dotcode_factory.create_dot(dotgraph)
File "/opt/ros/noetic/lib/python3/dist-packages/qt_dotgraph/pydotfactory.py", line 175, in create_dot
dot = graph.create_dot()
File "/usr/lib/python3/dist-packages/pydot.py", line 1726, in new_method
return self.create(
File "/usr/lib/python3/dist-packages/pydot.py", line 1953, in create
assert process.returncode == 0, process.returncode
AssertionError: 1
错误原因:dot格式识别
解决措施:执行命令 —— sudo dot -c
来源参考:rqt_graph Skipped loading plugin with error & Format: “dot“ not recognized_whuzhang16的博客-优快云博客
第二部分 ROSNODE命令(与结点相关)
当前系统的结点列表 —— rosnode list
查看某一节点信息 —— rosnode info /nodename
可查看发布、订阅和服务内容
第三部分 ROSTOPIC命令
打印当前系统所有的topic列表 —— rostopic list
是用命令行发布话题内容 —— rostopic pub (-r)/topic/ datatype data
实例:小海龟以每秒5m的速度沿x轴正方向运动
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:
x: -1.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0"
使循环发布的话题终止:Ctrl+C
第四部分 ROSMSGS命令
查看数据的类型 —— rosmsgs show datatype
第五部分 ROSSERVICE命令
查看系统所有的服务列表 —— rosservice list
调用某一项服务 —— rosservice call /servicename/
示例:调用spawn服务生成新的小海龟
第五部分 ROSBAG命令
记录数据 —— rosbag record -a -O 输入
播放数据 —— rosbag play 数据包名称