ROS——一个小乌龟的仿真

安装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

 

选择话题内容,加入绘图,移动小乌龟,查看曲线。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值