官方地址:
https://docs.px4.io/master/zh/computer_vision/visual_inertial_odometry.html
视觉位置和GPS不能同时运行
VIO使用视觉里程计(visual odometry)从相机图像估计机身姿态,同时结合机身IMU或着飞控IMU惯性测量,来校正快速移动造成的图像不良问题。
px4并不关心定位信息的来源,VIO信息友ROS传递到PX4
ROS/VIO安装
1、安装和配置MAVROS
2、VIO Bridge ROS 节点
cd ~/catkin_ws/src
git clone https://github.com/Auterion/VIO.git
cd ..
catkin build px4_realsense_bridge
根据摄像头安装朝向,配置bridge_mavros.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"/>
这是将摄像机ROS帧camera_pose_frame链接到mavros无人机帧base_link的静态转换。
前三个参数指定解释为从飞控中心到摄像机的 x,y,z方向,以米为单位。 例如,如果摄像头在飞控前方10cm,上方4cm, 则前三个数字将是:[0.1, 0, 0.04 ...]
接下来的三个 参数 是旋转弧度(偏航, 俯仰, 横滚)。 所以 [... 0, 1.5708, 0] 是向下俯仰90度(朝向地面)。 超前 [... 0 0 0]。
启动运行VIO
roslaunched px4_realsense_bridge_mavros.launch
启动文件选项是:
bridge_mavros.launch
(opens new window): 在大多数情况下在无人机/无人车上使用(启动桥桥接和MAVROS)。
bridge.launch
(opens new window): 如果其他组件负责启动 MAVROS(仅启动桥接),则使用
bridge_mavros_sitl.launch
(opens new window):用于模拟仿真(启动桥接, MAVROS, SITL)