一 准备工作
1.创建名为asy_ws工作空间
mkdir -p ~/asy_ws/src
2.初始化工作空间
cd ~/asy_ws/src
catkin_init_workspace
3.创建learning_topic能包
cd ~/asy_ws/src
catkin_create_pkg learning_topic roscpp rospy std_msgs geometry_msgs turtlesim
4.编译工作空间
cd ~/asy_ws
catkin_make
5.设置环境变量并检查是否设置成功
source devel/setup.bash
echo $ROS_PACKAGE_PATH
二 键盘方向键控制小乌龟(一个终端只运行一条命令)
- 运行roscore(让节点能相互通信)
roscore
- 调出小乌龟(turtlesim_node是小乌龟节点)
rosrun tutlesim turtlesim_node
- 控制小乌龟运动(turtle_teleop是另一个节点)
rosrun turtlesim turtle_teleop_key
- 调出节点图
rqt_graph
5. 查看节点,话题,消息
rosnode list
rostopic list
rostopic info /turtel1/cmd_vel
可以看出来teleop_turtle节点通过turtle1/cmd_vel话题向turtlesim节点发送消息,消息类型为geometry_msgs/Twist
三 控制小乌龟转圈圈
- 创建速度发布者
cd ~/asy_ws/src/learning_topic/src
touch velocity_publisher.py
# Python程序
import rospy
from geometry_msgs.msg import