Skip to content

Latest commit

 

History

History
171 lines (117 loc) · 5.66 KB

1.md

File metadata and controls

171 lines (117 loc) · 5.66 KB

仿真环境配置

开始之前

本期介绍仿真环境的配置,介绍项目需要的各种工具(包括ROS,仿真工具,PX4,QGC等)的安装和配置过程以及飞行机械臂模型(搭载机械臂模型的多旋翼无人机)的搭建,关于机械臂的具体建模、机械臂跟踪的实现及机械臂抓取的实现不在本期讨论。

开始之前请先克隆本仓库:

cd ~/ # 切换到目标目录,这里以家目录为例,下同
git clone https://github.com/amazerobot/AerialManipulator.git

搭建仿真环境

安装ROS,配置工作空间

本项目的所有代码均在ROS Melodic版本下测试通过。ROS安装过程请参考ROS文档,简单起见,我们选择Desktop-Full Install配置安装。

安装完成后还需配置工作空间,配置过程亦请参考ROS文档,使用catkin创建工作空间

cd ~/ # 切换到目标目录,这里以家目录为例,下同
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
source devel/setup.bash # 每次catkin_make之后都执行此行刷新环境变量

安装gazebo插件

请先确认gazebo可以正常工作,可能需要修改位于~/.ignition/fuel/目录下的config.yaml文件,除此之外,还需要保证~/.gazebo/models目录及其中的模型文件存在。

安装gazebo插件:

sudo apt install ros-melodic-gazebo-*

安装mavros

sudo apt install ros-melodic-mavros ros-melodic-mavros-extras
cd ~/AerialManipulator # 切换到AerialManipulator目录中,下同
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh 
chmod +x install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh

下载编译PX4固件

从本节至环境配置的最后部分整合了PX4开发文档中Toolchain InstallationBuilding the Code等部分,如有疑问可先阅读PX4文档

下载并安装工具链:

cd ~/AerialManipulator
wget https://raw.githubusercontent.com/PX4/Firmware/master/Tools/setup/ubuntu.sh
wget https://raw.githubusercontent.com/PX4/Firmware/master/Tools/setup/requirements.txt

本项目无需使用nuttx,执行ubuntu.sh时可加上--no-nuttx字段或直接修改ubuntu.sh第16行为INSTALL_NUTTX="false"

sudo apt install python-pip
source ubuntu.sh --no-nuttx # 无需修改脚本

下载编译PX4 Firmware:

cd ~/ # 切换到目标目录,这里以家目录为例子,下同
git clone https://github.com/PX4/Firmware
cd Firmware
git submodule update --init --recursive # 更新submodule
git checkout v1.11.0 # 切换固件版本
make distclean
make px4_sitl_default gazebo

编译启动gazebo,效果如下:

启动gazebo

下载安装QGC地面站

直接下载AppImage文件即可,注意Ubuntu 18.04并不支持QGC >= 4.0,请勿安装过高版本的QGC。

下载完成后执行:

sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager -y
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y

启动QGC,效果如图:

cd ~/Download/ # 切换到目标目录,这里以Download目录为例
chmod +x ./QGroundControl.AppImage
./QGroundControl.AppImage

QGC demo

配置PX4&ROS环境

请先确认.bashrc中有如下两行:

source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash

并在.bashrc中添加如下几行:

source ~/Firmware/Tools/setup_gazebo.bash ~/Firmware/ ~/Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware/Tools/sitl_gazebo

测试启动PX4仿真:

cd ~/Firmware
roslaunch px4 posix_sitl.launch

此时应当启动gazebo环境并在仿真环境中出现iris飞机模型,效果如下:

roslaunch测试

2. 搭建飞行机械臂模型

mobot_urdf目录复制到ROS工作空间中:

cd ~/AerialManipulator
cp -r mobot_urdf ~/catkin_ws/src # 将mobot_urdf放在ros工作空间的src下
cd ~/catkin_ws/
catkin_make

将mobot_urdf/launch中的文件复制到Firmware/launch中:

cp ~/AerialManipulator/mobot_urdf/launch/* ~/Firmware/launch

在Firmware目录下执行,查看修改后的模型,效果如图:

cd ~/Firmware
roslaunch px4 posix_sitl_xacro.launch # 启动带有四个高脚架的iris无人机
roslaunch px4 posix_sitl_xacro_x_manipulator.launch # 启动带有高脚架和机械臂的iris无人机

带有高脚架的iris无人机

带有高脚架和机械臂的无人机

同时可以用地面站控制无人机,如下图:

qgc_control

写在最后

至此本项目的仿真环境搭建完成,下期介绍使用moveit配置机械臂模型并实现运动控制。

执行上述过程中遇到的任何问题可提交issue讨论。部分常见问题会包含在视频教程中供大家参考。