1. 启动ROS管理器:roscore
roscore
roscore将启动:
- a ROS Master
- a ROS Parameter Server
- a rosout logging node
2. 运行功能包:rosrun
rosrun turlesim turtlesim_node
// 语法:rosrun <package> <executable>
3. 查看话题:rostopic list
显示ROS节点所发布的所有话题
rostopic list
4. 自己手动发送单个话题:rostopic pub
4.1. 让海龟以0.2m/s 爬行
方法:发布cmd_vel message 给 /turtle1/cmd_vel的x:
完整命令:
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist '{linear: {x: 0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0}}'
简化命令:
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist '{linear: {x: 0.2}}'
4.2. 让海龟连续转圈圈
参量:-r 单位Hz (default is 10Hz)
rostopic pub /turtle1/cmd_vel -r 10 geometry_msgs/Twist '{linear: {x: 0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'
4.3. 消息格式定义
使用rosmsg工具查看geometry_msgs/Twist消息格式定义
rosmsg show geometry_msgs/Twist
5. 记录ROS Topic:rosbag record
5.1. 记录所有topic (-a)
- 在同一终端按Ctrl+C结束记录
- 回放cmd_vel_record.bag(先Ctrl+C停止原来转圈命令的topic发布)
5.2. 使用rqt_graph
打开rqt_graph
rqt_graph
5.3. 使用ROS service
- 可使用ros service 命令调用一支新的海龟
rosservice call /sqawn '{x:1.0,y:1.0,theta:1.0,name:"}'
- 也可以使用rqt中的service caller
rqt