import rclpy
from rclpy.node import Node
from geometry_msgs.msg import Twist
class MyPublisherNode(Node):
def __init__(self,x=0.0,z=0.0):
super().__init__('my_publisher_node')
self.mpubs = []
# cars="89"
for i in range(8,10):
pb=self.create_publisher(Twist, '/Car'+str(i)+'/cmd_vel', 10)
self.mpubs.append(pb)
print(self.mpubs)
self.x = x
self.z = z
self.timer = self.create_timer(0.1, self.timer_callback)
def timer_callback(self):
twist = Twist()
twist.linear.x = self.x # 设置你想要发布的线性速度x分量值
twist.angular.z = self.z # 设置你想要发布的角速度z分量值
for pb in self.mpubs:
pb.publish(twist)
def main(x=0.0,z=0.0):
rclpy.init()
node = MyPublisherNode(x,z)
rclpy.spin(node)
if __name__ == '__main__':
import sys
print('par', sys.argv, 'x, z, carid: 0.1 0 1')
if len(sys.argv) >= 3:
# 获取参数值
x = float(sys.argv[1])
z = float(sys.argv[2])
main(x,z)
else:
main()
ros2 cars publish cmd_vel 同步 同时 多车
最新推荐文章于 2024-06-29 16:48:56 发布