欢迎交流~ 个人 Gitter 交流平台,点击直达:
可以在终端中输入指令进行飞行操作
但是显然使用地面站会更加方便,可以在地面站上自由的切换飞行模式,也可以对Mission模式进行仿真。
可以调出地面站的虚拟摇杆进行简单操作。听说某些遥控器可以直接连QGC,想想应该会很棒。
Linux下可以用两种方法打开QGC,建议选择AppImage,点击图片就可以运行,不用每次都输入冗长的。
建议下载完成后将文件复制到Home目录下,并执行下列操作增加可执行权限QGC支持摇杆,部分遥控器可以直接连接地面站进行操作。开启虚拟摇杆的请看这里
在运行 Gazebo 仿真之前首先要进行相关文件的配置
Gazebo配置
安装protobuf库,它用作Gazebo的接口。
在仿真文件夹目录顶层创建一个 Build 文件夹
- 添加路径
- 切换到构建目录并从中调用CMake
- 构建 gazebo 插件
万事俱备,只欠东风。现在就可以运行Gazebo仿真了,以最基本的iris仿真为例
你会看到下面的界面,操作很直观,其他机型的仿真自行查看PX4中文维基。
上图是Mission模式的仿真。
在Gazebo中可以先选中飞行器,右键Follow,这样飞行器会一直在界面中间,按Esc退出
MAVROS仿真
安装ROS indigo
前面我们已经安装过Gazebo7了,现在只需要装ROS桌面版,注意不要安装full版,Gazebo2(ROS-indigo自带)不能与更新版本的Gazebo共存。
- 安装ROS indigo
然后,安装ros-gazebo接口库等
这里就要讲到Linux系统下的一个常用快捷键[Tab]了
它具有“命令补全”与“文件补齐”的功能,可以让我们少打很多字,还阔以避免我们打错命令或文件名。
上面我们在输入了后连续输入两个[Tab],所有以开头的命令都显示出来了。
至少需要安装其他的看着办吧
- 初始化 rosdep
在开始使用ROS之前你还需要初始化rosdep。rosdep可以方便在你需要编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。
- 将ROS环境变量添加到bash会话中
安装MAVROS
- 安装mavros依赖的包,使用安装即可:
假定你有一个catkin工作空间位于,如果没有,则创建一个:
mavros包可以采用安装,也可以从github上下载编译
- 建立自己的外部控制程序包
外部控制程序offboard_node.cpp以及释义请点击PX4中文维基。
根据ROS官 教程,先建一个ROS包,
这一步会创建一个名为offboard的新程序包,这个程序包依赖于roscpp 、mavros以及geometry_msgs。
在offboard目录下生自动成两个文件夹include和src。我们将外部控制例程offboard_node.cpp放入刚刚生成的src目录下。然后修改/catkin_ws/src/offboard目录下的CMakeLists.txt文件。取消掉一些注释,生成相应节点(否则会出现找不到节点的错误)。
![]()
可以发现,现在在地面站上无论切换什么飞行模式,飞行器都会自动返回Offboard外部控制模式。
常见错误解决
- 启动时出现No namespace found
下载Model文件到目录~/.gazebo/models中。Linux中隐藏文件使用查看,~/即Ubutnu下的
Home文件夹。
By Fantasy
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
Pixhawk原生固件PX4之SITL软件在环仿真
•
软件开发
什么是模块化,模块化开发如何实现?
上一篇
2017年1月13日
有效软件需求分析
下一篇
2017年1月13日