安装系统

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里就行了。