机器人操作系统(ROS)课件10.3Hector四旋翼无人机仿真_第1页
机器人操作系统(ROS)课件10.3Hector四旋翼无人机仿真_第2页
机器人操作系统(ROS)课件10.3Hector四旋翼无人机仿真_第3页
机器人操作系统(ROS)课件10.3Hector四旋翼无人机仿真_第4页
机器人操作系统(ROS)课件10.3Hector四旋翼无人机仿真_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器人操作系统(ROS)机器人操作系统(ROS)Hector四旋翼无人机仿真10.3机器人操作系统(ROS)10.3Hector四旋翼无人机仿真四旋翼无人机是一种非共轴式碟形飞行器,在平面上呈十字对称结构并均匀分布有4个旋翼。通过调节四个旋翼旋转产生的升力来控制6个自由度方向的动作。它除了具有一般无人机的优点,如不惧伤亡、制造成本低廉、隐蔽性好、操作灵活等,还具有多旋翼无人机的独特优势:(1)能够在狭小的空间内实现垂直升降、定点悬停、低速飞行、旋转、侧飞及倒飞等,机动灵活,可控性较强;(2)结构简单,拆卸方便,且易于维护;(3)四个旋翼同时旋转提供升力,相对一般无人机,可以使用较小的旋翼和较低的转速,安全性提高。机器人操作系统(ROS)10.3.1四旋翼无人机简介四旋翼无人机是无人飞行器(UAV)的一种,其旋翼对称分布在机体的前后、左右四个方向,四个旋翼处于同一高度平面,且四个旋翼的结构和半径都相同,四个电机对称的安装在飞行器的支架端,支架中间部分安放飞行控制计算机和外部设备。结构形式如图所示。四旋翼无人机的结构形式四旋翼飞行器通过调节四个电机转速来改变旋翼转速,实现升力的变化,从而控制飞行器的姿态和位置。四旋翼飞行器是一种六自由度的垂直升降机,有四个输入力,同时有六个状态输出。机器人操作系统(ROS)10.3.1四旋翼无人机简介如图所示,无人机绕三个坐标轴旋转的角度分别由滚转角(roll)、俯仰角(pitch)和偏航角(yaw)表示。滚转角是飞机对称平面与通过飞机机体纵轴的铅垂平面间的夹角,右滚为正。俯仰角是机体轴与地平面(水平面)之间的夹角,飞机抬头为正。偏航角是机体轴在水平面上的投影与地轴之间的夹角,以机头右偏为正。飞机滚转角、俯仰角和偏航角机器人操作系统(ROS)10.3.2Hector四旋翼无人机仿真本实验采用的是塔姆斯塔特工业大学的HectorDarmstadt团队开源的hector仿真旋翼UAV项目,其开源代码网站为:/tu-darmstadt-ros-pkg/hector_quadrotor。该功能包包含了UAV的URDF描述建模、飞行控制及在Gazebo中运行四旋翼无人机的启动文件等。https://www.teamhector.de/open-source机器人操作系统(ROS)10.3.2Hector四旋翼无人机仿真hector_quadrotorhector_quadrotor_description包含了基础四旋翼及搭载各种传感器的urdf文件;hector_quadrotor_gazebo包含了四旋翼在gazebo仿真中的驱动、插件;hector_quadrotor_teleop包含了四旋翼遥控器接口文件;hector_quadrotor_gazebo_plugins包含了gazebo仿真中气动、推力、控制等模拟文件;hector_quadrotor_demo包含了官网例程的启动文件;hector_quadrotor_actions包含了支持的action(起飞、降落、航点)文件;hector_quadrotor_controller_gazebo包含了gazebo仿真中的控制器接口插件;hector_quadrotor_controllers包含了姿态、位置、速度控制器文件;hector_quadrotor_interface包含了四旋翼的接口文件;hector_quadrotor_model包含了四旋翼的动力学模型文件;hector_quadrotor_pose_estimation包含了四旋翼的位姿解算文件;hector_uav_msgs包含了四旋翼的消息、动作、服务汇总;hector_quadrotor包含了hector_quadrotor功能包的管理文件;整个tu-darmstadt-ros-pkg功能包的各个子功能包的结构如下所示机器人操作系统(ROS)10.3.2Hector四旋翼无人机仿真hector_modelshector_sensors_description包含了sonar/laser/camera/rgb-camera等xacro宏文件及gazeboplugin;hector_xacro_tools包含了转动惯量计算、关节驱动、传感器安装的xacro宏文件;hector_components_description包含了一些例程中采用的传感器搭配xacro文件;hector_model包含了hector_model功能包的管理文件;hector_gazebohector_gazebo_plugins包含了GPS/IMU/MAG/SONAR的gazebo插件(噪声、飘移、频率);hector_gazebo_thermal_camera包含了热成像相机的gazebo插件;hector_gazebo_worlds包含了例程中应用的gazebo场景和启动文件;hector_sensors_gazebo关联hector_sensors_description包;hector_gazebo包含了hector_gazebo功能包的管理文件;hector_localizationhector_pose_estimation包含了传感器数据汇总、位姿估计发布文件;hector_pose_estimation_core包含了EKF核心算法文件;message_to_tf包含了传感器信息的坐标转换文件;hector_localization包含了hector_localization功能包的管理文件;机器人操作系统(ROS)10.3.2Hector四旋翼无人机仿真hector_slamhector_mapping包含了建图、定位节点文件;hector_geotiff包含了存储二位栅格地图及机器人轨迹的节点文件;hector_trajectory_server包含了存储tf轨迹的节点文件;hector_compressed_map_transport包含了地图转换成图片的节点文件;hector_geotiff_plugins包含了扩展栅格地图的插件;hector_imu_attitude_to_tf包含了将姿态角发布到tf的节点文件;hector_imu_tools包含了IMU的位姿方向角解算;hector_map_server包含了地图检索及障碍物检测文件;hector_map_tools包含了一个地图构建的头文件;hector_marker_drawing包含了可视化标记的函数文件;hector_nav_msgs包含了hector_slam包用到的消息、服务文件;hector_slam_launch包含了例程中关于不同配置hector_slam的启动文件;hector_slam包含了hector_slam功能包的管理文件;机器人操作系统(ROS)10.3.3Hector仿真环境搭建为了方便读者调试,我们提供了HectorDarmstadt的源码。本实验使用到的功能包有:hector_quadrotor、hector_models、hector_gazebo、hector_localization、hector_slam、gazebo_ros_pkgs、geographic_info,其中前五个是源码,其余为依赖安装包。首先我们需要对功能包进行编译:$cd~/catkin_ws$catkin_make可能会出现“Couldnotfindxxxpackage”的报错,这是因为缺少相关的依赖,运行以下命令安装相应的依赖包,其中xxx代表所缺少依赖的名称,如图所示:$sudoapt-getinstallros-melodic-xxx此外还可以通过rosdep指令安装所需依赖:$rosdepinstall--from-pathssrc--ignore-src-r-y依赖安装完成后,重新编译功能包。编译运行截图机器人操作系统(ROS)10.3.4启动Hector仿真实验(2)室内飞行同样在hector_quradrotor功能包包含四旋翼飞行器的室内模拟飞行例程。运行以下命令启动节点:$roslaunchhector_quadrotor_demoindoor_slam_gazebo.launch节点启动后,Gazebo中将显示WillowGarage室内办公室的模拟环境,若没有加载出环境,需要将Gazebo的官方模型库(/osrf/gazebo_models)拷贝到路径为~/.gazebo(如若不行,放置在/share/gazebo-9/models)的文件夹里,可以通过以下命令查看是否装好Gazebo的库结果如图所示:$roslaunchgazebo_roswillowgarage_world.launch运行指令可以调出Gazebo窗口并加载模拟办公室的环境。成功配置Gazebo库后,运行如下命令启动室内时SLAM节点,运行结果如图所示:$roslaunchgazebo_rosindoor_slam_gazebo.launch机器人操作系统(ROS)10.3.4启动Hector仿真实验Hector无人机室内Gazebo图像Hector无人机室内Rviz图像机器人操作系统(ROS)10.3.4启动Hector仿真实验调用使能电机的服务,控制无人机起飞,命令如下:$rosservicecall/enable_motors"enable:true"运行如下命令启动Xbox手柄控制节点:$roslaunchhector_quadrotor_teleopxbox_controller.launch通过手柄控制无人机移动,并实时建立环境地图,如图所示。使用rqt_graph工

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论