在运行ROS Gazebo仿真中产生新的机器人

时间:2016-10-28 15:58:00

标签: python port simulation ros robotics

问题陈述是模拟汽车'在this question中提到的ROS Gazebo SITL中的四轴飞行器。已经考虑了两种可能性,如图中所示。

enter image description here

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

在尝试搜索选项1时,文档看起来很稀疏(想法是使用ErleRover启动模拟,然后随时随地生成ErleCopter;我还没有发现任何官方文档提到可能性或此选项的不可能性)。是否可以请某人通过提及相应的官方文件让我知道如何实现选项1或者为什么不可能?

关于备选方案2,已探讨了其他备选方案;问题显然有两个方面:param vs rosparam和tf2 vs tf_prefix。 simulation of multiple turtlebots的部分尝试使用tf_prefix which is deprecated。但是,在模拟多个(不同)机器人时,我无法找到任何使用tf2的示例。但是,tf2适用于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 = VEHICLE_BASE_PORT + mav_sys_id * 4)

总结这个问题,主要关注的是模拟一辆独立的汽车四处移动,一架独立的四轴飞行器在ROS Gazebo SITL中飞来飞去(可能使用Python节点; C ++也很好)。有人可以请我告诉我以下子问题的答案吗?

  1. 这种模拟是否可行? (通过在Ubuntu 14.04上使用ROS Indigo,Gazebo 7,MAVproxy 1.5.2或者修改UCTF项目来生成像ErleRover这样的汽车,如果没有其他选择) (如果可能的话,请您告诉我这些例子,如果不可能,请告知官方链接)

  2. 如果使用两个启动文件无法在移动中启动,是否可以使用一个启动文件启动两个不同的机器人?

  3. 这是一个可选的问题:如何修改节点的监听器(订户)? (它是在Python节点中完成的吗?)

  4. 这种模拟花费了相当长的时间,系统软件崩溃了大约3次(NVIDIA而不是Noveau,破坏的软件包等),任何帮助都将全心全意,非常感激,非常感谢赞赏。感谢您的时间和考虑。

    Prasad N R

0 个答案:

没有答案