目录
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 pip
python3 -m pip install --upgrade Pillow
如果过程中有安装失败的地方,可以更新修复一下
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --fix-missing
完成后重启系统,并进入PX4-Autopilot文件夹进行测试
cd PX4-Autopilot
make 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_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
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
文章来源:https://www.toymoban.com/news/detail-807832.html
安装完成文章来源地址https://www.toymoban.com/news/detail-807832.html
参考
- Ubuntu20.04+MAVROS+PX4+Gazebo保姆级安装教程
- Ubuntu18.04下ROS+Gazebo+Mavros+PX4安装教程(最新!最全!)
到了这里,关于Ubuntu20.04安装ROS1+PX4+MAVROS+QGC的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!