ROS的Publisher发布者的编写
语言选择
首先语言的话有Python和C++两种选择,但是由于opencv没有编译的愿意,选择在之后的语言使用Python,就不在写C++的ROS代码了。
创建一个Py程序
#!/usr/bin/env python
import rospy
from geometry_msgs.msg import Twist
def velocity_publisher():
# 初始化ros的节点为turtle_test_run
rospy.init_node("turtle_test_run", anonymous=True)
# 创建一个发布者,发布名为turtle1/cmd_vel, 类型为Twist, 队列长度是10.
turtle_vel_pub = rospy.Publisher('/turtle1/cmd_vel', Twist, queue_size=10)
# 设计一个休眠,为10Hz
rate = rospy.Rate(10) # 100ms
while not rospy.is_shutdown():
vel_msg = Twist()
vel_msg.linear.x = 0.5
vel_msg.angular.z = 0.2
turtle_vel_pub.publish(vel_msg)
rate.sleep()
if __name__ == "__main__":
velocity_publisher()
然后将代码在属性位置勾选
重新执行
catkin_make
catkin_make install
调用海龟界面
第一个终端
roscore
第二个终端
rosrun turtlesim turtlesim_node
第三个终端
rosrun 文件夹名称 xxx.py
我们就可以看到小海龟在画一个圆圈出来。