.
1.预备工作
快速了解文件系统概念 文件系统工具
使用 rospack
使用 roscd 切换目录
roscdlog 查看历史记录
使用rosls 列出文件
Tab 自动完成输入
创建一个catkin程序包
catkin_create_pkgbeginner_tutorials std_msgs rospy roscpp
This is an example, do not try to run this
catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
后面的std_msgsrospy roscpp 都是依赖包
rospackdepends1 beginner_tutorials
可以用rospackdepends1 <package name>来找到直接依赖的包
rospackdepends beginner_tutorials 可以检测出所有的依赖包
编译程序包
cd~/catkin_ws/
#找到程序包所在的位置
catkin_make
#编译
节点
一个节点其实只不过是 ROS 程序包中的一个可执行文件。
ROS节点可以使用ROS客户库与其他节点通信。节点可以发布或接收一个话题。节点也可以提供或使用某种服务。
roscore 是你在运行所有ROS程序前首先要运行的命令。请运行:
roscore
rosnodelist #可以找到所以的在运行的节点
rosrun [package_name] [node_name]
例如
rosrun turtlesim turtlesim_node
可以用下面的语句改变节点的名字
rosrunturtlesim turtlesim_node __name:=my_turtle
先运行roscore(ROS系统核心程序,必须运行)
运行一个节点(仿真程序)
rosrunturtlesim <package> turtlesim_node
rosrunturtlesim turtle_teleop_key#用来控制乌龟运动
rosrunrqt_graph rqt_graph #用来表现各个节点之间的关系
中间靠 topic 联系起来
Topic
rostopic 命令工具能让你获取有关ROS话题的信息
rostopic-h
是帮助,可以显示所有的功能
rostopic echo
rostopic echo 可以显示在某个话题上发布的数据。
用法:
rostopicecho [topic]
使用
rostopic type
rostopic type 命令用来查看所发布话题的消息类型
rostopic type [topic的名字]
使用
rostopic pub 可以把数据发布到当前某个正在广播的话题上。
用法:
rostopicpub [topic] [msg_type] [args]
例如:
rostopicpub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]''[0.0, 0.0, 1.8]'
语句解释:
rostopic pub 这条命令将会发布消息到某个给定的话题。
-1 (单个破折号)这个参数选项使rostopic发布一条消息后马上退出。
/turtle1/command_velocity 这是消息所发布到的话题名称。
turtlesim/Velocity 这是所发布消息的类型。
--(双破折号)这会告诉命令选项解析器接下来的参数部分都不是命令选项。这在参数里面包含有破折号-(比如负号)时是必须要添加的。
使用rostopic hz
命令可以用来查看数据发布的频率。
rqt_plot
命令可以实时显示一个发布到某个话题上的数据变化图形。这里我们将使用 rqt_plot 命令来绘制正在发布到/turtle1/pose话题上的数据变化图形。
rosrunrqt_plot rqt_plo