四旋翼无人机仿真之hector_quadrotor无人机(ROS + Gazebo)(一)

2023-05-16

这里写自定义目录标题

  • 应用环境
    • hector_quadrotor 功能包结构简介
    • hector_quadrotor 功能包安装
    • 1. 安装所需依赖库
    • 2. 下载、安装hector_quadrotor
      • 参考文章

应用环境

ubuntu16.04 (虚拟机实体机下均可)
ROS kinetic
Gazebo为安装ROS时自带(本人为Gazebo 7)

hector_quadrotor 功能包结构简介

hector_quadrotor是ROS下开源的无人机仿真功能包,是tu-darmstadt-ros-pkg功能包的主要组成部分,该功能包是德国达姆施塔特工业大学在ROS上开源的无人机仿真功能包,自开源后便广泛应用于ROS+Gazebo环境下做无人机相关可视化仿真,是进行四旋翼无人机仿真的良好工具。其中hector_quadrotor有很多相关依赖包,均可在tu-darmstadt-ros-pkg中找到,感兴趣的同学可自行了解。

具体细节可参考网址:
tu-darmstadt-ros-pkg官方网址:http://wiki.ros.org/tu-darmstadt-ros-pkg
hector_quadrotor 官方网址:http://wiki.ros.org/hector_quadrotor

hector_quadrotor_description提供了通用的四旋翼URDF模型以及各种各样的传感器。
hector_quadrotor_gazebo包含了在Gazebo中运行四旋翼模型所需要的launch file以及依赖信息。
hector_quadrotor_teleop包含一个允许使用gamepad控制旋翼的节点。
hector_quadrotor_gazebo_plugins提供在Gazebo仿真环境中进行四旋翼仿真的所需的特定的plugins。

hector_quadrotor 功能包安装

1. 安装所需依赖库

安装ubuntu、ROS以及Gazebo
首先保证系统为ubuntu16.04,在ubuntu系统中安装ROS-kinetic版本(具体安装步骤在此不再赘述,可自行查阅相关安装教程,预计安装一小时)
ps:在安装ROS时,到最后的环节可能会遇见 sudo rosdep init错误的问题,具体解决方式可见:https://blog.csdn.net/nanianwochengshui/article/details/105702188

安装gazebo_ros_pkgs

sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control

安装 geographic_msgs

sudo apt-get install ros-kinetic-geographic-msgs

2. 下载、安装hector_quadrotor

配置工作空间

mkdir -p hector_quadrotor_tutorial/src
cd hector_quadrotor_tutorial

安装
Ubuntu系统kinetic版本的hector_quadrotor包可以从源:https://github.com/tu-darmstadt-ros-pkg/hector_quadrotor.git下载

wstool init src https://raw.github.com/tu-darmstadt-ros-pkg/hector_quadrotor/kinetic-devel/tutorials.rosinstall

回到catkin_ws工作空间hector_quadrotor_tutorial,输入catkin_make编译

ps:此处若没有安装wstool,则需要执行
sudo apt-get install python-wstool python-rosdep ninja-build
安装python-wstool。

当然,想必很多朋友们在通过链接下载的过程中,都会因为网络等一些问题,造成一定的下载问题,因此,本人针对这一问题,采用了在github中下载安装包再按地址拷贝进ubuntu相关工作空间的方式,具体如下:

下载hector_quadrotor安装包
https://github.com/tu-darmstadt-ros-pkg/hector_quadrotor
将安装包拷贝至工作空间下/src目录中,并执行catkin_make编译

正常情况下,编译成功
当然,也会出现如下问题,但大家不必担心,我已一一解决掉,耐心看如下文章:

(1)
在这里插入图片描述解决方式:
从源:https://github.com/ros-geographic-info/geographic_info.git下载,解压到hector_quadrotor_tutorial/src目录下,重新catkin_make.

(2)
在这里插入图片描述解决方式:
从源:https://github.com/ros-simulation/gazebo_ros_pkgs.git下载,同样解压到hector_quadrotor_tutorial/src目录下,进行catkin_make.

一般到这问题就基本解决了
没有?╮(╯_╰)╭再往下看~

如上述两个问题相似,显示缺少unique_id,此时从源https://github.com/ros-geographic-info/unique_identifier下载,同样解压到hector_quadrotor_tutorial/src目录下,进行catkin_make.

最后一个问题如图:
在这里插![在这里插入图片描述](https://img-blog.csdnimg.cn/58d90e57071942b99940ca57ef499c9e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55m95aScYA==,size_20,color_FFFFFF,t_70,g_se,x_16入图片描述

通过阅读代码,可知错误原因是在类gazebo中没有找到成员函数SetWorldtoReferenceOrientation.
解决方式:
进入文件夹/usr/include/gazebo7/gazebo中,找到文件ImuSensor.hh,发现里面确实没有函数SetWorldtoReferenceOrientation,在里面添加该函数即可。
修改文件内部代码见https://github.com/SamFerwerda/Gazebo10-commits/blob/b33ac5982fb75cac894fa145f7268146d44e0724/gazebo/sensors/ImuSensor.hh

经过如上修改,基本大家可能会遇到的问题就已全部解决啦~撒花!!

最后在工作空间中编译catkin_make,等待十分钟左右~成功!!
在这里插入图片描述
最后,大家如果在此期间由安装包下载等问题,可以留言或私信,对您有所帮助的话,感谢您的点赞转发支持~大家加油!!

参考文章

https://blog.csdn.net/u013832707/article/details/53991921
https://blog.csdn.net/phenixlou/article/details/78518207
http://www.javashuo.com/article/p-cpjxryei-ku.html
[1]: https://blog.csdn.net/u013832707/article/details/53991921
[2]: https://blog.csdn.net/phenixlou/article/details/78518207
[3]: http://www.javashuo.com/article/p-cpjxryei-ku.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

四旋翼无人机仿真之hector_quadrotor无人机(ROS + Gazebo)(一) 的相关文章

  • 为什么SpringBoot中Service实现类添加@Service会无法注入?

    最近一直在研究Spring Boot 从GitHub上下载了一个my Blog源码 xff0c 一边看 xff0c 一边自己尝试去实现 xff0c 结果掉在坑了 xff0c 研究了近一周才爬出来 xff0c 特地来这博客园记录下来 xff0
  • STM32 Keil5 Bug记录 汇总和解决办法

    STM32 Keil5 Bug记录 汇总和解决办法 文章目录 STM32 Keil5 Bug记录 汇总和解决办法前言一 Warning1 warning no newline at end of file2 warning function
  • 十道泛型面试题,你答得上来吗?

    问题一 xff1a 为什么需要泛型 xff1f 答 xff1a 使用泛型机制编写的代码要比那些杂乱的使用Object变量 xff0c 然后再进行强制类型转换的代码具有更好的安全性和可读性 xff0c 也就是说使用泛型机制编写的代码可以被很多
  • 程序员年初裸辞,至今没找到工作

    4月初裸辞 xff0c 找了近2个多月的工作了 xff0c 至今还没找到 xff0c 感觉心好慌 xff0c 不知道该怎么办了 xff1f 裸辞多久找不到工作 xff0c 心态会崩 xff1f 找不到工作的时候压力很大 xff0c 有人说自
  • 编程语言决定程序员性格,你的性格有没有被带偏?

    人的性格非常容易受到周遭环境影响 xff0c 据说 xff0c 编程环境也会影响一个人的性格哦 xff0c 某种语言用久了 xff0c 性格都会和编程语言的特点挂钩 快来看看你的性格有没有被带偏吧 xff01 1 Python程序员的特征
  • 总结一些IT项目经理的管理方法与经验

    项目经理在大作业中担任的角色 xff0c 既有项目参与者 xff0c 又有共同承担的项目经理的任务 项目经理不一定需要很强的开发能力 xff0c 只要能有效的调动团队 但是良好的开发背景会让你很容易和员工沟通 项目经理需要具备以下几个能力
  • 深度揭秘,中国程序员们的生活现状!

    如果没有程序员 xff0c 整个虚拟世界都会消失不见 全中国7亿多网民 xff0c 再也不能愉快滴发自拍 xff0c 看视频 xff0c 打游戏 xff0c 甚至连打电话都成了一种幻想 绝大部分电子设备都会变成废铁 xff0c 人类的生活将
  • 阿里技术岗招聘专家给求职者的10条建议

    前阵子 xff0c 我和阿里的薪酬福利专家M同学聊了一下午 xff0c M同学做了9年薪酬 xff0c 和我们吐槽了很多薪酬方面的现象 xff0c 也道出了少有人关注的薪酬逻辑和常识 这一次 xff0c 我又找了一位阿里技术岗位的招聘专家T
  • ubuntu18.04依赖于OpenCV3.4.13版本的cv_bridge使用

    前言 ROS原装的cv bridge位于 opt ros melodic include cv bridge 它依赖于OpenCV 3 2 在当前ROS包中为了使用基于新的OpenCV 3 4 10的cv bridge xff0c 网上有博
  • 百度(表格OCR异步接口)API调用流程

    目录 1 调用费用 xff1a 2 调用流程 1 xff09 注册百度账号并进行个人 企业认证 2 xff09 领取免费资源流程 2 xff09 1 xff09 百度智能云 控制台 产品服务 文字识别 2 xff09 2 xff09 领取免
  • 通俗地、有效地学习Linux驱动&应用(只要没更完有空就更)

    目录 食用方法 Warning Linux系统分层的意义 系统移植和烧写 Windows系统下通过OTG烧写 Ubuntu脚本烧写 Windows脚本烧写 通过uboot进行操作 Debian移植 xff08 EBF6ULL系列请看 xff
  • ROS+Opencv的双目相机标定和orbslam双目参数匹配

    本文承接ROS调用USB双目摄像头模组 目录 先完成单目标定双目标定生成可用于ORB SLAM2的yaml文件生成可用于ORB SLAM3的yaml文件参考 按照上面链接配置好后 xff0c 执行 rostopic list 你应该可以找到
  • 双目相机 -- IMU联合标定

    声明 xff1a 一些图片是不该有水印的 xff0c CSDN把图片链接的格式改了 xff0c 暂时还不知道怎么去掉 xff0c 请见谅 xff01 xff01 xff01 目录 声明 xff1a 一些图片是不该有水印的 xff0c CSD
  • window子系统wsl2安装kali及桌面

    一 先升级wsl2 xff08 1 xff09 wsl1没有Linux的内核 xff0c 所以很多Linux版本的工具都无法在wsl1中运行 xff0c 比如 xff1a docker xff0c Linux版本的浏览器等等 所以需要升级为
  • 京东秒杀系统模块的Redis分布式锁深度剖析,没给你讲明白你打我!

    1 0背景 目前开发过程中 xff0c 按照公司规范 xff0c 需要依赖框架中的缓存组件 不得不说 xff0c 做组件的大牛对CRUD操作的封装 xff0c 连接池 缓存路由 缓存安全性的管控都处理的无可挑剔 但是有一个小问题 xff0c
  • 一次搞懂,Docker底层原理分析实战

    当今 xff0c Docker 技术已经形成了更为成熟的生态圈 xff0c 各家公司都在积极做业务容器化改造 xff0c 大家对 Docker 也都已经不再陌生 但在我刚接触 Docker 时 xff0c 市面上的资料还非常少 xff0c
  • RocketMq安装出现的问题

    RocketMq4 9 3版本下载安装问题 xff08 Win10 xff09 1 官网https rocketmq apache org docs quick start 找到下图中所示的链接 下载链接 解压到自己想要的目录下 xff0c
  • 阿里云服务器搭建fastdfs

    fastdfs安装介绍 环境准备 本人的阿里云服务器CentOS Linux release 7 9 2009 Core 版本 xff08 通过命令cat etc redhat release查看自己的Linux版本信息 xff09 过程中
  • win10搭建mysql主从复制的两个测试主从数据库

    mysql主从复制基础 win10电脑设置两个mysql数据库 卸载MySQL数据库 本人只是想把自己的mysql5 7 4升级为mysql8版本 xff0c 这里顺带记录一下 xff0c 以便有需要的人查看备份数据库 本人使用的是sqly
  • mac系统n工具下载node.js速度过慢(导致下载失败)

    n工具下载node js失败 n工具n工具下载node js失败的原因解决注意 n工具 n工具是mac系统用来管理多个node js版本的工具 xff0c 我们如果要使用到多个node js版本 xff0c 那么就可以使用n工具 xff0c

随机推荐

  • 使用Git小乌龟初始化本地仓库并且创建新的分支提交 删除分支(超详细图文教程,手把手教你做)

    前段时间入了小乌龟的坑 xff0c 最近项目需要多人合作 xff0c 就需要使用分支提交项目 xff0c 这里刚好就使用到了创建分支功能 xff0c 就记录一下使用的完整过程 文章目录 第一步 初始仓库 xff1a 1 1 创建完成项目会多
  • opencv笔试面试必背题目

    算法工程师 xff0c 技术软件类求职opencv必背八股文 更多算法 业务 HR面等笔试题面试题 gt 个性签名自取 xff01 1 opencv中RGB2GRAY是怎么实现的 答 xff1a 以R G B为轴建立空间直角坐标系 xff0
  • 我的新地址 http://www.cppblog.com/flyingxu/

    我的新地址 http www cppblog com flyingxu 这里的文章不会移过去 xff0c 也不会继续更新 xff0c 保持现状 以后会不会重新开始更新 xff0c 也不确定
  • px4+ros+gazebo+ORB_SLAM2室内视觉无人机导航

    px4 43 ros 43 gazebo 43 ORB SLAM2室内视觉无人机导航 一 ros 43 px4环境搭建 我用的ORB SLAM2视觉相机跑图首先要安装ros 43 px4环境 xff0c 我用的阿木实验室的镜像 xff0c
  • pc+tx2通信

    https blog csdn net RNG uzi article details 107285113
  • F4烧写PX4固件

    一 硬件准备 一个f4v3pro或者f4v3s飞控 xff0c 一根USB线 xff0c F450机架 xff0c ET07接收机和配套遥控器 xff0c 20A电调 xff0c 电机 xff0c 格式3s电池 1 无人机组装效果图 上 上
  • C++结构体类型变量

    C 43 43 定义结构体类型变量的方法 1 先声明结构体类型再定义变量名 xff0c 在定义了结构体变量后 xff0c 系统会为之分配内存单元 span class token keyword struct span Student sp
  • pycharm中如何安装tensorflow、cv2

    做卷积神经网络时用到了Python xff0c 记录一下遇到的问题 xff0c 首先 xff0c anaconda和pycharm的安装可按照网上的教程来 tensorflow的安装 但是 xff0c 当配置好解释器之后 xff0c 面临的
  • 【vscode和gitee】如何更改VsCode的gitee远程库地址,并提交到新的仓库中

    如何更改VsCode的gitee远程库地址 xff0c 并提交到新的仓库中 1 查看并更换git远程仓库地址 span class token number 1 span 查看当前remotes span class token funct
  • 【软件评测】03程序语言基础

    仅为学习记录 程序设计语言概述 低级语言 机器语言 xff1a 用二进制代码表示的计算机的指令等 xff0c 所有都是二进制表示 xff0c 计算机可以直接执行 xff0c 而不需要再次进行编译 优点 xff1a 执行效率较高 xff0c
  • 【软件评测】06计算机网络基础知识

    计算机网络基础知识 OSI RM七层模型七层模型TCP IP四层协议冲突域和广播域的区别 常见的协议协议族常见协议及对应端口常用的端口号 域名空间万维网Windows网络相关命令IP地址IP地址IP地址的分类IP地址掩码变长子网掩码特殊含义
  • 【软件评测】07安全性基础知识

    安全性基础知识 安全保护等级安全防护体系数据安全策略安全防护策略防火墙包过滤状态检测代理服务 安全协议 病毒与木马病毒木马 网络攻击访问控制访问控制实现方式身份验证方式 加密技术对称性加密技术非对称性加密技术单向加密PKI签名 43 加密
  • 【软件评测】09知识产权和项目管理基础知识

    仅为学习记录 知识产权 著作权概述 著作权 知识产权是指人们基于自己的智力活动所创造的成果和经营管理活动中的经验知识而依法享有的权利 知识产权的特点 xff1a 无形性 双重性 确认性 独创性 地域性 时间性 版权 xff08 著作权 xf
  • 131. Palindrome Partitioning

    文章目录 1 题目理解2 回溯3 动态规划 1 题目理解 输入 xff1a 字符串s 规则 xff1a 将字符串s分割 xff0c 分割后每一个部分都是一个回文串 输出 xff1a 所有的分割方式 Example 1 Input s 61
  • 【软件评测】10数据库技术

    仅记录学习过程 数据库技术相关术语 术语 数据 描述事物的符号 xff0c 是传递信息的载体信息 事物的状态和事物状态变化的反馈数据库 存放数据的地方 xff0c 统一管理 长期存放在计算机内 有组织 相互关联的数据集合 xff0c 特点是
  • 【软件评测】11软件测试理论

    仅为学习记录 软件测试理论 软件测试基础软件测试软件测试验证与确认软件缺陷 测试质量与保证软件质量质量保证 测试用例测试策略测试的原则软件测试模型V模型W模型H模型敏捷测试模型 软件测试分类回归测试按照关联代码划分按实施主体划分按工程阶段划
  • 数学建模-第六章:最优化方法建模

    最优化方法 数学规划 xff0c 是运筹学的一个分支怎样建立最优化问题的数学模型 决策变量和函数约束或限制条件目标函数 连续变量优化模型 线性规划 标准形式的线性规划模型 线性规划问题转为标准形式 max w 61 7x 43 12y s
  • Linux基础命令总结(超全)

    Linux中一些基础命令 1 pwd xff1a 显示当前所在位置的绝对路径 2 cd 43 路径 xff1a 切换当前工作位置 3 cd xff1a 退回到当前位置 4 cd xff1a 退回到上一层 5 ls xff1a 默认显示当前位
  • C#窗体简单应用

    创建登录页面 xff0c 登录成功跳转测试页面 第一步 xff0c VS创建窗体 第二步 xff0c 进入程序 xff0c 开始编辑 第三步 xff0c 从 视图 找出 工具箱 xff0c 拉出对应控件 xff0c 排布登录页面 第四步 x
  • 四旋翼无人机仿真之hector_quadrotor无人机(ROS + Gazebo)(一)

    这里写自定义目录标题 应用环境hector quadrotor 功能包结构简介hector quadrotor 功能包安装1 安装所需依赖库2 下载 安装hector quadrotor参考文章 应用环境 ubuntu16 04 虚拟机实体