ROS除錯方法

2021-08-08 03:45:16 字數 1966 閱讀 9571

小烏龜的例子

//三種終端分別啟動

roscore

rosrun turtlesim turtlesim_node

rosrun turtlesim turtle_teleop_key

話題

rostopic list-v 檢視當前系統活躍的話題

【讀】在終端上檢視某個話題分布的訊息

rostopic echotopic_name

【寫】在終端中用命令列發布訊息

rostopic pub-r rate-in-hz topic_name message_type message_content 問題來了,我們通過rostopic list 實際上可以知道 topic_name 、

message_type,但是要發布訊息,怎麼知道訊息的具體內容呢

rosmsg showmessage_type

例子:

$ rostopic list -v

published topics:

*/turtle1/color_sensor[turtlesim/color] 1 publisher

*/turtle1/cmd_vel[geometry_msgs/twist] 1 publisher

* /rosout [rosgraph_msgs/log] 3 publishers

* /rosout_agg [rosgraph_msgs/log] 1 publisher

* /turtle1/pose [turtlesim/pose] 1 publisher

subscribed topics:

*/turtle1/cmd_vel[geometry_msgs/twist] 2 subscribers

* /rosout [rosgraph_msgs/log] 1 subscriber

rostopic echo /turtle1/cmd_vel

linear:   //在 rosrun turtlesim turtle_teleop_key 終端中 按鍵盤上下左右

x: 0.0

y: 0.0

z: 0.0

angular:

x: 0.0

y: 0.0

z: -2.0

rosmsg show geometry_msgs/twist

geometry_msgs/vector3 linear

float64 x

float64 y

float64 z

geometry_msgs/vector3 angular

float64 x

float64 y

float64 z

通過檢視訊息型別 包括位移線速度3個元素 角速度3個元素

表示的時候可用 『[x,y,z]』 『[x,y,z]』

rostopic pub -r 1 /turtle1/cmd_vel   geometry_msgs/twist 『[4.0, 0.0, 0.0]』 『[0.0, 0.0, 2.8]』

rostopic hz topic_name 測量發布頻率(每秒發布的資訊數量)

rostopic bw topic_name 測量頻寬 (每秒發布訊息所佔的位元組量)

ROS程式除錯

最近在用vs code進行ros開發,但是一直遇到打了斷點但是不能正常命中的問題 今天學習了一下才知道是沒有在cmakelists.txt中加入除錯資訊 將下面兩行加入到cmakelists.txt中,set cmake cxx flags g set cmake verbose makefile ...

ROS使用gdb除錯斷點

我目前沒有使用roslaunch 通過修改 launch prefix xterm e gdb ex run args 獲得成功。我使用gdb去啟動orb slam節點。在 catkin ws devel lib orb slam下,終端開啟輸入 gdb orb slam雖然我會提示 reading...

使用QT Creator除錯ROS工程

sudo cd desktop sudo gedit org.qt project.qtcreator.desktop 2.對其進行如下修改 desktop entry type exec bash i c opt qt5.12.6 tools qtcreator bin qtcreator nam...