uav_bridge开源代码之介绍

1. 源由

这份代码的主要目的是:

  1. 整合VINS-Fusion+ego-planner+ardupilot代码;
  2. 复现基于ardupilot开源路径规划copter平台;
  3. 期望后置伴机电脑;

2. 介绍

根据《Ardupilot开源飞控之FollowMe验证平台搭建》的要求,整个硬件拓扑结构:

imx415 --CSI--> ssc338q(OpenIPC) <--USB--> rtl8812au
                       ^                       ^
                       |                       |
                      UART                    WiFi
                       |                       |
                       v                       v
                H743 FC(Ardupilot)   JetsonOrin(VINS-Fusion+ego-Planner)

uav_bridge的目的就是起到一个桥梁的作用,将会部署在JetsonOrin上,至于到底是后置、前置取决于性能。

3. 构建

3.1 依赖安装

$ sudo apt-get install -y libceres-dev libsoup2.4-dev libjson-glib-dev libgstrtspserver-1.0-dev

3.2 编译安装

详见:uav_bridge编译指南

  • 克隆代码
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ git clone https://github.com/SnapDragonfly/uav_mavlink.git
  • 依赖安装
$ cd uav_mavlink/jetson-utils
$ mkdir build
$ cd build
$ cmake ../
$ make -j$(nproc)
$ sudo make install
$ sudo ldconfig
  • 编译
$ cd ../../../
$ catkin_make --pkg uav_bridge

3.3 模拟测试

详见:uav_bridge使用指南

$ cd ~/catkin_ws
$ source devel/setup.bash
$ roslaunch uav_bridge run.launch

3.4 性能评估

OV5647 --CSI--> RPi3B+(rpanion) <--thernet--> Router
                       ^                       ^
                       |                       |
                      UART                    WiFi
                       |                       |
                       v                       v
                H743 FC(Ardupilot)   JetsonOrin(VINS-Fusion+ego-Planner)

通过UDP-IP网络进行初步性能评估:

IMU:100Hz
IMG:30Hz

uav

4. 总结

当前仅就手边的环境进行了简单的功能验证和性能测试,初步满足基本要求。

由于目前没有结构件,导致尚无法安装做Non-GPS定位测试。后续看看是否有可能进一步验证。

### 解决CMake找不到`uav_utilsConfig.cmake`或`uav_utils-config.cmake`文件的问题 #### 问题分析 当遇到CMake无法找到特定的配置文件如`uav_utilsConfig.cmake`或`uav_utils-config.cmake`时,通常意味着该包尚未被正确安装或者其路径不在CMake模块路径中。这可能是由于依赖项缺失或是环境变量设置不当造成的。 #### 可能的原因 1. **依赖未完全安装**:如果`uav_utils`及其相关依赖没有成功安装到系统的标准位置,那么即使存在这些文件也可能不会被自动检测到。 2. **环境变量错误**:某些情况下,可能是因为`CMAKE_PREFIX_PATH`或其他影响查找路径的环境变量设定不正确所致。 3. **版本兼容性问题**:有时不同版本之间的API变化也会导致此类问题的发生。 #### 解决策略 ##### 安装必要的依赖 确保所有的依赖都已按照官方文档说明完成安装。对于涉及ROS项目的开发来说,可以通过如下命令来验证并安装所需的软件包: ```bash rosdep update && rosdep install --from-paths src -i -y ``` 此操作能够帮助确认是否有任何必需但遗漏的依赖项[^2]。 ##### 设置正确的环境变量 为了使CMake能够在构建过程中定位到自定义库的位置,建议将它们所在的目录加入到`CMAKE_PREFIX_PATH`环境中去。可以在shell启动脚本(比如`.bashrc`)里添加下面的内容: ```bash export CMAKE_PREFIX_PATH=/path/to/installation:$CMAKE_PREFIX_PATH ``` 其中`/path/to/installation`应替换为实际安装了目标库的具体路径。 另外,在执行具体的编译指令之前,最好先重新加载一次当前终端会话中的环境变量以保证修改生效: ```bash source ~/.bashrc ``` ##### 手动指定路径给find_package() 作为最后手段之一,可以直接向`find_package()`传递额外参数来显式指明期望搜索的目标文件所在之处。例如: ```cmake set(uav_utils_DIR /opt/ros/noetic/lib/cmake/uav_utils/) find_package(uav_utils REQUIRED) ``` 这里假设`uav_utils`已经被安置到了默认的ROS工作空间内;如果不是这样的话,则需调整上述路径至实际情况匹配的地方。 ##### 验证安装过程 考虑到可能存在其他潜在因素干扰正常流程,不妨参照具体项目提供的指导手册逐步排查可能出现的问题。例如针对`ego-planner`这类特殊应用场合下的准备工作就显得尤为重要[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值