目录
准备工具
Ubuntu 18.04
Gazebo安装
官方提供的文档
链接: https://pan.baidu.com/s/1kXGtxh6s-LYHaXegKJko_w 提取码: HHHH
建议按照官方提供的step-by-step 一步一步安装
1.添加源
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_relea
se -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
2.设置密钥
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
3.安装gazebo
$sudo apt-get update
$sudo apt-get install gazebo9
$sudo apt-get install libgazebo9-dev
这里安装gazebo9版本
Ubuntu 对应的兼容gazebo版本
输入
gazebo
看到这个界面就安装成功了.
配置XTDrone
git clone https://gitee.com/robin_shaun/XTDrone.git
cd XTDrone
git submodule update --init --recursive
cp sensing/gimbal/gazebo_gimbal_controller_plugin.cpp ~/PX4_Firmware/Tools/sitl_gazebo/src/
cp sitl_config/init.d-posix/rcS ~/PX4_Firmware/ROMFS/px4fmu_common/init.d-posix/
cp sitl_config/worlds/* ~/PX4_Firmware/Tools/sitl_gazebo/worlds/
cp -r sitl_config/models/* ~/PX4_Firmware/Tools/sitl_gazebo/models/
cp -r sitl_config/launch/* ~/PX4_Firmware/launch/
cd ~/.gazebo/models/
rm -r stereo_camera/ 3d_lidar/ 3d_gpu_lidar/ hokuyo_lidar/
对Gazebo的ROS插件进行修改
安装依赖
sudo apt-get install ros-melodic-moveit-msgs ros-melodic-object-recognition-msgs ros-melodic-octomap-msgs ros-melodic-camera-info-manager ros-melodic-control-toolbox ros-melodic-polled-camera ros-melodic-controller-manager ros-melodic-transmission-interface ros-melodic-joint-limits-interface
然后编译(如果之前没有catkin_ws,则需要新建工作空间)
cd ~/catkin_ws
cp -r ~/XTDrone/sitl_config/gazebo_ros_pkgs src/
catkin build
执行以下命令
roscore
#另起终端
source ~/catkin_ws/devel/setup.bash
rosrun gazebo_ros gazebo
出现gazebo界面则成功
MAVROS安装
二进制安装
此方法安装的mavros可以在/opt/ros/melodic/share/mavros中找到文件
如需修改文件内容可以到此路径下寻找
选择对应版本安装
sudo apt install ros-kinetic-mavros ros-kinetic-mavros-extras # 对应 ros-kinetic
sudo apt install ros-melodic-mavros ros-melodic-mavros-extras # 对应 ros-melodic
安装GeographicLib datasets
wget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.sh
sudo chmod a+x ./install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh
源码安装
依赖安装
sudo apt-get install python3-catkin-tools python3-rosinstall-generator -y
创建工作空间并初始化
mkdir -p ~/my_mavros_ws/src
cd ~/my_mavros_ws
catkin init
wstool init src
在my_mavros_ws目录下安装mavros和mavlink
rosinstall_generator --rosdistro melodic mavlink | tee /tmp/mavros.rosinstall
rosinstall_generator --upstream mavros | tee -a /tmp/mavros.rosinstall
安装
wstool merge -t src /tmp/mavros.rosinstall
wstool update -t src -j8
如果安装失败可以手动下载源码包
链接:https://pan.baidu.com/s/1HZdU_ih0NJEnKjGFzHquQQ 提取码: HHHH
安装依赖
rosdep install --from-paths src --ignore-src -y
安装GeographicLib数据集
在my_mavros_ws目录下运行
sudo ./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
编译
catkin build
编译成功
添加环境变量
sudo gedit ~/.bashrc
source ~/my_mavros_ws/devel/setup.bash
#保存退出
source ~/.bashrc
PX4配置
链接: https://pan.baidu.com/s/1BG4BCFIwgbefUO4WLNoUOw 提取码: HHHH
建议下载源码包直接编译
cd PX4_Firmware
make px4_sitl_default gazebo
编译完成会生成gazebo界面,关闭即可
添加环境变量
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
运行下列命令
cd ~/PX4_Firmware
roslaunch px4 mavros_posix_sitl.launch
会启动带有一台小四旋翼的gazebo
安装QGC
官方链接https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html
键盘控制无人机
一个终端运行
cd ~/PX4_Firmware
roslaunch px4 indoor1.launch
另起终端建立通信
cd ~/XTDrone/communication/
python multirotor_communication.py iris 0
再起终端开启键盘控制
cd ~/XTDrone/control/keyboard
python multirotor_keyboard_control.py iris 1 vel
个人认为键盘控制无人机比较难用,而且xtdrone的仿真环境配置并不是必须的
相关资料参考了
https://www.yuque.com/xtdrone/manual_cn/basic_config#2qN28
补充
1.如果安装了虚拟环境会出现打开仿真没有实体的现象,请退出虚拟环境
conda deactivate
2.如果gazebo进程错误,请强制关闭进程
killall -9 gzclient
killall -9 gzserver
3.地面站飞行器传感器请不要误碰,不要调仿真无人机的传感器,如果调整罗盘或加速度计,会出现无法校准,罗盘失效的报错,无人机无法解锁
请输入以下指令将仿真参数清空,再重新打开仿真
rm ~/.ros/eeprom/parameters*
rm -rf ~/.ros/sitl*
学得不精,如有问题评论区讨论,感谢!