Ardupilot开源飞控之FollowMe验证平台搭建
1. 源由
折腾了一段时间,再次捡起《Ardupilot开源飞控之FollowMe计划》。
参考以下信息,搭建硬件验证平台:
- 【1】A small VIO system using raspberry pi and arducam ov9281
- 【2】Integration of ArduPilot and VIO tracking camera (Part 1): Getting started with the Intel Realsense T265 on Rasberry Pi 3B
今天刚发出去OpenIPC模块,提出修改方案,后续逐步完善,搭建测试验证平台。自己玩玩,进度比较慢,有兴趣的朋友评论、点赞,催促催促,谢谢!
2. 硬件框架
imx415 --CSI--> ssc338q(OpenIPC) <--USB--> rtl8812au
^ ^
| |
UART WiFi
| |
v v
H743 FC(Ardupilot) JetsonOrin(VINS Mono/Fusion+ego planner)
3. 软件版本
FC: Ardupilot 4.5.4
IPC: OpenIPC 0f21c01
OS: Jetson Linux 35.5.0
MW: ROS NOETIC
Wfb-ng: 24.08
OpenCV: 4.5.1
Ceres: 1.14.0
Eigen: 3.3.9
VINS Mono: 90dabb5
VINS Fusion: be55a93
ego Planner: 0835f96
uav_mavlink: ???
3.1 Jetson
- 规格: Jetson Orin Nano 8GB
- Linux 36.3@Jetson Orin Nano之系统安装
- Linux 36.2@Jetson Orin Nano之基础环境构建
- Developer Guide applies to NVIDIA® Jetson™ Linux version 35.5.0 GA
- Linux 35.5 + JetPack v5.1.3@ros-noetic安装
Jetson Orin Nano Developer Kit (NVMe), Linux 35.5系统烧录命令:
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \
-c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" \
--showlogs --network usb0 jetson-orin-nano-devkit internal
Jetson Orin Nano Developer Kit, JetPack v5.1.3安装命令:
$ sudo apt install nvidia-jetpack
$ sudo apt install python3-pip
$ sudo pip3 install -U jetson-stats
$ sudo systemctl restart jtop.service
3.2 Ardupilot
3.3 OpenIPC
改动需求:
- 【BEC】9V(VTX power) -18V(4S)自适应电源 //部分VTX 12V输出;若有干扰可以直接使用4S电池供电
- 【结构】可以在不拆卸结构的情况下,单独使用网线+电源转接跳线配置
- 【电源】同时BEC和网线+电源转接跳线供电时,电源不冲突
- 【结构】支持GoPro支架安装
- 【电子】Rx/Tx/VCC/GND引出外接接口(最好能提供一个插接口,方便拆卸)
- 【光学】更换广角镜头,比如:1.7mm焦距 M12孔径
- 【红外】IR-CUT可控
- 【电子】MIC声音记录
- 规格:OpenIPC 0f21c01
- OpenIPC开源IPC之工程编译
- OpenIPC开源IPC之工程框架
- OpenIPC开源IPC之重要源码包
- Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考
- wfb-ng 开源工程结构&代码框架简明介绍
- wfb-ng 开源代码之wfb_tx&wfb_rx
- Is it possible for wfb-ng to configure a mavlink port (NOT telemetry)? #366
3.4 VINS Mono/Fusion
$ sudo apt-get install libceres1 libceres-dev //1.14.0-4ubuntu1.1
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git
$ cd ../
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
- 规格:VINS-Fusion be55a93
- Linux 35.5 + JetPack v5.1.3@VINS-Fusion编译安装
- VINS-Fusion开源代码之vins_node数据流分析
- VINS-Fusion开源代码之loop_fusion_node数据流分析
$ cd ~/catkin_ws/src
$ git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git
$ cd ../
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
3.5 ego Planner
3.6 uav mavlink
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ git clone https://github.com/SnapDragonfly/uav_mavlink.git
$ cd ../
$ catkin_make --pkg uav_mavlink
uav_mavlink
├──> uav_bridge_mavlink //IMU转ROS topic “/imu0”
└──> uav_bridge_camera //视频转ROS topic “/cam0/image_raw”
4. 参考资料
【1】ArduPilot开源飞控系统之简单介绍
【2】Linux 35.5 + JetPack v5.1.3@ego-planner编译安装