mavros ArduSub SITL Ubuntu环境搭建

本文详细介绍了如何在Ubuntu环境下搭建ArduSubSITL(仿真飞行器系统)环境,包括设置构建环境、启动SITL仿真、安装mavros软件包等关键步骤,为无人机开发提供了实用指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ArduSub SITL Ubuntu环境搭建

第一步:
http://ardupilot.org/dev/docs/building-setup-linux.html#building-setup-linux
Setting up the Build Environment (Linux/Ubuntu)
如果已经有git了。可以忽略页面中git相关的步骤。

git clone https://github.com/ArduPilot/ardupilot
cd ardupilot
git submodule update --init --recursive

Tools/environment_install/install-prereqs-ubuntu.sh -y  
(安装耗时很长,需要权限, 可能报错,报错再根据提示或根据经验进行修正)
. ~/.profile

找到你的路径,根据你的路径修改环境变量,例如:
export PATH=$PATH:$HOME/ardupilot/Tools/autotest
export PATH=/usr/lib/ccache:$PATH

安装交叉编译工具
cd TARGET_DIR
tar -xjvf gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2

export PATH=$PATH:TARGET_DIR/gcc-arm-none-eabi-4_9-2015q3/bin

sudo apt-get install ccache

cd /usr/lib/ccache
sudo ln -s /usr/bin/ccache arm-none-eabi-g++
sudo ln -s /usr/bin/ccache arm-none-eabi-gcc

第二步:
http://ardupilot.org/dev/docs/setting-up-sitl-on-linux.html
启动SITL

$ sim_vehicle.py -v ArduSub

当显示
.....
APM: EKF2 IMU0 is using GPS
APM: EKF2 IMU1 is using GPS
Flight battery 100 percent
就成功了。
按ctrl+C。再启动sim_vehicle.py

ardupilot/Tools/autotest$ sim_vehicle.py -L RATBeach --out=udp:0.0.0.0:14550 --map –console -v ArduSub

第三步,安装运行mavros相关软件包
$sudo apt-get install ros-kinetic-mavros*

修改apm.launch
<launch>
    <!-- vim: set ft=xml noet : -->
    <!-- example launch script for ArduPilot based FCU's 

    <arg name="fcu_url" default="/dev/ttyACM0:57600" />
-->
    <arg name="fcu_url" default="udp://127.0.0.1:14550@" />
    <arg name="gcs_url" default="" />
    <arg name="tgt_system" default="1" />
    <arg name="tgt_component" default="1" />
    <arg name="fcu_protocol" default="v2.0" />
    <arg name="respawn_mavros" default="false" />

    <include file="$(find mavros)/launch/node.launch">
        <arg name="pluginlists_yaml" value="$(find mavros)/launch/apm_pluginlists.yaml" />
        <arg name="config_yaml" value="$(find mavros)/launch/apm_config.yaml" />

        <arg name="fcu_url" value="$(arg fcu_url)" />
        <arg name="gcs_url" value="$(arg gcs_url)" />
        <arg name="tgt_system" value="$(arg tgt_system)" />
        <arg name="tgt_component" value="$(arg tgt_component)" />
        
        <arg name="fcu_protocol" value="$(arg fcu_protocol)" />
        <arg name="respawn_mavros" default="$(arg respawn_mavros)" />
    </include>
</launch>
运行修改后的apm.launch。
开始SITL了。

可能报错:
File not readable /usr/share/GeographicLib/geoids/egm96-5.pgm | 
Run install_geographiclib_dataset.sh script in order to install Geoid Model dataset!
解决方法:从github下mavros源码。源码中找到install_geographiclib_dataset.sh  使用root用户执行此脚本。
$ find . -name install*
./mavros/scripts/install_geographiclib_datasets.sh

安装时间很长。安装好之后,再次遇到同样的错误。发现安装目录在/usr/local/share/GeographicLib/ 而 launch读取路径是/usr/share/GeographicLib。拷贝一份到/usr/share/GeographicLib路径下。OK。

Ubuntu 20.04 系统上安装 MAVROS 二进制包,可以通过 ROS 的官方软件仓库进行安装。MAVROS 是 ROS 中用于与 MAVLink 协议设备(如 Pixhawk 系列飞控)通信的软件包,适用于 ROS Noetic 版本。 ### 安装步骤如下: 1. **确保已经安装 ROS Noetic** 在安装 MAVROS 之前,需要确保系统中已经正确安装了 ROS Noetic。如果尚未安装,可以从 ROS 官方文档获取安装指南。 2. **安装 MAVROS 二进制包** 打开终端并运行以下命令,以安装 MAVROS 及其附加组件: ```bash sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras ``` 该命令将从 Ubuntu 的 ROS 软件仓库中下载并安装 MAVROS 的二进制版本及其额外功能包[^3]。 3. **验证安装** 安装完成后,可以通过以下命令检查 MAVROS 是否已正确安装: ```bash roscd mavros ``` 如果命令成功切换到 MAVROS 的安装目录,则表示安装成功。 4. **安装 GeographicLib 数据集(可选)** MAVROS 依赖 GeographicLib 来进行地理坐标转换。如果需要使用完整的地理功能,可以运行以下脚本来下载并安装相关数据集: ```bash sudo wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh chmod +x ./install_geographiclib_datasets.sh sudo sh ./install_geographiclib_datasets.sh ``` 该脚本将自动下载并配置 GeographicLib 数据集,以确保 MAVROS 能够进行准确的地理坐标转换[^1]。 ### 环境变量配置(可选) 如果计划与 PX4 SITL 仿真环境配合使用,还需要配置 ROS 环境变量。可以将以下代码添加到 `~/.bashrc` 或 ROS 相关的环境配置文件中: ```bash source ~/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_default export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic ``` 此配置确保 ROS 能够正确识别 PX4 相关的功能包和仿真环境[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值