当前位置:论文写作 > 毕业论文范文 > 文章内容

四旋翼和ros论文范文素材 四旋翼和ros有关论文参考文献范文2万字有关写作资料

主题:四旋翼和ros 下载地址:论文doc下载 原创作者:原创作者未知 评分:9.0分 更新时间: 2024-03-25

四旋翼和ros论文范文

《基于ROS和Gazebo的Hector四旋翼仿真》

该文是关于四旋翼和ros相关论文参考文献范文跟仿真类论文范文.

摘 要:本项目重点研究依赖于开源机器人操作系统ROS平台,在3D动态模拟器软件Gazebo中,通过键盘或Xbox360控制模拟U Hector Quadrotor从而实现四旋翼室内与室外的仿真飞行.

关键词:ROS; Gazebo;Hector;Quadrotor

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2020)08-0259-02

新手在练习四旋翼飞行器控制飞行时,经常会因技术不够熟练而出现炸机的现象,损坏飞行器硬件造成不必要的损失.通过采用实时仿真的形式,降低练习时的损耗.本项目重点研究hector_quadrotor飞行器自主导航,避障和路径规划.软件依赖于机器人操作系统(ROS)软件.ROS提供硬件抽象,设备驱动,库,可视化工具,消息传递,包管理等.Gazebo提供精确和高效地模拟复杂室内和室外环境中飞行器的能力[1].

在ROS环境下,无人机的仿真有三种实现方式,一种是m-ros配合sitl的仿真,其次是hector_quadrotor ros package,第三种是ETH新出的一个gazebo环境仿真包.在上述三种方式中,sitl的设置比较烦琐,无人机的控制主要通过指令实现.hec-tor_quadrotor开发比较完善,不仅可以使用xbox作为飞机的遥控器,而且还可以使用键盘对无人机进行控制.rotorS是新出的包,里边给}H了几种商用的飞机模型,控制指令是ros meassage[2].本文重点介绍Hector Quadrotor四旋翼控制模拟的实现方法.

Hector Quadrotor是用于ROS Gazebo环境中的模拟四旋翼U ,Hector Quadrotor综合功能包里包含了U的URDF描述建模、飞行控制以及在Gazebo中运行四旋翼飞行器仿真的启动文件等.

Hector Quadrotor有两个仿真应用场景,分别为室内和室外,本文以此分为两部分阐述在Gazebo中模拟Hector四旋翼飞行器.

1 准备工作

仿真之前需要安装Hector Quadrotor功能包,以安装Hector Quadroter的ROS Indigo版本,执行命令

$ sudo apt-get update

$sudo apt-get install ros-indigo-hector-quadrotor-demo

大量的ROS功能包被下载并且安装,hector_quadrotor_demo就是下载的主要hector_quadrotor包.其中包与四旋翼无人机系统建模,控制及仿真相关的包.Hector_quadrotor_description提供了通用的四旋翼URDF模型以及各种各样的传感器.Hector_quadrotor_gazebo包含了在Gazebo中运行四旋翼模型所需要的launch file以及依赖信息.Hector_quadrotor_teleop包含一个允许使用gamepad控制旋翼的节点.Hector_quadrotor_gazebo_plugins提供在Gazebo仿真环境中进行四旋翼仿真的所需的特定的plugins.[3]

2 在Gazebo中启动Hector四旋翼飞行器

在仿真之前,首先在终端窗口执行$ roscore命令启动ros-master.

2.1 室外飞行Hector

室外飞行的软件已经包含在Hector_quadrotor中,键入以下命令启动室外仿真:

$ roslaunch hector_quadrotor_demo outdoor_flight_gazebo.launch

命令执行完成后,会在Gazebo中加载一个滚动景观环境,并生成一个Hector Quadrotor模型.同时启动一个rvIz节点,为四旋翼飞行器户外飞行配置.大量的飞行坐标和控制参数信息也会初始化并加载给Parameter Server.Quadrotor_propulsion插件的四旋翼推理模型参数和quadrotor_aerodvnamics插件的阻力模型参数会显示出来.然后出现physics dynamic reconfig-ure ready.

2.2 室内飞行Hector

在hector_quadrotor综合功能包里包含四旋翼飞行器室内的SLAM例程软件,键入以下命令启动仿真:

$ roslaunch hector_quadrotor_demo indoor_slam_gazebo.launch

仿真啟动之后,将在rviz和Gazebo中显示Willow Garage办公室,Hector开始位于室内房间的地板上.此时通过执行hec-tor_quadrotor_teleop xbox_controller.launch控制Hector的飞行.

3 控制Hector四旋翼的飞行

在Gazeboo中启动HectorQuadrotor后,四旋翼飞行器出现在模拟场景的地面上,准备起飞.在它的主电机座上有一个红色标记指示了它的前进方向.要实现对Hec-tor Quadrotor的控制飞行,可以通过Xbox 360控制器或者计算机的键盘.

3.1 Xbox360控制四旋翼飞行

要将仿真四旋翼飞行器飞行起来,必须启动Xbox 360控制器的操纵杆控制器软件.打开另一个终端窗口,通过hec-tor_quadrotor_teleop功能包中的启动文件来启动操纵杆控制器:

$ roslaunch hector_quadrotor_teleop xbox_controller.launch

这个过程会启动一个j oy_node节点,用来处理Xbox 360控制器上左操纵杆和右操纵杆的操作输入.此节点发布的消息包含操纵杆轴和按钮的当前状态.而quadrotor_teleop节点会订阅这些信息,然后在主题cmd_vel上发布提供了四旋翼飞行器飞行的速度和方向的消息.用操纵杆控制飞行器在模拟的户外环境飞行.飞行员的视图可以在rviz屏幕左下角的摄像头图像视图中看到.

3.2 键盘控制四旋翼飞行

执行命令git clone https://github.com/ros-teleop/teleop_twist_keyboardT载ROS Python包,放在建立的工作空間并编译.使用命令

$ rosrun teleop_twist_keyboardteleop_twist_keyboard.py运行该节点.注意首先按t建让飞机飞起来才能进行其他控制,否则现象是控制键飞机没有反应.鼠标指针必须位于teleop_twist_keyboard终端窗口,否则键盘无法控制模拟四旋翼飞行.

3.3 rqt_graph工具查看节点和主题之间的交互关系

在终端窗口执行命令$ros run rqt_graph rqt_graph,rqLgrph工具中显示活动节点和主题之间的交互关系.图中椭圆形框表示当前活动的节点,矩形框表示主题,节点发布消息到主题用箭头指向表示.

4 结论

在实践环节中引入Hector四旋翼仿真,从室内和室外两类不同环境下模拟四旋翼飞行器的飞行.极大限度降低了初学者对四旋翼硬件耗材的依赖,降低了新手训练时的经济成本.

参考文献:

[1] Wil Selby.ros integration[EB/OL].https://www.wilselby.com/re-search/ros-integration/,2017.

[2] Carol Fairchild and Thomas L.Harman.《ROS /robotics By Ex-ample》[M].Making a Robot Fly[C].北京:机械工业出版社,2018.

【通联编辑:光文玲】

基金项目:大学生创新、创业实践项目(项目编号:201911050032T)

作者简介:滕步炜(1974-),男,计算机网络控制工程硕士,副教授,主要研究方向为计算机技术领域的教学与科研工作.

上文总结:这是一篇适合不知如何写仿真方面的四旋翼和ros专业大学硕士和本科毕业论文以及关于四旋翼和ros论文开题报告范文和相关职称论文写作参考文献资料.

四旋翼和ros引用文献:

[1] 四旋翼和ros论文范文素材 四旋翼和ros有关论文参考文献范文2万字
[2] 直升机旋翼桨叶气动干扰论文范文 直升机旋翼桨叶气动干扰类学士学位论文范文5000字
[3] 无人机和四旋翼自考毕业论文范文 无人机和四旋翼毕业论文怎么写2万字
《四旋翼和ros论文范文素材 四旋翼和ros有关论文参考文献范文2万字》word下载【免费】
四旋翼和ros相关论文范文资料