脱离键盘,使用ros2+python,控制Turtlebot4移动。
import time
import rclpy
from geometry_msgs.msg import Twist
def main():
// 初始化
rclpy.init()
// 创建节点
node = rclpy.create_node('crowd')
// 创建发布对象
"""
Twist是一个ROS 2消息类型,表示机器人的线速度和角速度信息。
'cmd_vel'是主题名称,表示发布线速度和角速度信息的话题。
10是队列长度,表示发布者可以缓存的消息数量。
"""
pub_velo_publisher = node.create_publisher(Twist, 'cmd_vel', 10)
twist = Twist()
for i in range(178):
// 设置加速度和线速度
twist.linear.x = 0.5
twist.linear.y = 0.0
twist.linear.z = 0.0
twist.angular.x = 0.0
twist.angular.y = 0.0
twist.angular.z = 0.0
// 发布
pub_velo_publisher.publish(twist)
print(0.3, 0.3)
time.sleep(0.1)
if __name__ == '__main__':
main()