(二)PX4编译与gazebo仿真环境的搭建(ubuntu14&ubuntu16)

step1 安装Ubuntu and ROS

需要注意 Ubuntu发行版本 与 ROS版本要匹配
ubuntu14 对应 ros-indigo
ubuntu16 对应 ros-kinetic
 
add source
source setup.bash
rosdep init
rosdep update

测试 启动roscore 看是否能成功

安装一些px4仿真需要用到的包
ROS-k
apt install ros-kinetic-mavros
apt install libpcl1 ros-kinetic-octomap-*

step2 安装仿真环境gazebo7

ubuntu16下安装的ros-kinetic会默认安装gazebo7,可以直接使用,
如果ros-indigo安装的gazebo版本过低,可以单独卸载,重新安装gazebo

step3 下载px4源码,并编译

下载源码以及用于仿真的一些组件

cd /hualong
git clone https://github.com/PX4/Firmware.git
cd ~/Firmware
git submodule update --init --recursive

安装px4编译工具

apt install libopencv-dev python-jinja2 protobuf-compiler

编译PX4源码

make posix_sitl_default
make posix_sitl_default gazebo

测试

启动仿真环境与虚拟的PX4飞控
make posix_sitl_default gazebo
启动mavros连接
roslaunch mavros px4.launch fcu_url:=”udp://:[email protected]:14557″
启动QGC 可以启动,设置一个mission


解决 GeographicLib问题 让你Run install_geographiclib_dataset.sh
sudo /opt/ros/kinetic/lib/mavros/install_geographiclib_datasets.sh

解决 环境不匹配问题

使用系统Ubuntu14.04
ros版本 indigo
拟安装gazebo版本 gazebo6
gazebo是一个独立的仿真软件,可以单独使用,也可以结合ROS进行使用

问题一
如果当时安装ROS时,默认使用

sudo apt-get install ros-indigo-desktop-full
这个full,除了包含 ros-indigo-ros-base ros-indigo-desktop这些基本包,还集成了很多的功能包,其中包括gazebo2 以及gazebo与ROS连接的相关的包
gazebo的版本太低,如果不先卸载,会导致gazebo2 与Gazebo7的冲突

解决办法
1 . 先卸载 ros-indigo-desktop-full

sudo apt-get remove ros-indigo-desktop-full
如果不行,就把整个ROS indigo 都给卸载了,包括以前安装的ros包
sudo apt-get remove ros-*

2 . 安装Gazebo6

添加源
sudo sh -c ‘echo “deb http://packages.osrfoundation.org/gazebo/ubuntu-stable lsb_release -cs main” > /etc/apt/sources.list.d/gazebo-stable.list’
查看是否添加成功
cat /etc/apt/sources.list.d/gazebo-stable.list
下载秘钥
sudo apt-key adv –keyserver hkp://pool.sks-keyservers.net –recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add
更新源
sudo apt-get update
安装gazebo6
先测试一下 sudo apt-get install gazebo 按Tab补全看是否有列出
sudo apt-get install gazebo 6

3 . 独立安装ros

添加源

 sudo sh -c '. /etc/lsb-release && echo "deb http://packages.ros.org/ros/ubuntu  $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

查看
cat /etc/apt/sources.list.d/ros-latest.list
安装软件包授权秘钥
wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key

sudo apt-key add ros.key
sudo apt-get update
安装 ros独立包
sudo apt-get install ros-indigo-desktop
sudo apt-get install ros-indigo-ros-base

4 . 安装gazebo7与ROS连接的包
sudo apt-get install ros-indigo-gazebo7-msgs ros-indigo-gazebo7-ros-control ros-indigo-gazebo7-plugins ros-indigo-gazebo7-ros-pkgs ros-indigo-gazebo7-ros

5 . 还可以安装一些常用包

sudo apt-get install ros-indigo-turtlesim //小乌龟
sudo apt-get install ros-indigo-uvc_camera //
sudo apt-get install ros-indigo-mavros //

参考文档:
【px4 SIL】https://blog.csdn.net/csdnhuaong/article/details/78354316
http://blog.csdn.net/zhangrelay/article/details/53318991
之前版本的环境搭建 https://blog.csdn.net/csdnhuaong/article/details/78086291

你可能感兴趣的:(ROS机器人系统,UAV,Pixhawk开发进阶)