Ubuntu20.04+MAVROS+PX4+Gazebo保姆级安装教程

本文详细介绍了在Ubuntu20.04上安装PX4飞行控制器软件栈、MAVROS、QGroundControl(QGC)以及使用Gazebo进行仿真的步骤。首先从GitHub克隆PX4源码并更新子模块,然后执行安装脚本。在安装过程中,可能会遇到一些问题,如需更新或修复,可再次运行脚本。接着安装MAVROS和相关额外包,测试连接。最后,安装QGC并启动PX4仿真环境。

Ubuntu20.04+MAVROS+PX4+Gazebo

安装PX4步骤

从github上clone源码

git clone https://github.com/PX4/PX4-Autopilot.git --recursive

进入PX4-Autopilot文件夹,继续下载未下载完的组件

cd PX4-Autopilot/
git submodule update --init --recursive

继续执行ubuntu.sh脚本

bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

中间出错的话执行指令

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

如果过程中有安装失败的地方,可以再用:

bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --fix-missing

更新一下,完成后重启系统

测试一下
进入你下载的PX4-Autopilot文件夹内

make px4_sitl_default gazebo

终端输入 commander takeoff ,可以看到无人机起飞
终端输入 commander land , 可以看到无人机降落
在这里插入图片描述

添加环境变量(添加到~/.bashrc文件中)

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

安装MAVROS

sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras

运行以下命令测试

roslaunch mavros px4.launch

如果出现以下报错
在这里插入图片描述则运行

sudo /opt/ros/kinetic/lib/mavros/install_geographiclib_datasets.sh

安装QGC

参考网站:https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html

PX4仿真

添加完环境变量后,可以通过以下命令进行PX4仿真

roslaunch px4 mavros_posix_sitl.launch

该launch文件会启动gazebo、mavros、px4.launch等
在这里插入图片描述
查看mavros话题

rostopic list

在这里插入图片描述

### 安装ROS on Ubuntu 20.04Ubuntu 20.04安装ROS(Robot Operating System)推荐使用ROS Noetic Ninjemys版本,这是官方支持的长期支持版本,适用于Ubuntu 20.04 LTS。安装过程可以分为以下几个步骤: 1. **配置Ubuntu软件仓库** 在大多数情况下,Ubuntu默认的软件仓库已经包含了ROS所需的依赖项,因此可以跳过手动配置仓库的步骤。如果需要检查或更改仓库设置,可以通过以下命令更新系统包列表: ```bash sudo apt update ``` 2. **添加ROS仓库** 添加ROS官方仓库到系统中,以便能够安装ROS相关的软件包。执行以下命令来添加ROS仓库: ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' ``` 接下来,添加ROS的密钥以确保下载的安全性: ```bash sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 ``` 3. **安装ROS** 更新APT缓存并安装ROS。对于桌面环境,推荐安装`ros-noetic-desktop-full`,它包含了ROS的核心组件以及一些常用的开发工具和可视化工具: ```bash sudo apt update sudo apt install ros-noetic-desktop-full ``` 如果是在嵌入式设备上安装,可以选择安装`ros-noetic-base`,它只包含ROS的基本组件: ```bash sudo apt install ros-noetic-base ``` 4. **初始化rosdep** `rosdep`是一个工具,用于轻松安装系统依赖项。初始化`rosdep`并更新其数据库: ```bash sudo rosdep init rosdep update ``` 5. **设置环境变量** 为了能够在终端中使用ROS命令,需要将ROS的环境变量加载到当前的shell会话中。可以通过以下命令完成: ```bash echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 6. **验证安装** 最后,可以通过运行一个简单的ROS节点来验证安装是否成功: ```bash roscore ``` 如果看到ROS核心服务启动的信息,则表示ROS已经成功安装并运行。 ### 安装PX4 on Ubuntu 20.04 PX4是一个开源的自动驾驶仪软件栈,广泛用于无人机和其他自主机器人。要在Ubuntu 20.04安装PX4,可以按照以下步骤操作: 1. **安装依赖项** 首先,安装PX4所需的依赖项。这些依赖项包括编译工具、Python库等: ```bash sudo apt-get install python3-pip python3-colcon-common-extensions python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential ``` 2. **克隆PX4仓库** 从GitHub上克隆PX4的源代码仓库。这里我们使用`master`分支,它是最新的开发版本: ```bash mkdir -p ~/px4_ws/src cd ~/px4_ws/src git clone https://github.com/PX4/PX4-Autopilot.git ``` 3. **安装子模块** PX4项目依赖于多个子模块,需要初始化并更新这些子模块: ```bash cd PX4-Autopilot git submodule update --init --recursive ``` 4. **构建PX4** 使用`make`命令构建PX4项目。这里我们以`px4_fmu-v5`为目标进行构建,适用于Pixhawk 4等硬件平台: ```bash make px4_fmu-v5_default ``` 构建完成后,生成的固件文件将位于`build/px4_fmu-v5_default/`目录下。 5. **烧录固件** 将生成的固件文件烧录到目标硬件上。可以通过以下命令完成: ```bash make px4_fmu-v5_default upload ``` 确保硬件通过USB连接到计算机,并且处于正确的模式下。 6. **验证安装** 烧录完成后,可以通过连接地面站软件(如QGroundControl)来验证PX4是否正常工作。确保地面站软件能够识别并连接到飞行控制器。 ### 配置ROS与PX4的集成 为了在ROS中使用PX4,需要安装一些额外的软件包,以便能够在ROS环境中与PX4进行通信。以下是配置ROS与PX4集成的步骤: 1. **安装MAVROS** MAVROS是一个ROS包,用于与MAVLink协议兼容的自动驾驶仪(如PX4)进行通信。安装MAVROS: ```bash sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras ``` 2. **安装地理栅栏和安全区域** 如果需要使用地理栅栏和安全区域功能,还需要安装相关的软件包: ```bash sudo apt-get install ros-noetic-mavros-geo ``` 3. **启动MAVROS节点** 启动MAVROS节点以与PX4进行通信。假设PX4通过串口连接到`/dev/ttyUSB0`,波特率为921600: ```bash roslaunch mavros px4.launch fcu_url:=/dev/ttyUSB0:921600 ``` 如果使用的是其他端口或波特率,请相应地调整参数。 4. **验证通信** 通过发布一些测试消息来验证ROS与PX4之间的通信是否正常。例如,可以使用`rostopic`命令查看是否有来自PX4的消息: ```bash rostopic list ``` 应该能看到一系列与MAVROS相关的主题,如`/mavros/state`、`/mavros/global_position/global`等。 5. **使用QGroundControl** QGroundControl是一款流行的地面站软件,支持与PX4进行通信。可以在Ubuntu安装QGroundControl以进一步调试和测试PX4: ```bash sudo snap install qgroundcontrol --classic ``` ### 总结 通过上述步骤,可以在Ubuntu 20.04上成功安装ROS Noetic和PX4,并配置它们之间的集成。ROS提供了强大的机器人开发框架,而PX4则为无人机和其他自主机器人提供了可靠的自动驾驶仪软件栈。两者的结合可以为机器人开发提供丰富的功能和工具。 ###
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值