如何在 ROS 中写入多个 Twist 消息
How to write multiple Twist messages in ROS
我正在尝试使用 ROS 中的 differential_drive 包为我的麦克纳姆轮项目(能够横向移动操纵杆)使用 Python(也是新的)构建两个虚拟操纵杆。由于两者使用相同的文件类型 Twist
我该如何发布两个输出? twist 只理解 linear
还是我也应该将其更改为 linear2
?
原文:
self.twist = Twist()
self.twist.linear.x = (1-self.y) * (x_max - x_min) + x_min
self.twist.linear.y = 0
等等
我必须这样改吗:
self.twist2 = Twist()
self.twist2.linear.x = (1-self.y) * (x_max - x_min) + x_min
self.twist2.linear.y = 0
或:
self.twist2 = Twist()
self.twist2.linear2.x = (1-self.y) * (x_max - x_min) + x_min
self.twist2.linear2.y = 0
Virtual Joystick(原版)和 Virtual Joystick 2(修改版)必须在启动时开启
第一个正确
self.twist2 = Twist()
self.twist2.linear.x = (1-self.y) * (x_max - x_min) + x_min
self.twist2.linear.y = 0
twist2
只是变量的任意名称。 linear
是 Twist
实例的成员,无论您如何调用该变量,它始终具有相同的名称。
不过,您可以通过尝试轻松自己弄清楚(第二个会引发错误)。
我正在尝试使用 ROS 中的 differential_drive 包为我的麦克纳姆轮项目(能够横向移动操纵杆)使用 Python(也是新的)构建两个虚拟操纵杆。由于两者使用相同的文件类型 Twist
我该如何发布两个输出? twist 只理解 linear
还是我也应该将其更改为 linear2
?
原文:
self.twist = Twist()
self.twist.linear.x = (1-self.y) * (x_max - x_min) + x_min
self.twist.linear.y = 0
等等
我必须这样改吗:
self.twist2 = Twist()
self.twist2.linear.x = (1-self.y) * (x_max - x_min) + x_min
self.twist2.linear.y = 0
或:
self.twist2 = Twist()
self.twist2.linear2.x = (1-self.y) * (x_max - x_min) + x_min
self.twist2.linear2.y = 0
Virtual Joystick(原版)和 Virtual Joystick 2(修改版)必须在启动时开启
第一个正确
self.twist2 = Twist() self.twist2.linear.x = (1-self.y) * (x_max - x_min) + x_min self.twist2.linear.y = 0
twist2
只是变量的任意名称。 linear
是 Twist
实例的成员,无论您如何调用该变量,它始终具有相同的名称。
不过,您可以通过尝试轻松自己弄清楚(第二个会引发错误)。