当前位置: 首页 > news >正文

ego-planner代码个人阅读笔记

写在前面:不建议观看

1.学习代码编程规范架构:

在功能包下分出files文件夹用于存放过程输出文件如节点图等;

创建scripts存放脚本文件如shell脚本可以存放roslaunch的命令靠sh xx.sh启动,#号注释;以及bash文件即可以进行判断等高级操作的shell脚本。

src文件真正存C工程和CMake的地方

2.px4ctrl文件夹

有许多其他文件夹中不曾出现的,原因是用于开发环境配置,使得团队成员在编写代码时配置统一。

(1).vscode文件夹:

有两个json文件:c_cpp_properties.json和settings.json。JSON 是一种轻量级的数据交换格式,是存储和交换文本信息的语法

需要特别注意的是他是告诉Vscode这个IDE相应的配置信息而不是ROS等其他环境的编译信息,因此有时候会出现Vscode的配置信息和你本地的不匹配但是还是可以编译。这个不正确的话影响的应该是在IDE写代码时的报错说找不到库。

(2)config文件夹:集中管理所有配置文件,cfg文件的意思是存储应用程序的设置和参数。不仅能配置参数还能配置应用程序如代码检查工具等

(3)编译头文件设置:在cMake中设置:

include_directories(${catkin_INCLUDE_DIRS}${CMAKE_SOURCE_DIR}/../include  # 关键:添加 src 同级目录的 include
)

带${}的意思是使用变量的意思,把这个整体看成一级路径就行。所以要识别当前路径的头文件只需要在这加上include即可

(4)find_package,默认从环境变量设置的ros以及devel下的catkin下的cmake找,找到配置文件后就会找到ros的头文件和devel的头文件。

其次还可以自定义路径,如果找不到了他会在这里找

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")

(5)launch文件

multi_node.launch:控制多个无人机节点iris0,1,2,这是命名空间,实际上是px4ctrl_0才是节点名字,重映射话题防止话题重复from="odom" to="mavros/local_position/odom"后odom这个话题就变成/iris_0/mavros/local_position/odom,在这个命名空间下启动mavros的话题。

然后导入自己的参数yaml。

run_mavros_gazebo.launch:在仿真环境下的单架无人机,软件在环 (SITL):在软件上模拟无人机飞控

run_node.launch:单架无人机

(6)$(find px4)为什么不是find这个PX4-Autopilot

答案是由于历史原因命名出现两个,所以ros在编译时只会认package_xml中的标签name,他实际上都功能是查找package_xml对应的功能包的路径,find px4是ros独创的。

http://www.dtcms.com/a/319272.html

相关文章:

  • 智慧物流分拣效率↑40%:陌讯多模态融合算法实战解析
  • Spring AI Alibaba 项目接入阿里云百炼平台大模型
  • leetcode-hot-100 (技巧)
  • STM32 HAL库外设编程学习笔记
  • SpringBoot中的单例注入方式
  • 上位机知识篇---AT指令
  • 「日拱一码」045 机器学习-因果发现算法
  • C 语言第 17 天学习笔记:从二级指针到内存布局的进阶指南
  • 力控汽车零部件冲压MES系统方案
  • 2025最新国内服务器可用docker源仓库地址大全(2025年8月更新) · DockerHub镜像加速全面指南
  • STM32学习笔记4-OLED外部中断和中断系统
  • nlp-句法分析
  • 虚幻GAS底层原理解剖八 (自定义子类)
  • nohup 学习笔记
  • AWS RDS自定义终端节点深度分析工具:Python脚本详解
  • PyTorch 核心三件套:Tensor、Module、Autograd
  • 旅游mcp配置(1)
  • cookie和session之间区别
  • 从BaseMapper到LambdaWrapper:MyBatis-Plus的封神之路
  • 组件安全漏洞
  • 站在Vue的角度,对比鸿蒙开发中的状态管理
  • 机器学习工程化 3.0:从“实验科学”到“持续交付”的 7 个关卡
  • 淘宝商品价格数据采集||淘宝SKU价格数据采集API
  • 从配置到远程访问:如何用群晖NAS FTP+ Cpolar搭建稳定文件传输通道
  • Charles中文版抓包工具使用指南 提高API调试和网络优化效率
  • 通信中间件 Fast DDS(一) :编译、安装和测试
  • rk3588s vscode索引失败的问题
  • Numpy科学计算与数据分析:Numpy随机数生成入门
  • Numpy科学计算与数据分析:Numpy数据分析基础之统计函数应用
  • 【线性代数】5特征值和特征向量