安装ROS成功后,在Beginner Tutorials中有一个简单的示例程序.
1、小海龟的测试
(1)在Terminal中运行以下命令:
$ roscore
启动ROS Master
(2)新开一个terminal,运行以下命令,打开小乌龟窗口:
$ rosrun turtlesim turtlesim_node
运行功能包的可执行文件,功能包为turtlesim,其中得文件为turtlesim_node
(3)新开一个terminal,运行以下命令,打开乌龟控制窗口,可使用方向键控制乌龟运动:
$ rosrun turtlesim turtle_teleop_key
运行功能包的可执行文件,功能包为turtlesim,其中得文件为turtle_teleop_key
(4)选中控制窗口,按方向键,可看到小乌龟窗口中乌龟在运动。
2、辅助工具等
2.1、rqt_graph可视化工具
新开一个terminal,运行以下命令,可以看到ROS的图形化界面,展示结点的关系:
$ rqt_graph
上面单独的那个节点就是当前显示的节点程序
仅仅显示DEBUG:
2.2查看节点信息
(1)查看节点列表
$ rosnode list
可视化界面关掉了,所以上面没有它的节点。
(2)查看节点具体信息
查看小海龟仿真器节点信息:
$ rosnode info /turtlesim
终端显示如下(注释自加):
--------------------------------------------------------------------------------
Node [/turtlesim] #节点的名字
Publications: #发布的话题
* /rosout [rosgraph_msgs/Log]
* /turtle1/color_sensor [turtlesim/Color]
* /turtle1/pose [turtlesim/Pose]
Subscriptions: #订阅的话题
* /turtle1/cmd_vel [geometry_msgs/Twist]
Services: #提供的服务
* /clear
* /kill
* /reset
* /spawn
* /turtle1/set_pen
* /turtle1/teleport_absolute
* /turtle1/teleport_relative
* /turtlesim/get_loggers
* /turtlesim/set_logger_level
#订阅或者发布的话题传输协议ROSTCP
contacting node http://chao:36539/ ...
Pid: 2935
Connections:
* topic: /rosout
* to: /rosout
* direction: outbound
* transport: TCPROS
* topic: /turtle1/cmd_vel
* to: /teleop_turtle (http://chao:33487/)
* direction: inbound
* transport: TCPROS
2.3查看话题
(1)查看话题列表
$ rostopic list
(2)查看话题信息
$ rostopic info /turtle1/cmd_vel
该节点发布者为节点:/teleop_turtle
该节点订阅者为节点:/turtlesim
(3)监听话题信息
$ rostopic echo /turtle1/cmd_vel
操作小乌龟运动,可以查看一下信息:
运动的速度为m/s,角速度为rad/s。
(4)自己发布个话题消息-让小乌龟动
$ rostopic pub /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"
设置线速度为1m/s,回车看小乌龟运动一下:
持续运动(1s十次发布消息):
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"
2.4 发布服务请求
$ rosservice list
$ rosservice info /spawn
加一只乌龟,给它点出生点,起个名字:
$ rosservice call /spawn "x: 6.0
y: 6.0
theta: 0.0
name: 'turtle_2'"
我这总共三个:
2.5可视化绘图
$ rqt_plot
选择话题内容,加入绘图,移动小乌龟,查看曲线。