如何在 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 只是变量的任意名称。 linearTwist 实例的成员,无论您如何调用该变量,它始终具有相同的名称。

不过,您可以通过尝试轻松自己弄清楚(第二个会引发错误)。