代码实现
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import rospy
from geometry_msgs.msg import Twist
def velocity_publisher():
# ROS 节点初始化
rospy.init_node('velocity_publisher', anonymous=True)
# 创建一个 publisher,发布名为 /turtle1/cmd_vel 的 topic.消息类型为 geometry_msgs::Twist, 队列长度 10
turtle_vel_pub = rospy.Publisher('/turtle1/cmd_vel', Twist, queue_size=10)
# 设置循环频率
rate = rospy.Rate(1)
while not rospy.is_shutdown():
# 初始化 geomety_msgs::Twist 类型消息
vel_msg = Twist()
x=[0,3,0,3]
z=[3.7699113,0,3.7699113,0]
for i,j in zip(x,z):
vel_msg.linear.x = i
vel_msg.angular.z = j
# 发布消息
turtle_vel_pub.publish(vel_msg)
rospy.loginfo("Publish turtle velocity command[%0.2f m/s, %0.2f rad/s]",
vel_msg.linear.x, vel_msg.angu