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 同步 同时 多车
最新推荐文章于 2025-11-12 05:41:27 发布
本文介绍了一个名为MyPublisherNode的Python类,它在RobotOperatingSystem(ROS)环境中创建多个publisher节点,用于发布geometry_msgs/Twist消息。该类包含定时器回调函数,根据给定的x和z值设置线性和角速度并发布到不同主题上。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Python3.10
Conda
Python
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本
9779

被折叠的 条评论
为什么被折叠?



