前言
在安装好ROS(详情请见上一章)之后,便可以通过ROS的一些简单的例程来学习ROS了。
ROS最简单的例程是乌龟例程。从ROS的官网可以看出,ROS对于乌龟有种特殊的喜爱,这与ROS设计者的理念有关。
1. turtlesim (turtle simulation)
第一次运行需要安装,$ sudo apt-get install ros-kinetic-turtlesim
接着打开 ROS Master 节点管理器,$ roscore
新建一个终端,$ rosrun turtlesim turtlesim_node
,出现如图所示界面:
新建一个终端,$ rosrun turtlesim turtle_teleop_key
,可以打开一个捕捉按键的程序,按键可以控制乌龟运动,如图所示:
通过ROS的服务通信功能,可以启动第二只乌龟
rosservice list
/clear
/kill
/reset
/rosout/get_loggers
/rosout/set_logger_level
/spawn
/turtle1/set_pen
/turtle1/teleport_absolute
/turtle1/teleport_relative
/turtle2/set_pen
/turtle2/teleport_absolute
/turtle2/teleport_relative
/turtlesim/get_loggers
/turtlesim/set_logger_level
$ rosservice call /spawn 8.0 8.0 0.0 "turtle2"
name: "turtle2"
如下图:
通过ROS的 tf 工具可以查看乌龟的坐标系统变换,第一次使用需要安装:
$ sudo apt-get install ros-kinetic-turtle-tf
接着打开键盘控制节点,
$ rosrun turtlesim turtle_teleop_key
查看 tf 框架
$ rosrun tf view_frames
$ evince frames.pdf
结果没能显示框架,很奇怪,有没有?
使用 tf_monitor 可以监视 tf 变换
$ rosrun tf tf_monitor
RESULTS: for all Frames
Frames:
All Broadcasters:
RESULTS: for all Frames
Frames:
All Broadcasters: