基于ROS的无人机软件在回路仿真(SITL)基础配置
1.安装基本依赖项
在终端执行命令:
sudo apt install -y \
ninja-build \
exiftool \
python-argparse \
python-empy \
python-toml \
python-numpy \
python-yaml \
python-dev \
python-pip \
ninja-build \
protobuf-compiler \
libeigen3-dev \
genromfs
以及:
pip install \
pandas \
jinja2 \
pyserial \
cerberus \
pyulog \
numpy \
toml \
pyquaternion
2.安装机器人操作系统(ROS)
对于Ubuntu 18.04 LTS,其匹配的ROS版本为Melodic,安装过程参考ROS官网教程:
http://wiki.ros.org/melodic/Installation/Ubuntu
3.安装MAVROS
终端执行:
sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo chmod a+x install_geographiclib_datasets.sh
./install_geographiclib_datasets.sh
4.配置PX4 Firmware
终端执行:
git clone https://github.com/PX4/Firmware.git
mv Firmware PX4_Firmware
cd Firmware
git checkout v1.9.2
make px4_sitl_default gazebo
编译成功的话,可以看到一架无人机出现在仿真环境Gazebo中,如下图:
5.修改环境变量
终端执行:
sudo gedit ~/.bashrc
将下面的代码添加到文件末尾:
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
6.ROS launch
终端执行:
roslaunch px4 mavros_posix_sitl.launch
可以看到:
打开一个新终端,执行:
rostopic echo /mavros/state
当看到输出connected: True
,即说明MAVROS已经成功连接,仿真的准备工作就基本完成了。
---
header:
seq: 230
stamp:
secs: 231
nsecs: 444000000
frame_id: ''
connected: True
armed: False
guided: True
manual_input: False
mode: "AUTO.LOITER"
system_status: 3
---
7.使用QGC来控制无人机
这里我们简单地使用GUI来控制无人机的起飞,检验我们配置的效果: