安装系统
Ubuntu 18.04的安装具体可参考这篇博文
安装仿真软件
简介
1、ROS(Robot Operating System,机器人操作系统),是专为机器人软件开发所设计出来的一套电脑操作系统架构。
2、gazebo是一款3D动态模拟器,能够在复杂的室内和室外环境中准确有效地模拟机器人群。
3、为了实现对无人机的仿真,我们还需要安装无人机飞控软件,目前最受欢迎,且发展得最为全面的开源飞控就属下面这两款了:
这里先讲述APM的安装过程。
安装ROS
注意:ROS版本和Ubuntu的版本要对应!!!
Ubuntu版本 | ros版本 |
Ubuntu18.04 | melodic |
Ubuntu16.04 | kinetic |
Ubuntu14.04 | indigo |
ROS安装参考链接,选择Desktop-Full安装后,gazebo也就作为ROS的组件安装完成了。
问题:输入sudo rosdep init
报错ERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
解决:输入sudo gedit /etc/hosts
,在hosts文件末尾添加199.232.28.133 raw.githubusercontent.com
问题:输入roscore
出现command not found: roscore
解决:重新安装melodic,输入sudo apt install --reinstall ros-melodic-desktop-full
测试
小乌龟(turtle)仿真
(1)安装turtlesim:sudo apt-get install ros-melodic-turtlesim
(2)启动roscore:roscore
(3)新开一个终端启动可视化仿真器:rosrun turtlesim turtlesim_node
(4)再开一个终端启动控制终端:rosrun turtlesim turtle_teleop_key
测试成功后运行gazebo
问题:运行gazebo出现[Err] [REST.cc:205] Error in REST request
解决:
(1)打开~/.ignition/fuel/config.yaml
文件
$ sudo gedit ~/.ignition/fuel/config.yaml
(2)注释 url : https://api.ignitionfuel.org
(3)添加 url: https://api.ignitionrobotics.org
ardupilot-SITL—APM飞控
1、SITL Simulation原理:
首先通过手柄、仿真控制器或地面站进行飞行控制,与运行ArduPilot固件的SITL程序进行交互(使用MAVLINK通信协议);然后仿真(飞行动力学模型)接收SITL程序输出的Flight Surface&Motor Control并返回飞行器目前的状态、位置和速度等信息,同时将这些信息进行图形可视化处理展现出来。ArduPilot 固件模拟器元素 也可以与其他通常用作独立飞行/车辆模拟器的FDM/Graphics 程序连接(比如Gazebo)。
2、配置APM飞控软件仿真环境(参考链接)
(1)Cloning with the command line
git clone https://github.com/ArduPilot/ardupilot
cd ardupilot
git submodule update --init --recursive
(2)Install some required packages
Tools/environment_install/install-prereqs-ubuntu.sh -y
(3)reload the path
. ~/.profile
3、启动SITL simulator
cd ardupilot/ArduCopter //首先进入相应的vehicle directory
sim_vehicle.py --console --map
4、Using Gazebo Simulator with SITL
还可以借助Gazebo建出来的无人机模型,搭配APM飞控,实现软件在环仿真,具体参考官网教程参考链接。
gazebo模型下载
首次运行gazebo时,加载模型会非常缓慢(慢到让人怀疑是不是哪里出错了),所以最好是先将模型下载下来放到固定的路径下,当再次打开gazebo时,它会自动到该路径搜寻模型。
1、在线下载,在终端输入下面的命令
cd ~/.gazebo/
mkdir -p models
cd models //所有模型都存放在这个文件夹里
wget http://file.ncnynl.com/ros/gazebo_models.txt
wget -i gazebo_models.txt //批量下载模型
ls model.tar.g* | xargs -n1 tar xzvf
2、百度网盘下载
也有网友将模型下载到百度网盘中,供大家提取,只需要下载后解压到~/.gazebo/models里就行了。