侧边栏壁纸

Ubuntu20.04下ROS1开发环境搭建(对应PX4 V1.14)

2024年11月10日 347阅读 0评论 0点赞

这篇文章的真的非常之坎坷
在收到老师下发的任务时,由于没有要求PX4的固件版本,安装的是1.13版本,随后得知实验室使用的是1.14版本,又再次修改...

1.ROS-noetic版本安装
首先安装ROS,这里我选择的是鱼香ROS提供的一键安装版本(这个版本对于小白非常友好,强推!)

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

image

安装完毕后输入roscore

roscore

出现如图所示界面即代表安装成功:
image

2.PX4固件下载(V1.14)

PX4的源码处于GitHub,因为众所周知的原因git clone经常失败,此处从Gitee获取PX4源码和依赖模块。

cd ~/
git clone https://gitee.com/voima/PX4-Autopilot.git
cd ~/PX4-Autopilot
git checkout v1.14.0 #切换到1.14.0分支,当然也可以尝试其他版本

如果你第一次使用git拉取代码,可能会出现报错,这里运行这句即可

sudo apt-get install git

下载完成后需注意,还需更新modules,这里会从github中下载东西,如果有出现超时,科学上网后就解决了。这里不提供方法,自行寻找!

 git submodule update --init --recursive # 在~/PX4-Autopilot目录下执行

完成更新后,需配置~/.bashrc文件,打开该文件,在底部添加如下内容,保存。这里如果找不到,需要打开显示隐藏文件

# >>> PX4 initialize >>>
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
# <<< PX4 initialize <<<

新建一个终端,输入以下内容roscd px4可直接跳转到目录~/PX4-Autopilot即可。

roscd px4

image

安装PX4依赖项(此处需要等待的时间较长,耐心等待即可)。

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

3.PX4固件编译
在路径~/PX4-Autopilot下make px4_sitl_default gazebo,看到出现报错即按照提示安装缺失的模块即可。

cd ~/PX4-Autopilot  # 也可以 roscd px4
make px4_sitl_default gazebo #这一句可以使用多线程  例如make px4_sitl_default gazebo -j2 使用两个线程编译,处理器多可以使用更多的线程

如果不运行命令【bash ./Tools/setup/ubuntu.sh】可能会提示缺失相关模块,可直接使用如下命令安装。

sudo apt install python3-pip
pip3 install kconfiglib
pip3 install --user jinja2
pip3 install --user jsonschema
sudo apt-get update
sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

安装完毕后,使用make px4_sitl_default gazebo编译,出现以下画面即可。可以看到有小飞机即可了。
image

4.MAVROS安装
安装geographiclib数据库(GeographicLib是一个用于解决地理坐标转换、大地测量(geodesy)和地图投影等问题的库,广泛用于航空航天和GIS(地理信息系统)领域)

# mavros
sudo apt 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 #此行代码运行完毕需要一定时间

这里我没有出现缺失软件包的报错,如果出现报错的话可以执行下面的代码

sudo apt-get install libgeographic-dev geographiclib-doc geographiclib-tools
sudo geographiclib-get-geoids egm96-5

检查MAVROS是否安装成功可输入如下命令:

roslaunch px4 mavros_posix_sitl.launch

新打开一个终端,输入:

rostopic echo mavros/state

看见如下界面代表MAVROS安装成功:
这里为”True“即代表连接成功了。
image

5.QGroundControl安装
打开QGC官网 QGroundControl ,下载完毕后,切换到下载路径,输入:

sudo usermod -a -G dialout $USER  # 输入完此命令后可以尝试一下是否能够双击.AppImage文件打开
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-cursor0 -y

6.结尾
至此,便完成了Ubuntu20.04下ROS1开发环境搭建!恭喜,开始下一阶段的学习吧!

0

—— 评论区 ——

昵称
邮箱
网址
取消
博主栏壁纸
12 文章数
5 标签数
1 评论量
人生倒计时
标签云
舔狗日记