Ubuntu20.04安装ROS1+PX4+MAVROS+QGC

救救我救救我、、 2024-06-11 16:07:16 阅读 69

目录

1. 一键安装ROS1

2. 安装PX4

3. 添加变量

4. 安装MAVROS 

5. 测试MAVROS与PX4是否连接

6. 安装QGC

参考

1. 一键安装ROS1

 (参考鱼香ROS大佬:小鱼的一键安装系列) 

wget http://fishros.com/install -O fishros && . fishros

输入1,安装 ROS,后面就按照推荐的来

ROS1安装完成 ,进行小海龟测试

打开终端,运行

roscore

另外打开一个终端,输入 

rosrun turtlesim turtlesim_node

再另外打开一个终端,输入

rosrun turtlesim turtle_teleop_key

 可以通过方向键控制小海龟运动

2. 安装PX4

从github上下载源码(需要挂代理)

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

如果出现如下错误

则运行

sudo apt install git

等待几分钟后源码下载完成

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

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

继续执行ubuntu.sh脚本

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

中间如果出错

执行指令

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

 如果过程中有安装失败的地方,可以更新修复一下

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

完成后重启系统,并进入PX4-Autopilot文件夹进行测试

cd PX4-Autopilotmake px4_sitl_default gazebo

输入起飞指令

commander takeoff

然后关闭Gazebo

shutdown

3. 添加变量

在环境变量文件中直接添加

1. 打开文件,在终端输入

sudo gedit ~/.bashrc

 2. 在ROS行后面添加代码

source ~/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_defaultexport ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilotexport ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic

3. 点击保存,并关闭,在终端输入

source ~/.bashrc

4. 重启终端,顶端出现下图所示,代表添加变量成功

4. 安装MAVROS 

打开终端运行

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

进行测试 

roslaunch mavros px4.launch

 如果报错

运行

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

再次测试,还是同样错误,经过搜索,发现是未连接硬件的正常现象

http://www.360doc.com/content/12/0121/07/1676247_1081096209.shtml

注意:如果接上飞控还报错的话,可执行下面操作:

终端输入

cd /opt/ros/noetic/share/mavros/launch/sudo touch px4_ACM0.launch

打开 px4_ACM0.launch 文件,

sudo gedit px4_ACM0.launch

将其内容改为

<launch><!-- vim: set ft=xml noet : --><!-- example launch script for PX4 based FCU's --> <arg name="fcu_url" default="/dev/ttyACM0:921600" /><arg name="gcs_url" default="" /><arg name="tgt_system" default="1" /><arg name="tgt_component" default="1" /><arg name="log_output" default="screen" /><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/px4_pluginlists.yaml" /><arg name="config_yaml" value="$(find mavros)/launch/px4_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="log_output" value="$(arg log_output)" /><arg name="fcu_protocol" value="$(arg fcu_protocol)" /><arg name="respawn_mavros" default="$(arg respawn_mavros)" /></include></launch>

保存退出。

然后终端输入

sudo chmod 777 /dev/ttyACM0

然后再次启动 mavros,终端输入

roslaunch mavros px4.launch

 不再报错。

5. 测试MAVROS与PX4是否连接

运行

roslaunch px4 mavros_posix_sitl.launch

 Gazebo,PX4和MAVROS启动,说明连接正常

另外打开一个终端,运行

rostopic echo /mavros/state

connected显示ture表示连接正常 

如果执行命令后显示错误,可在另一终端运行roscore后,再重新测试。

6. 安装QGC

参考文档

https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html

打开终端,运行

sudo usermod -a -G dialout $USER

运行

sudo apt-get remove modemmanager -y

运行

sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y

运行

sudo apt install libqt5gui5 -y

运行

sudo apt install libfuse2 -y

 注销并重新登录,以确保更改生效

下载 QGroundControl.AppImage

在下载文件夹中打开终端,并运行

chmod +x ./QGroundControl.AppImage./QGroundControl.AppImage

安装完成

参考

Ubuntu20.04+MAVROS+PX4+Gazebo保姆级安装教程Ubuntu18.04下ROS+Gazebo+Mavros+PX4安装教程(最新!最全!)


声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。