赞
踩
目录
二、Realsense SDK和Realsense-ROS的安装
1.硬件
飞控:Pixhawk 6C
机载电脑:Jetson nano 4GB B01
视觉定位模块:Intel RealSense T265
2.软件
操作系统:Ubantu 18.04
控制平台:ROS1 melodic,MAVROS,realsense-ros
在Jetson nano安装好ROS melodic后,安装MAVROS。Jetson nano安装ROS可参考Jetson nano ROS安装教程
- #MAVROS的安装
- sudo apt install ros-melodic-mavros ros-melodic-mavros-extras
注意:在安装过程中,需要将T265与Jetson nano断开连接。
首先,进行Realsense SDK的安装
- git clone https://github.com/IntelRealSense/librealsense
- cd librealsense
-
- # 安装依赖项
- sudo apt-get install libudev-dev pkg-config libgtk-3-dev
- sudo apt-get install libusb-1.0-0-dev pkg-config
- sudo apt-get install libglfw3-dev
- sudo apt-get install libssl-dev
-
- sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
- sudo udevadm control --reload-rules && udevadm trigger
-
- # 编译 安装
- mkdir build
- cd build
- cmake ../ -DBUILD_EXAMPLES=true
- make
- sudo make install
-
- # 插上T265运行此代码测试,如果出现T265交互界面,并在交互界面中打开T265的开关后出现运动轨迹数据,证明安装成功
- realsense-viewer

然后,进行Realsense-ROS的安装
- mkdir -p ~/catkin_ws/src
- cd ~/catkin_ws/src/
- git clone https://github.com/IntelRealSense/realsense-ros.git
- git clone https://github.com/pal-robotics/ddynamic_reconfigure
-
- # 更改cv_bridgeConfig.cmake中opencv4路径
- sudo gedit /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake
在cv_bridgeConfig.cmake文件中,进行如下更改:

更改完成后,保存并推出,进行编译
- cd ~/catkin_ws
- catkin_make
-
- echo "source ~/catkin_ws/devel/setup.bash">>~/.bashrc
- source ~/.bashrc
-
- #测试,如果在终端中节点成功开启,证明安装成功
- roslaunch realsense2_camera rs_t265.launch
报错处理:如果在编译过程中出现以下报错
`-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
– ~~ traversing 4 packages in topological order:
– ~~ - realsense2_camera_msgs (plain cmake)
– ~~ - realsense2_description (plain cmake)
– ~~ - ddynamic_reconfigure
– ~~ - realsense2_camera (plain cmake)
– ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~CMake Error at /opt/ros/melodic/share/catkin/cmake/catkin_workspace.cmake:100 (message):`
说明没有正确对Realsense-ROS进行处理。可通过以下方式解决:
- cd ~/catkin_ws/src/realsense-ros/
- git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1`
- cd ~/catkin_ws
- catkin_make clean
- catkin_make
三、VIO的安装
- #安装VIO
- cd ~/catkin_ws/src
- git clone https://github.com/Auterion/VIO.git
- cd ..
- catkin_make
在安装完成后,需要根据T265的实际安装位置修改VIO的配置参数。
首先打开bridge.launch文件
gedit ~/catkin_ws/src/VIO/launch/bridge.launch
找到如下字段:
<node pkg="tf" type="static_transform_publisher" name="tf_baseLink_cameraPose"args="0 0 0 0 1.5708 0 base_link camera_pose_frame 1000"/>
在args中,前面三个数字为飞控中心指向T265中心的空间向量,单位:m。例如,T265在飞控前方8厘米,下方5厘米,那么将三个数字改为[0.08,0,0.05],如果是在相反方向,将其写为负数即可。
后面三个数字为旋转角(偏航, 俯仰, 横滚)。若T265摄像头朝地,则参数为[0,1.5708,0],若T265摄像头朝向飞机机头方向,则参数为 [0,0,0]。
如果使用USB连接飞控和Jetson nano的话,打开px4.launch文件
sudo gedit /opt/ros/melodic/share/mavros/launch/px4.launch
找到第五行
<arg name="fcu_url" default="/dev/ttyACM0:57600" />
此处default的值应为"/dev/ttyACM0:57600"。
同时检查VIO功能包中bridge_mavros.launch文件
gedit ~/catkin_ws/src/VIO/launch/bridge_mavros.launch
找到第三行
<arg name="fcu_url" default="/dev/ttyACM0:57600" />
此处default的值同样应为"/dev/ttyACM0:57600"。
- # 用自己的系统用户名替代<username>
- sudo usermod -a -G dialout <username>
- # 重启后生效
- reboot
| 参数名 | 对应功能 |
|---|---|
| EKF2_AID_MASK | 通过此参数可修改位置、偏航角数据来源。此处将其值改为24 |
| EKF2_HGT_MODE | 修改高度信息来源,将其修改为来自视觉(Vision) |
| EKF2_EV_DELAY | Vision Position Estimator delay relative to IMU measurements |
| EKF2_EV_POS_X, EKF2_EV_POS_Y, EKF2_EV_POS_Z | 修改T265相对于飞控的位置 |
EKF2_EV_POS_X为T265相对飞控的前后位置,如果T265在飞控前方,则值为正数,反之则为负数。单位:m。
EKF2_EV_POS_Y为T265相对飞控的左右位置,如果T265在飞控右方,则值为正数,反之则为负数。单位:m。
EKF2_EV_POS_Y为T265相对飞控的上下位置,如果T265在飞控下方,则值为正数,反之则为负数。单位:m。
运行如下代码,启动VIO节点
roslaunch px4_realsense_bridge bridge_mavros.launch
运行成功后,Jetson nano开始向PX4发送T265获取的数据。此时,打开QGC地面站,移动无人机,观察无人机高度、位移、偏航角的变化。
使用Jetson Nano向PX4提供T265位置信息,实现室内定点飞行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。