【逆向工程 01】roslaunch prometheus_gazebo sitl.launc 上

本文介绍了如何通过一个ROS的launch文件启动Prometheus的PX4SITL和Gazebo模拟环境,包括设置环境变量、启动节点、仿真速度因子以及飞行器模型的加载。此外,文章还讨论了launch文件的标准流程,关注了`px4_pos_estimator`中关于定位数据输入源的配置,指出默认使用vicon,但可以通过修改`input_source`参数切换至其他来源如激光SLAM或Gazebo的真实世界值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Prometheus


)

引言:任务是从单独的启动一个工作空间功能 包 实现prometheus的功能

首先我们从她推荐的代码开始
在这里插入图片描述
也就是这一段代码:

roslaunch prometheus_gazebo sitl.launch	

众所周知 prometheus_gazebo 是她的功能包 是 她的执行launch文件

这段代码是一段ROS的launch文件,它在启动时创建了两个节点:一个PX4的SITL(Software-in-the-loop)模拟节点,一个Gazebo模拟节点。

首先,在PX4 SITL模拟节点启动前,它设置了三个环境变量,分别用于指定仿真模型、估计器参数和仿真速度因子。然后启动PX4 SITL节点,这个节点通过指定的PX4配置文件和ROMFS目录来初始化PX4的SITL功能。

然后是Gazebo模拟节点,在启动Gazebo模拟前,它首先定义了一些参数,包括是否启用图形界面、是否调试、是否暂停等,然后启动Gazebo模拟,指定世界文件。

最后,这段代码还包括了在Gazebo中添加一个飞行器模型的语句,指定了飞行器模型的初始位置和姿态。

总的来说,这段代码实现了PX4飞控仿真和飞行器仿真的同时启动,它是一个加载多个模拟节点的脚本。

这里我们复习一下launch文件标准流程 :
(复习标准launch文件很有必要 ,这是为了看懂她的结构)!!

抛开参数不谈 继续深入 可以看到 prometheus调动了三个文件

  • px4_pos_estimator
  • ground_station
  • ground_station_msg
	<node pkg="prometheus_station" type="ground_station_msg" name="ground_station_msg" output="screen" launch-prefix="gnome-terminal --tab --">	

这里我们要注意到 node pkg 跟的是 node的名 ,是可以自己编写的 ,
而她type 后面跟的源代码文件 才是她所用的得!

于是我们找到这三个文件 ,看她分明表达了什么意思!

我们找到了 px4_pos_estimator .cpp 好家伙 ,又是 slam 又是

T256的 vicon ,先跳主函数看看:


居然默认定位用的是 vicon! 我还一直以为用的是 gps:不过我们在仿真文件中改成了2 用的是 gazebo 真实世界值!

    // 定位数据输入源 0 for vicon, 1 for 激光SLAM, 2 for gazebo ground truth, 3 for T265 ,  9 for outdoor 
    nh.param<int>("input_source", input_source, 0);

在这个代码中订阅了很多东西 让我联想到了主函数外面发布了很多东西:
但是这东西很多都是为了复合多个工程而写在那里的
外面就要自动屏蔽这些没有消息的源头,最好重新自己写一遍

   nh.param<int>("input_source", input_source, 0);

这段代码是在ROS(Robot Operating System)中使用的,它是一种通过命名空间"nh"读取ROS参数服务器中的参数的方法。

其中:

nh.param是一个ROS定义的函数,用于从参数服务器中读取参数。

"input_source"是要读取的参数的名称。

input_source是一个int类型的变量,用于存储读取的参数的值。

0是读取参数的默认值。如果在参数服务器中找不到"input_source"参数,则将使用该默认值。

这段代码的目的是从ROS参数服务器中读取名为"input_source"的参数,并将该参数的值存储在input_source变量中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-ATAO----

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值