ROS寻迹小车

这篇具有很好参考价值的文章主要介绍了ROS寻迹小车。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一目的

1.自行导入某车型的mesh文件到URDF/Xacro模型(碰撞检测边框长度小数点位数保留三位:最后两位是学号最后两位),四轮驱动;

2.搭建一个具有城市或者越野行驶路面,不少于3处障碍的行驶环境;

3.给无人车装配摄像头、Kinect、激光雷达等传感器。

4.通过键盘控制无人车,采用rqt绘制出无人车的行驶轨迹和纵横向速度、横摆角速度等信息。

5.无人车能够自主巡线返回起点(允许用自定义的图片设计gazebo地板)。

二过程

(一)创建功能包

首先,建立功能包mycar,在mycar里面,建立文件夹config,launch,meshes,urdf,worlds,scripts等。其中config文件夹中保存运动控制器以及rviz的配置的内容。launch文件夹中保存启动文件。meshes文件夹中保存着机器人部件的信息。urdf文件夹里保存着机器人组成以及传感器信息。worlds里保存着gazebo的环境。scripts里保存着python脚本文件。

ROS寻迹小车

(二)solidworks转换成urdf

1在网上浏览四轮汽车,在选到一款大小合适的车后,下载相应的solidworks文件。

ROS寻迹小车

2接着,下载solidworks_urdf_exporter-1.6.1插件,在solidwork中使用。将汽车分为五部分,设置相对应的旋转轴以及坐标系,以及转动惯量等参数,进行转换。

ROS寻迹小车

3设置camera等部件,为之后的gazebo的配置传感器做准备。

4对转换后的urdf文件进行修改。

(三)搭建行驶路面

1根据题目要求需要搭建城市或者越野行驶路面,考虑到下学期的ROS课程的内容,以及搭建教室环境与搭建城市与越野路面并不存在太多差异,于是我就搭建了一个教室的环境,这样便于下学期的课程,进行仿真。

2在主目录的.gazebo文件夹中进行修改,添加所要的图片以及配置相关的参数,其中图片包含相应的运动路线。在主目录的building_editor_models里有墙壁的文件。(my_ground_plane以及各种文件已经放到了worlds文件夹中)(假如打不开,worlds文件夹里有备用的world,以及路径可能需要自己设置。)

ROS寻迹小车

(四)配置传感器

1编写各种xacro文件,其中配置了传感器的各种信息以及控制器的信息。

ROS寻迹小车

ROS寻迹小车

2编写总的xacro文件,其中包含了其他xacro文件。

ROS寻迹小车

3在rviz中,添加各种配置,进行传感器信息的显示。

ROS寻迹小车

 ROS寻迹小车

(五)控制运动

1 启动launch文件

ROS寻迹小车

ROS寻迹小车

 ROS寻迹小车

 2 rosrun teleop_twist_keyboard teleop_twist_keyboard.py。控制小车的运动,观察rviz以及gazebo中小车的运动。

ROS寻迹小车

 2在urdf中添加插件,可以发送小车运动的位置,速度信息。

3打开rqt_graph,添加各种topic,观察曲线的变换。

/base_pose_ground_truth/twist/twist/linear/x和/y、/z表示小车的线速度。ROS寻迹小车

/base_pose_ground_truth/twist/twist/angular/x和y,z表示小车的角速度。ROS寻迹小车

/base_pose_ground_truth/pose/pose/position/x和y、/z表示小车的位置。ROS寻迹小车

/base_pose_ground_truth/pose/pose/orientation/w和x、y、z表示小车位姿。ROS寻迹小车

(六)运行python脚本文件

1执行python文件,建立follower节点,接受gazebo发布的图像信息,检测黄色线条,经过计算后,发布/cmd_vel的topic,进而控制小车的巡线行驶。

ROS寻迹小车

ROS寻迹小车

ROS寻迹小车

三 遇到错误以及解决办法

1在solidworks转换为urdf过程中,出现了坐标系紊乱,旋转轴错误的一系列问题。改正方法是手动设置坐标系,以及旋转轴,注意,旋转轴的朝向应该统一。

2在添加地板图片时发现,添加地板后,传感器检测到的图像会一闪一闪,经过排查发现,需要删除原有地板,添加新的图片。

3添加camera的传感器后,发现系统会报错,将camera传感器发布的topic修改为cameras后,问题得到解决。ROS寻迹小车

4在打开gazebo时,有时会出现gazebo-2] process has died红色报错,此时需要输入killall gzserver,杀死进程,重新打开。

5在执行python时,发现,小车并不会行驶,经过检测发现。follower节点并没有发布/cmd_vel的topic控制小车运动。重新改正python中publisher的位置,修改相应的代码后,发现有了topic上的交流,小车实现了运动。

四 总结

基本上完成的项目的主要任务,可以控制小车运动,并且还可以巡线行驶,在面对很急的弯路以及连续的弯路,也表现良好,十分稳定。

存在的问题是,小车在启动时可能会出现晃动,以及建模并不是很精良。

百度网盘链接

链接:https://pan.baidu.com/s/1_ny3jhrbuGDKeUhALxcmdQ 
提取码:0ksb文章来源地址https://www.toymoban.com/news/detail-464025.html

到了这里,关于ROS寻迹小车的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于蓝牙技术使用stm32制造一个智能小车 (寻迹,避障,遥控)

    目录 1.制作智能小车的硬件名单: 3.引脚图 2.先让小车动起来  1.小车运动 2.代码 3.寻迹  1.工作原理 2.代码 4.超声波避障  1.工作原理 2.代码 5.蓝牙遥控  1.蓝牙工作原理 2.代码 6.oled屏幕 1.工作内容 7.led灯 8.蜂鸣器 9.蓝牙使用代码main  STM32C6T6核心板 1块 L298N电机驱动  1块 五

    2024年02月15日
    浏览(29)
  • Arduino与Proteus仿真实例-简单红外寻迹小车控制仿真

    红外寻迹小车是一种简单的Line Flower Robot(LFR)自主导向机器人,它会随地面上的线来检测白色表面上的暗线或黑色表面上的白线。LRF跟随线,因此,机器人必须检测到线的存在,这样问题就变成了如何在 LFR 中实现线路感应机制。 我们知道,光在白色表面的反射最大,在黑色表

    2024年02月09日
    浏览(26)
  • STC89C52 小车-舵机转向/蓝牙控制/寻迹,有PCB有讲解,更新

    推荐单片机:STC89C52或51(尽量52 还有提供 可用于测试直接烧录的89单片机文件(hex),不需要重新编译 。 还是老话: 源代码可以直接编译通过。 本人是自学,原创内容--转载请务必说明!! 所有下载在文章结尾(包全代码,附件) 代码:为个人gitHub库,无法或不会下载的可以评论

    2024年02月02日
    浏览(30)
  • ROS仿真机器人学习笔记二:创建4轮小车模型及相关xraco文件修改

    提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 跟着上一节博主的教程,可以把

    2024年02月07日
    浏览(24)
  • 大一萌新の作品:红外寻迹模块做跟随小车之没有I的极简PID算法

    (纯萌新,学习单片机半年了,这是寒假回家的作品,师从江科大,写博客纪录我实现后的经验)(比较粗略) 因为没买超声波避障模块,只能勉强一下用红外寻迹做一个类似的小车。 问题很多:光线会干扰读取到的AD值,且难以设置详细的距离,只能设置大概距离;碍于萌

    2024年02月14日
    浏览(26)
  • AT89S52单片机智能寻迹小车自动红外避障趋光检测发声发光设计

    wx供重浩:创享日记 对话框发送:寻迹 获取完整说明报告+源程序+数据 小车具有以下几个功能:自动避障功能;寻迹功能(按路面的黑色轨道行驶);趋光功能(寻找前方的点光源并行驶到位);检测路面所放置的铁片的个数的功能;计算并显示所走的路程和行走的时间,并

    2024年02月19日
    浏览(31)
  • stm32f103 简易4路红外寻迹小车(2)----2023西南交大电赛校赛(pcb原理图,代码及分析)

    目录 一。材料准备。 二。PCB原理图  三。逻辑状态图 四。代码部分 五。文件下载: 接上:stm32f103 简易4路红外寻迹小车(1)----2023西南交大电赛校赛(含stm32中文资料) 小车测试视频: stm32小车寻迹小车 材料资料图片见上:stm32f103 简易4路红外寻迹小车(1)----2023西南交大

    2024年02月16日
    浏览(39)
  • 【毕业设计】39-基于单片机的智能小车寻迹系统的设计与实现(原理图工程+仿真工程+源代码+答辩论文+答辩PPT)

    附件包含:均为毕业设计全配套资料 原理图工程文件 原理图截图 仿真工程文件 源代码 仿真截图 实物图 答辩论文低重复率 答辩PPT 主要内容: 理解并掌握单片机的基本知识;设计一款能够让小车的寻迹功能,使小车智能化实现自动寻迹。 基本要求: 1、掌握单片机的发展情

    2024年01月20日
    浏览(39)
  • 机器人xacro文件转换成urdf文件方法,并在rviz可视化

    一、进入工作空间,source一下 二、进入xacro所在的文件夹,完成xacro文件到urdf文件的转换 然后执行下面命令 随后就生成了相应的urdf文件。 三、为了检验生成urdf模型的准确性,我们进行简单的检查,在同一个目录下输入: 下面步骤可省略: 为了更直观的观看关节链接情况,

    2024年02月07日
    浏览(34)
  • ROS实践——自主巡线小车

    目录 一、    Solidworks模型转urdf 1.下载sw_urdf_exporter插件 2.创建Solidworks模型 3.创建每一个link的点和坐标系 4.创建continue类型joint的旋转轴 5.使用插件进行配置并导出 6.测试 二、    将urdf转为xacro并集成传感器 1.将solidworks导出的汽车urdf文件转为xacro文件 2.添加camera、kinect和l

    2023年04月22日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包