当前位置: 首页 > news >正文

ROS2仿真之两轮差速

        对于两轮差速中,gazebo启动报这种错误,导致无论怎样节点diff_drive始终跑不起来 。最终仿真的车子始终跑不起来。     

        本文将详细阐述在解决这个bug中踩过的坑,或者说是见过哪些千奇百怪的问题吧。刚开始以为是自己gazebo的模型的某个配置项没有设置成功,就一个一个改成true,结果连这个属性都没找着,首先怀疑是不是漏看了,于是开始很开心的浪费时间查找第二遍,依旧没有,于是我又开始进一步猜测莫非是gazebo的有些界面我没打开,一顿乱操作,还是没有解决,不过倒是把gazebo玩明白了。

        接下来,反过头来去看之前学过的关于urdf机器人模型格式文件,对照给的学习文档,不断检查文件是否写错,写漏掉。但是依旧是没有,你以为这样就成功了?并没有

        再接着,我发现这个是有一个两轮差速是有一个插件的,叫做diff_drive,并且学习文档中有给出diff_drive在github中的位置,我就寻思是不是我的项目里面没有这个文件。打开一看原来是一个cpp的文件,里面代码还很长,我想不太可能是这个吧,毕竟还没有做一个项目中出现问题会去拉取某个文件的地步。于是我在这持坚定不拉取的态度。(ps后来还真和这个有关)

        然后,我学后面的文档,文档是gazebo_imu,竟然发现文档中列出的动态库我很多都没有,就是那些该死的.so文件,于是认真了看启动gazebo时抛出的红色文字,发现这些文件的缺失确确实实会导致启动程序出现error。在我查看了鱼香ros2的官方文档之后,发现竟然没有人发起request是关于这个错误的,(ps如果你现在有看见这个错误,大概率就是我提出来的)最后实在是觉得有必要问问有经验的朋友,就加了ros鱼香的qq群,进去之后,也没有人回答我的问题。

        最后,不是当然不是,我觉得是不是我的ros2对应的版本下载有问题,有些会安装在ros2的安装目录的动态链接库没有,于是我又一次卸载了安好的humble版本,开始安装鱼香给的,安装过程还挺慢的,此时有种预感,或许就安装成功了,毕竟这一次安装的时间确实是比第一次安装ros2长,然而然而你没有猜错,我又一次失败了,此时中午睡觉都不爽了。

        再接着qq群里依旧没有人回答本菜鸡的问题,于是你们想的没错,我开始想着能不能不跑啊,但是后面的实验都是基于此的,于是在我不断仔细阅读文档中,我发现我可以自己去编译这些cpp文件,生成.so文件这样就能运行,于是我又一次尝试,结果发现连编译都成问题,说是缺少对应的头文件。于是又放弃了。

        最后的最后,我在仔细阅读这些文档,发现这不就是gazebo的插件没有弄吗,于是就开始尝试再次安装一下gazebo-ros对应的插件,发现竟然成功了。我想我不是按照这里一步步来的吗,原来鱼香ros在这里出现一点点的错误,后面的命令缺少了-pkgs

        最终安装命令

sudo apt install ros-humble-gazebo-ros-pkgs

        问题成功解决

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 纵切车床和走心机的区别
  • C/C++ 网络编程之关于多核利用问题
  • x11vnc卡顿问题,debian11编译x11vnc
  • 数学建模笔记—— 模糊综合评价
  • k8s防火墙networkPolicy,的核心是“自己”
  • 中关村科金推出得助音视频鸿蒙SDK,助力金融业务系统鸿蒙化提速
  • HTTP 之 响应头信息(二十三)
  • ozon免费选品工具,OZON免费选品神器
  • 鸿蒙轻内核M核源码分析系列二一 02 文件系统LittleFS
  • AI为云游戏带来的革新及解决方案:深度技术剖析与未来展望
  • Android Framework(五)WMS-窗口显示流程——窗口布局与绘制显示
  • element UI学习使用(1)
  • Html、Css3动画效果
  • 1 MATLAB 绘图函数函数: plot
  • kvm 虚拟机命令行虚拟机操作、制作快照和恢复快照以及工作常用总结
  • Angular 响应式表单之下拉框
  • C++类中的特殊成员函数
  • C学习-枚举(九)
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • Git初体验
  • go语言学习初探(一)
  • Java读取Properties文件的六种方法
  • JS变量作用域
  • TCP拥塞控制
  • Wamp集成环境 添加PHP的新版本
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 聚类分析——Kmeans
  • 老板让我十分钟上手nx-admin
  • 再次简单明了总结flex布局,一看就懂...
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 我们雇佣了一只大猴子...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ## 1.3.Git命令
  • ${factoryList }后面有空格不影响
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (12)Hive调优——count distinct去重优化
  • (2)STM32单片机上位机
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (八)c52学习之旅-中断实验
  • (多级缓存)缓存同步
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (分布式缓存)Redis哨兵
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (六)软件测试分工
  • (篇九)MySQL常用内置函数
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (四)模仿学习-完成后台管理页面查询
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • .bat批处理(二):%0 %1——给批处理脚本传递参数