在ROS凉亭模拟中产生新的机器人

2024-04-29 08:36:50 发布

您现在位置:Python中文网/ 问答频道 /正文

问题陈述是在ROS Gazebo SITL中模拟“car”和一架四轮直升机,如this question所述。正如图中所描绘的一样,已经考虑了两种可能性。在

enter image description here

(选项1使用6个具有独立启动文件的终端和MAVproxy启动终端)

在尝试搜索选项1时,文档似乎很少(想法是使用ErleRover启动模拟,然后在移动中生成ErleCopter;我没有找到任何官方文档提到此选项的可能性或不可能性)。是否可以请某人告诉我如何实现备选方案1,或者为什么不能提及相应的正式文件?在

关于选项2,已经探讨了其他选项;问题显然来自两个方面:param vs rosparam和tf vs tf峎u prefix。 simulation of multiple turtlebots的一些尝试使用了tf_prefix which is deprecated。但是,在模拟多个(不同)机器人时,我找不到任何使用tf2的示例。但是,tf在ROS Hydro上工作(因此是Indigo)。另一个可能的选择是使用rosparam instead of param (only)。但是,关于它在多机器人仿真中的使用的文献很少,我只能找到一个例子(for a single robot Husky)。在

但是,有一点更清楚:MAVproxy可以通过使用SYSID和component ID参数来支持多个机器人。(最多255个机器人,0是广播ID)因此,端口号必须修改(可能是14000和15000,因为每辆车使用4个连续的端口),就像UCTF simulation。(vehicle_base_port=车辆基地_端口+mav_sys_id*4)

为了总结这个问题,主要关心的是模拟一辆独立的汽车在一个独立的四轮机中飞行,在ROS GaseBeSITL中(可能使用Python节点;C++也是很好的)。有人能告诉我以下问题的答案吗?在

  1. 这种模拟可能吗?(或者在ubuntu14.04上使用ROS Indigo、Gazebo 7、MAVproxy 1.5.2,或者将UCTF项目修改为spawm一辆类似ErleRover的汽车,如果没有其他选择的话) (如果可能的话,请告诉我示例,如果不可能,请提供官方链接)

  2. 如果用两个发射文件无法进行发射,是否可以用一个发射文件发射两个不同的机器人?

  3. 这是一个可选问题:如何修改节点的侦听器(订阅服务器)?(是否在Python节点中完成?)

本次模拟需要较长时间,系统软件崩溃约3次(NVIDIA而不是Noveau、软件包损坏等),如有任何帮助,我们将全心全意,感激并大大。谢谢你的时间和考虑。在

普拉萨德


Tags: 文件文档终端节点官方paramtf选项