Acfly相关库的安装

Acfly相关库的安装
AyaAcfly 相关库的安装
安装 mavros
参考 acfly_mavros 官方 readme 写的安装步骤
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31sudo apt-get install python-catkin-tools python-rosinstall-generator -y
# 如果用的ROS版本是Noetic则使用
# sudo apt install python3-catkin-tools python3-rosinstall-generator python3-osrf-pycommon -y
# 需要替换你的ROS版本,且以下指令需要在同一个终端执行
source /opt/ros/${你的ROS版本}/setup.bash
# 因为acfly增加了自定义mavlink信息,若之前有通过二进制安装过mavros则需要卸载,没有则跳过
sudo apt purge ros-${ROS_DISTRO}-mavlink ros-${ROS_DISTRO}-mavros
# 构建ROS工作空间,可以自行修改路径
mkdir -p ~/acfly_ws/src && cd ~/acfly_ws
catkin init
# 下载mavlink和acfly-mavros
cd src
git clone -b release/${ROS_DISTRO}/mavlink/2022.1.5-1 https://gitee.com/LauZanMo/mavlink
git clone -b acfly-develop https://gitee.com/LauZanMo/acfly-mavros
# 安装依赖,如果rosdep update没执行则需要执行成功才能继续
cd .. && rosdep install --from-paths src --ignore-src -y
# 安装GeographicLib:
./src/acfly-mavros/mavros/scripts/install_geographiclib_datasets.sh
# 第一次编译请执行acfly提供的脚本
./src/acfly-mavros/update_custom_msg.sh
# 后续更改mavros源码只需要执行catkin build
# 每一次开启终端都需要设置环境变量
source devel/setup.bash安装 GeographicLib 出问题:
将下载完的 GeographicLib 文件整个直接放到/usr/share/下1
2# 进到存放GeographicLib的文件下
sudo mv ./GeographicLib /usr/share
安装 T265 相关库
注意!
如果要同时使用 T265 和 D435 的话, 请勿直接使用本文!
本文仅为单独使用 T265 时的教程。
请参考 T265 和 D435 联合使用
1 | git clone -b ros1-legacy https://github.com/IntelRealSense/realsense-ros.git |
安装 T265 和坐标转换的工具包
1
2
3
4
5
6
7
8
9
10
11
12
13
14# 进到自己创建的acfly_ws工作空间下
cd ~/acfly_ws/src
# 克隆t265转换飞控的坐标的包
git clone https://github.com/thien94/vision_to_mavros.git
# 克隆t265的工具包
git clone -b v2.50.0 https://github.com/IntelRealSense/librealsense.git
# 到工作空间下编译所有的工具包
# 此处编译时 librealsense 会出现 warn 不用管,不影响后续使用
# 若其warn为git clone相关的网络警告
# 则需要清空其 librealsense 和 realsense2_camera catkin build 出来的相关文件
cd ~/acfly_ws && catkin build清空相关文件的指令为:
1
2
3
4
5
6
7
8
9
10cd ~/acfly_ws
sudo rm -rf ./logs/realsense2_camera
sudo rm -rf ./logs/librealsense2
sudo rm -rf ./build/librealsense2
sudo rm -rf ./build/realsense2_camera
sudo rm -rf ./devel/*/realsense2_camera
sudo rm -rf ./devel/*/librealsense*
# 清空完后重新 catkin build
cd ~/acfly_ws && catkin build使用说明
直接使用:
1
2
3
4
5
6
7
8
9
10
11
12# 第一个终端
# 打开t265
roslaunch realsense2_camera rs_t265.launch
# 第二个终端 添加参数说明fcu_url:=/dev/ttyUSB0:57600
# 我使用的orangepi5plus上的gpio的uart
roslaunch mavros acfly.launch fcu_url:=/dev/ttyS3:57600
# 第三个终端
# 此处需要先source前一步安装mavros工作空间中的setup.bash
source devel/setup.bash
roslaunch vision_to_mavros t265_tf_to_mavros.launch创建 launch 文件一次性调用:
1
2
3
4
5
6
7cd ~/acfly_ws/src
catkin_create_pkg acfly_master_launch rospy roscpp
cd ..
catkin build
cd ./src/acfly_master_launch
mkdir ./launch && cd ./launch
vim ./start_all.launch编写 launch 文件:
1
2
3
4
5
6
7
8
9
10
11
12
13<launch>
<!-- 启动第一个终端的realsense2_camera节点 -->
<include file="$(find realsense2_camera)/launch/rs_t265.launch" />
<!-- 启动第二个终端的mavros节点 -->
<!-- value="/dev/ttyUSB0:57600"请根据实际串口进行更改 -->
<include file="$(find mavros)/launch/acfly.launch">
<arg name="fcu_url" value="/dev/ttyUSB0:57600"/>
</include>
<!-- 启动第三个终端的vision_to_mavros节点 -->
<include file="$(find vision_to_mavros)/launch/t265_tf_to_mavros.launch" />
</launch>启动:
1
roslaunch acfly_master_launch start_all.launch
注意!
Acfly_A9 在不知名的一次固件版本更新之后,就算飞机没有接受到来着 T265 的传感器定位信息也能启动。
会进入定高模式,正常启动应该是进入定点模式,这将导致飞机乱飞不可控。