用python写一个ros2里小乌龟做圆周运动的代码
时间: 2023-04-07 22:00:55 浏览: 200
好的,我可以回答这个问题。以下是一个简单的Python代码示例,可以让ROS2中的小乌龟做圆周运动:
```python
import rclpy
from geometry_msgs.msg import Twist
from turtlesim.msg import Pose
def move_turtle():
rclpy.init()
node = rclpy.create_node('move_turtle')
cmd_vel_pub = node.create_publisher(Twist, '/turtle1/cmd_vel', 10)
pose_sub = node.create_subscription(Pose, '/turtle1/pose', pose_callback, 10)
twist = Twist()
twist.linear.x = 1.0
twist.angular.z = 1.0
while rclpy.ok():
cmd_vel_pub.publish(twist)
rclpy.spin_once(node)
node.destroy_node()
rclpy.shutdown()
def pose_callback(pose):
print('Turtle position: x={0}, y={1}'.format(pose.x, pose.y))
if __name__ == '__main__':
move_turtle()
```
这个代码会让小乌龟以线速度1和角速度1的速度做圆周运动,并且在控制台输出小乌龟的位置信息。你可以根据需要修改线速度和角速度的值,来控制小乌龟的运动轨迹。