ROS+PX4+Gazabo Classic +Mavros环境配置
一、安装双系统以及配置ROS环境
-
安装双系统:ubuntu20.04
参考b站:机器人工匠阿杰 Ubuntu双系统安装
https://www.bilibili.com/video/BV1554y1n7zv/?spm_id_from=333.337.search-card.all.clickswap分区建议设大一些。
我电脑16G运行内存,swap分区设置的20G。
-
鱼香ROS 安装ROS 1
参考:https://www.bilibili.com/opus/934654041226477571?from=readlist
二、配置PX4环境
-
打开终端,克隆源代码
git clone https://github.com/PX4/PX4-Autopilot.git --recursive -
cd 到PX4-Autopilot中,运行更新子模块
git submodule update --init --recursive -
运行ubuntu.sh
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh注:如果发现运行时pip下载速度很慢,那么就需要对pip进行换源,具体步骤如下:
①打开终端,依次输入以下指令:
mkdir ~/.pip/ cd .pip sudo gedit pip.conf②在弹出的配置文件中填写源信息
[global] timeout = 6000 index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host=pypi.tuna.tsinghua.edu.cn③查看当前源
pip config list④换源成功后重新运行第一条指令:
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh -
重启电脑
-
安装依赖项:
sudo apt-get install protobuf-compiler libeigen3-dev libopencv-dev -y -
gedit ~/.bashrc打开.bashrc文件,在底部添加一行:其中的username为你自己的用户名
export PATH="$PATH:/home/username/.local/bin"保存退出
-
终端更新numpy版本:
pip install --upgrade numpy -
安装OpenJDK:
sudo apt install default-jdk
三、测试gazebo
-
进入PX4目录:
cd PX4-Autopilot -
编译环境:
make px4_sitl gazebo
编译完成后会出现如上界面,编辑过程比较快,也没有出现报错。
在终端输入 commander takeoff 后,可以看到飞机起飞到2.5m处悬停。

输入 commander land 后,可以看到飞机降落。
四、地面站QGC安装
-
依次输入以下命令:
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 libfuse2 -y sudo apt install libxcb-xinerama0 libxkbcommon-x11-0 libxcb-cursor-dev -y -
重启电脑
-
官网下载QGroundControl.AppImage. 参考官网:https://docs.qgroundcontrol.com/master/en/qgc-user-guide/getting_started/download_and_install.html
-
打开终端依次输入以下命令添加权限并运行:
chmod +x ./QGroundControl.AppImage./QGroundControl.AppImage
-
安装完成后进入下载的地址并运行地面站:
cd Downloads/./QGroundControl.AppImage

出现如上界面即可。
-
再打开一个终端:
cd PX4-Autopilotmake px4_sitl gazebo可以看到QGC以及和无人机连接上了,左上角显示Ready To Fly,点击起飞就可以使无人机飞起来

-
设置环境变量:
先打开.bashrc文件
gedit ~/.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 -
安装GeographicLib 的数据集:
wget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.sh授予执行权限:
sudo chmod a+x ./install_geographiclib_datasets.sh执行:
sudo ./install_geographiclib_datasets.sh
六、测试通信
-
roslaunch px4 mavros_posix_sitl.launch出现以下界面:

-
另打开一个终端,运行
rostopic echo /mavros/state出现以下界面:connected:True就表示MAVROS与SITL通信成功。

至此Ubuntu20.04+ROS+PX4+Mavros+Gazebo Classic的环境配置完成。
参考博客:
- https://www.bilibili.com/opus/934654041226477571/?from=readlist
- https://blog.csdn.net/lcjsddddd/article/details/134089398
PX4官网:https://docs.px4.io/main/zh/ros/mavros_offboard_cpp.html
更多推荐



所有评论(0)