学习记录(二)——无人机仿真系统搭建

       无人机仿真系统的搭建一共分为六个部分:依赖安装、ROS系统、gazobo、mavros、px4源码、QGC。

一、依赖的安装

sudo apt install ninja-build exiftool ninja-build protobuf-compiler libeigen3-dev genromfs xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
pip2 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml 
pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse

    中途可能出现pip或者pip3不存在的问题,按照其提示下载后再运行上面两行代码即可。

二、ROS安装

1.软件源设置

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

      该源为中科大镜像源,清华源和阿里云的镜像源也可。

2.设置key

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

若报错,可尝试以下方法:

sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

3.安装

sudo apt update
sudo apt install ros-melodic-desktop-full

      需要注意的一点是Ubuntu18.04对应ros系统版本为melodic,其他Ubuntu版本请查阅其对应ros版本后修改以上melodic所在部分。

然后配置环境

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

4.构建软件包依赖关系

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
sudo apt install python-rosdep
sudo rosdep init

该位置容易出现较多问题,首先如果出现:

ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

执行以下代码:

cd /etc
sudo gedit hosts

在其文末添加:

151.101.84.133 raw.githubusercontent.com

然后保存退出。

在sudo rosdep init 执行完成后执行

rosdep update

以上命令可能还是会出错,在更换网络以及热点后仍不起作用时,可尝试以下方法(建议科学上网),该方法参考链接:


sudo pip install rosdepc
sudo rosdepc init
rosdepc update

此时可能还会出现单个文件无法下载的问题,解决方法:

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py

在204行左右添加

gbpdistro_url = 'https://ghproxy.com/'+gbpdistro_url

 保存后退出再次执行rosdepc update  或者rosdep update即可。

若出现ERROR: Rosdep experienced an error: Expected file type is 'distribution'错误,解决方法如下:

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

5.执行roscore

若出现以下内容,则安装成功

三、gazebo

在本次安装中 由于使用安装ros的命令为ros-melodic-desktop-full,所以已经有了gazebo9,对于我的应用来捉,该版本就已经满足要求了。若需要其他版本的gazebo建议安装ros时命令改为ros-melodic-desktop,或者将已有的gazebo卸载后重新下载,方法如下:

sudo apt-get remove gazebo9 gazebo9-common gazebo9-plugin-base libgazebo9:amd64 libgazebo9-dev:amd64 ros-melodic-gazebo-*  
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install gazebo11
sudo apt-get install libgazebo11-dev
sudo apt install ros-melodic-gazebo11-*

四、mavros

sudo apt install ros-melodic-mavros ros-melodic-mavros-extras 		
wget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.shsudo chmod a+x ./install_geographiclib_datasets.shsudo ./install_geographiclib_datasets.sh 

五、px4源码

1.下载及编译

git clone https://github.com/PX4/PX4-Autopilot.git
mv PX4-Autopilot PX4_Firmware
cd PX4_Firmware
git checkout -b xtdrone/dev v1.11.0-beta1
git submodule update --init --recursive
make px4_sitl_default gazebo

 在运行最后一个命令时可能会出现c++: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate.的问题,这是由于内存不够,所以解决方法:

sudo swapon --show     #查看缓存空间大小
free -h                #查看系统空间大小
sudo dd if=/dev/zero of=/swapfile bs=64M count=16    #1G
sudo mkswap /swapfile
sudo chmod 0600 /swapfile 
sudo swapon /swapfile#使用完后关闭缓存空间
sudo swapoff -a

2.环境

sudo gedit ~/.bashrc

在文末添加:

source ~/catkin_ws/devel/setup.bash
source ~/PX4_Firmware/Tools/setup_gazebo.bash ~/PX4_Firmware/ ~/PX4_Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware/Tools/sitl_gazebo

然后

source ~/.bashrc

3.测试

cd ~/PX4_Firmware
roslaunch px4 mavros_posix_sitl.launch

在gazebo打开后再重新打开一个终端执行

rostopic echo /mavros/state

若connected:true,则mavros与sitl连接成功。

六、QGC

在qgc官网直接下载即可 。若需要开发则可参考阿木实验室的环境配置教程。

以上便是全部内容,主要参考文章:

Ubuntu18.04下基于ROS和PX4的无人机仿真平台的基础配置搭建_Lqcx-spec的博客-CSDN博客


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部