转载自:turtlebot3用代码控制机器人直线及圆弧运动(/cmd_vel geometry_msgs/Twist的使用) 感谢大佬!!
本文实现通过代码发送控制命令给机器人,让机器人安装特定的轨迹行走.希望实现的功能为直走和走一个圆形.
1.启动gazebo并加载空地图
roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch
此时如果启动键盘控制的话机器人就可动起来了。
为了用代码控制机器人运动,需要将键盘控制程序替换为自定义的程序。
2.启动slam并在rviz中显示
roslaunch turtlebot3_slam turtlebot3_slam.launch
3.ros发送cmd_vel
rostopic list 发现控制命令是通过cmd_vel发送的。
rostopic echo /cmd_vel 可看到命令形式如
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
---
先让机器人转圈,输入这个命令
rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.1, y: 0, z: 0}, angular: {x: 0, y: 0, z: -0.5}}'
让机器人直行,输入
rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.1, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0}}'
4./cmd_vel geometry_msgs/Twist使用示例
参考原文 https://lightsail.blog.csdn.net/article/details/80740920
如有侵权,请联系删除。