rotors
无人机仿真主要分为两类:硬件在环仿真(HITL)和软件在环仿真(SITL全称Software in the loop)。
无人机软件在环仿真是指完全用计算机来模拟出无人机飞行时的状态,而硬件在环仿真是指计算机连接飞控板来测试飞控软件是否可以流畅运行。一般来说硬件在环仿真若没有加上真实的转台进行测试的话,其与软件在环仿真没有很大的区别。
在无须解决在研发过程中的硬件问题带来的麻烦,并且可以直观的调试代码,搭建一套无人机仿真系统,对于研发来说好处是数不剩数的。
RotorS 是ETH(苏黎世联邦理工大学)研究团队开发的一个ROS包,GitHub官方网站,rotors提供了几种多旋翼仿真模型,仿真系统中包含很多种仿真传感器,都可以安装在无人机上
rotors下载
科学上网
一些博主的参考
阿栋阿栋
懒小象
进入rotors的Github官方网站中的下载部分
可以直接从第二步开始,按步骤创建对应的文件夹即可,注意的时第一步没有的包,可能会在后续make项目的时候报错,后续安装kinetic的版本即可
按官网的步骤
1.创建一个ROS工作空间
先安装好依赖包
如果是其他ros版本就把kinetic改为自己ros版本名字
sudo apt-get install ros-kinetic-joy ros-kinetic-octomap-ros python-wstool protobuf-compiler
sudo apt-get install libgeographic-dev ros-melodic-geographic-msgs
就是新建文件夹,然后有src文件夹
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace # initialize your catkin workspace
$ wstool init
2.下载rotor-simulator项目和其他的一些依赖
$ cd ~/catkin_ws/src
$ git clone git@github.com:ethz-asl/rotors_simulator.git
$ git clone git@github.com:ethz-asl/mav_comm.git
$ git clone git@github.com:ethz-asl/glog_catkin.git
$ git clone git@github.com:catkin/catkin_simple.git
如果没有git,你需要安装一下git
注意这里git需要提前登录github账号并绑定自己电脑ssh,否则不能正常git,不能git的解决方案参考这个博客
下载完之后
除了control
文件,剩下的4个文件夹都是Git下载的,注意下载的是src目录下
3.编译项目
先返回上一级目录,也就是工作空间,catkin_ws
目录下,在进行编译
cd ..
catkin_make
编译过程中会疯狂报错,我报了一下午,各种各样的错
这是一些解决错误的网站
https://blog.csdn.net/Lawliet9666/article/details/104908385
https://blog.csdn.net/qq_16775293/article/details/109330494
还有很多网站,我后续慢慢加上
各种各样的错,搞了一晚上
还有Gazebo仿真出错,我卸载了重装了
注意一定要卸载干净!
4.运行rotors
先打开一个终端
执行
roscore
然后新建一个终端,执行
roslaunch rotors_gazebo mav_hovering_example.launch mav_name:=firefly world_name:=basic
效果是一个飞机悬停,我改过代码所以换了一个位置
这一步一般都会碰到Gazebo打不开的现象,如果百度上的方法那种设置环境变量或者是杀死进程都不管用的话,试试直接重启虚拟机然后在打开,再不行就重装。我用的是Gazebo7
这样就是将rotors安装好了
会有很多很多报错,在百度上慢慢查~~