PX4下gazebo 仿真 offboard模式(ubuntu18.04)
1、ros与gazebo安装
这里不多说了,上网找教程或者按照ros官网教程安装完成ros-melodic的完整版,gazebo也会自带安装好。
2、px4安装
这里也有官网教程https://docs.px4.io/master/en/getting_started/
3、offboard control环境
源码方式安装
建立catkin工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin init
wstool init src
安装ros下python工具
sudo apt-get install python-catkin-tools python-rosinstall-generator -y
如果是第一次使用wstool,需要初始化:
wstool init ~/catkin_ws/src
1)安装mavlink
rosinstall_generator --rosdistro kinetic mavlink | tee /tmp/mavros.rosinstall
2)安装mavros,选择最新版本
rosinstall_generator --upstream-development mavros | tee -a /tmp/mavros.rosinstall
3)创建workspace和deps
wstool merge -t src /tmp/mavros.rosinstall
wstool update -t src -j4
rosdep install --from-paths src --ignore-src -y
其中-j4是处理器核心数,可以视情况自己选择
4)安装GeographicLib
sudo ./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
5)build
在~/catkin_ws目录下build
catkin build
6)source
source devel/setup.bash
4、offboard官网例程(最重要的部分)
1)在刚刚建立的catkin_ws/src目录下建立一个offboard包,该包依赖于roscpp mavros geometry_msgs
cd catkin_ws/src
catkin_create_pkg offboard roscpp mavros geometry_msgs
2)进入offboard/src下新建一个.cpp文件,把官网下的代码复制过去:https://docs.px4.io/master/en/ros/mavros_offboard.html。
cd offboard/src
gedit offboard_node.cpp
复制官网代码并保存
3)回到offboard目录下修改CMakeList.txt文件
cd ..
gedit CMakeList.txt
主要修改有3点:
在depends处取消注释,如下图
添加可执行文件 offboard_node.cpp,如下图
添加库链接,如下图:
4)回到根目录下,build
新开一个终端
cd catkin_ws
catkin build
source devel/setup.bash
5)可以运行示例了
首先,运行gazebo仿真
打开一个新终端
cd PX4-Autopilot
make px4_sitl_default gazebo
然后运行MAVROS,链接到本地ROS
开一个新终端
roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"
最后运行offboard示例
开一个新终端
rosrun offboard offboard_node