如何在ROS中编写多个Twist消息

时间:2015-04-20 03:25:55

标签: python ros

我正在尝试使用Python中的differential_drive包构建两个虚拟游戏杆(使用Python(也是新的))用于我的mecanum wheel项目(能够进行侧向移动操纵杆)。由于两者都使用相同的文件类型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

虚拟操纵杆(原始)和虚拟操纵杆2(已修改)都必须在启动时启用

1 个答案:

答案 0 :(得分:0)

第一个是正确的

self.twist2 = Twist()
self.twist2.linear.x = (1-self.y) * (x_max - x_min) + x_min
self.twist2.linear.y = 0

twist2只是变量的任意名称。 linearTwist实例的成员,无论您如何调用变量,它都具有相同的名称。

你可以轻易地通过尝试来解决这个问题(第二个会引发错误)。