BlueROV的源码编译及仿真
具体参考原网址操作:http://www.ardusub.com/
https://ardupilot.org/dev/docs/building-setup-linux.html
一、源码编译
1、环境配置前最好先安装好Anaconda,并配置默认python版本,否则可能出现python版本不兼容的问题在Ubuntu 18.04上安装Anaconda [快速入门]
2、安装所需依赖
sudo apt-get update
sudo apt-get install git
sudo apt-get install gitk git-gui
3、建立新的源文件夹/src,并进入该文件夹,克隆源代码:
git clone https://github.com/ardupilot/ardupilot.git
cd ardupilot
git submodule update --init --recursive
克隆代码速度过慢可以从镜像网址克隆,在github.com后加上.cnpmjs.org
即可
4、运行脚本,克隆完源代码并更新完子模块后
Tools/environment_install/install-prereqs-ubuntu.sh -y
. ~/.profile //设置路径?
5、编译代码前,首先检查ArduSub的稳定标签
git fetch --tags
git checkout ArduSub-stable -b new-branch
git submodule update --init --recursive
6、编译
./waf configure --board Pixhawk1
./waf sub
编译过程中的部分截图
二、SITL仿真
1、Pymavlink安装
ArduSub与称为MAVLink的协议进行通信。 Pymavlink是MAVLink协议的python实现。 使用pymavlink,可以创建一个python脚本来读取传感器数据并将命令发送到ArduSub车辆。
apt update
apt install python python-pip python-future
pip install mavproxy
测试pymavlink是否成功安装
python
import pymavlink
print(pymavlink.__doc__)
输出Python MAVLink library - see http://www.qgroundcontrol.org/mavlink/mavproxy_startpage即为安装成功。
2、SITL仿真
cd ardupilot/ArduSub
sim_vehicle.py -w //第一次使用先输入这句话
sim_vehicle.py -L RATBeach --out=udp:0.0.0.0:14550 --map --console
仿真成功后,打开QGC即可自动连接
三、gazebo仿真
1、下载bluerov_ros_playground
git clone https://github.com/patrickelectric/bluerov_ros_playground
2、运行gazebo模型
cd bluerov_ros_playground
source gazebo.sh
gazebo worlds/underwater.world -u
3、运行ArduPilot SITL
sim_vehicle.py -f gazebo-bluerov2 -L RATBeach --out=udp:0.0.0.0:14550 --console
最后这一步出了点问题,等我再研究研究再写。。。。