【自动驾驶】ROS小车系统介绍

news2024/10/6 12:21:27

文章目录

    • 小车组成
    • 轮式运动底盘的组成
    • 轮式运动底盘的分类
    • 轮式机器人的控制方式
    • 感知传感器
    • ROS决策主控
    • ROS介绍
    • ROS的坐标系
    • ROS的单位
    • 机器人电气连接
    • 变压模块
    • 运动底盘的电气连接
    • ROS主控与传感器的电气连接
    • 运动底盘基本组成
    • 电池
    • 电机
    • 控制器与驱动器
    • 控制器与运动底盘状态数据:里程计、IMU
    • 运动学分析与轮子
    • 运动学分析公式

小车组成

在这里插入图片描述

轮式运动底盘的组成

在这里插入图片描述

• 电源电池
提供能源。
• 控制器、驱动器
控制器产生控制信号,驱动器放大信号以驱动电机。可以驱控一体设计。
• 电机、舵机
电能转化为动能的装置。
• 轮子
连接电机,根据应用需求选择不同的轮子。
• 运动底盘
以上4部分安装到车架上即可组成一个运动底盘。

轮式运动底盘的分类

在这里插入图片描述
在这里插入图片描述

轮式机器人的控制方式

在这里插入图片描述

感知传感器

在这里插入图片描述

ROS决策主控

ROS主控的作用是获取各个传感器的数据,并根据功能需要对数据进行处理、解析,然后控制(决策)机器
人执行运动、抓取等动作。
例如希望实现机器人跟随红色物体的功能,首先相机传感器获取环境图像信息,ROS主控处理图像信息获取红色
物体的位置,然后ROS主控控制机器人靠近红色物体。
ROS主控可以认为就是一个可以运ROS的电脑,由于需要安装在机器人内,所以会要求该电脑的体积比较小。
在这里插入图片描述

ROS介绍

ROS最重要最基本的特性是其提供了一个通信环境,在该通信环境内,所有机器人、传感器的数据都可以通过编程实现共享,该通信环境使用无线、有线网络都可以实现。
在这里插入图片描述

ROS的坐标系

X:代表前后方向,向前为正
Y:代表横向方向,向左为正
Z:代表上下方向,向上为正
旋转正方向使用右手定则:右手大拇指朝向坐标系正方向,四指握拳,此时四指弯曲方向为旋转正方向。
据此可以知道,ROS机器人在地面的逆时针旋转,对应绕坐标系Z轴正方向旋转。

ROS的单位

ROS中所有数值的单位都为国际标准单位,常见的如下:
时间:秒、s
质量:千克、kg
长度:米、m;角度:弧度、rad
线速度:m/s;角速度:rad/s
加速度:m/s^2

在这里插入图片描述

机器人电气连接

完整的ROS机器人主要包括运动底盘(执行)、ROS主控(决策)、传感器(感知)、电池(能源)四个部分。
其中电池一般集成在运动底盘上,电池通过各种电气线路给机器人上的所有电气元件供电。
运动底盘(执行)、ROS主控(决策)、传感器(感知)之间也通过各种电气线路进行通信。
所以ROS机器人的电气线路可以大致分为【供电】与【信号】两类。

在这里插入图片描述

变压模块

ROS主控、传感器等电气元件要求的供电输入电压大小各种各样。
如果实际供电电压大于元件要求电压范围,会有过压损坏元件的风险;
如果实际供电电压小于元件要求电压范围,欠压可能会导致元件不能正常工作。
而电池输出的电压大小是固定(小范围波动)的,当电池电压范围与元件要求电压不匹配时,
需要使用变压模块,把电池电压转换到合适的大小再给元件供电。
电压大小与剩余电量成正比(以上基于三元锂电池,磷酸铁锂电池略有差异)

电气元件的供电参数要求除了电压还有电流,电源的电流输出参数必须大于或等于元件的电流输入参数。否则欠流可能导致元件不能工作在最佳状态。
元件的电流参数代表其需要的最高的稳定电流,实际工作时不一定一直满电流运行。
电源的电流参数代表其最高可以稳定输出的电流,实际工作时输出的电流大小取决于元件的工作状态需要多大的电流。

在这里插入图片描述

运动底盘的电气连接

供电:起源于电池,主要通过T头线或其它分流线输出到其它部件。
信号:起源于控制器,通过各种专用线材连接,最后控制电机与轮子转动。

在这里插入图片描述
在这里插入图片描述

ROS主控与传感器的电气连接

根据不同的供电参数要求使用不同的供电方式。
ROS主控的供电
5V供电要求:使用运动底盘(STM32)控制器的TypeC电源接口供电。
12V/25V供电要求:在电池供电范围内的,使用电池直接供电;不在则使用变压模块供电。
其它供电电压要求或5V接口数量不足:使用变压模块供电。

传感器的供电
5V供电要求:大部分传感器的供电要求都是5V,一般直接使用USB数据线连接ROS主控的USB母口,同时完成供电与通信。
也有部分传感器功耗较高,需要两个USB数据线分别进行供电与通信。
12V/25V供电要求:在电池供电范围内的,使用电池直接供电;不在则使用变压模块供电。
其它供电电压要求或5V接口数量不足:使用变压模块供电。

在这里插入图片描述

• ROS主控的信号连接
ROS主控的信号连接全部通过USB接口进行,包括传感器与运动底盘。
其中运动底盘是连接STM32控制器的串口3-TypeC接口,实现对运动底盘的控制与数据获取。

• 传感器的信号连接
所有传感器(感知)通过USB数据线与ROS主控(决策)进行信号连接。

• USB扩展坞/HUB
一般ROS主控上只配备有2-4个USB接口,当传感器数量过多时,就需要用到USB扩展坞来获取更多的USB接口。

运动底盘基本组成

电机、舵机、运动底盘、轮子、电源电池

• 电源电池
提供能源。

• 控制器、驱动器
控制器负责接收控制命令,产生控制信号,以及外发底盘运动状态数据。驱动器负责放大控制信号以驱动电机。可以驱控一体设计。

• 电机、舵机
电能转化为动能的装置。

• 轮子
连接电机,根据应用需求选择不同的轮子。

• 运动底盘
以上4部分安装到车架上即可组成一个运动底盘。

在这里插入图片描述

电池

关键参数介绍与选型参考
• 电芯类型
常用的有碳酸锂铁与三元锂电池,两种电芯各有特点,两者对比,三元锂能量密度更高、耐低温、充电更慢、成本更高等等。
大家选择主要参考以下电压、电流、体积、容量、保护等参数选择即可。
三元锂的剩余电量与电压成正比,碳酸锂铁则是阶梯式的(90%-10%电量期间电压基本不变)。
• 电压、电流
电池是由多个电芯并联或串联组成的。
电芯标称电压:磷酸铁锂电芯3.2V、三元锂电芯3.7V。
电芯串联提高电压,并联提高容量。右图4款电池依次为7串1并、6串2并、6串4并、6串8并。
电压*电流=功率,两者共同决定电池的供电能力。运动底盘电池的电压电流要求一般来自电机。
假设需要4个MD36NP27_24电机在额定功率下运行,电池电压要求≈ 24𝐀,电池放电性能要求≥ 2.3 ∗ 4 = 9.2𝐀。
关键参数介绍与选型参考
• 电量、续航、充电电流、体积、重量与接口插头
6100mAh电量代表电池可以持续输出6.1A电流1小时,恒定电流输出下的续航
计算公式:续航时间(ℎ) = 电量(𝐀𝐀ℎ)
电流(𝐀) ,𝐀 = 1000𝐀𝐀,充电时间同理。
大电量一般代表大体积,根据预算与运动底盘结构要求选择。
接口插头自行评估是否适合自身已有设备,如不合适需要另外采购转接头。
• 保护
短路、过流、过充、过放保护,支持边充边用,内置压力安全阀,阻燃板。

在这里插入图片描述

电机

电机是把电能转化为动能的装置。本节以直流电机为例讲解一般电机的构成:电机、编码器和减速器。
直流电机把电能转换为动能的原理为通电导线在磁场中会受到洛伦兹力的作用,电流越大,受力越大。所以提高输入电压,可以加大电流,
提高扭矩、转速。
编码器的作用是检测电机的转速,编码器的AB线会产生与转速成比例的脉冲,例如13线霍尔编码器,电机转子转一圈编码器的AB线各产生13个脉冲。转速检测用于实现电机的速度、位置闭环控制。
减速器的作用是提高扭矩,但是会降低转速。电机原始扭矩较小,扭矩不足容易导致堵转损坏电机,故需要减速器。假设电机使用减速比
为27的减速器,那么电机转子转27圈,电机最终输出轴转1圈。
电机的功率、体积、价格,基本成正比例关系,需要底盘设计者根据项目实际需求权衡选择。
舵机可以认为是一种特殊的电机,一般用于阿克曼底盘的前轮转向结构和机械臂上。

在这里插入图片描述

控制器与驱动器

控制器
负责接收速度控制命令,产生控制信号,以及外发底盘运动状态数据。
编码器转速反馈,是为了控制电机的转速更接近速度控制命令的要求。

驱动器
驱动电机需要较大功率的电压电流,一般控制器的无大功率输出能力。所以需要驱动器放大控制信号以驱动电机。驱控一体设计
如果电机的功率要求不高,那么控制器和驱动器是可以集成到一个较小的控制板上的,如右图所示。

在这里插入图片描述

控制器与运动底盘状态数据:里程计、IMU

控制器需要负责外发底盘运动状态数据,这里最重要的数据就是里程计和IMU,它们的作用都是用于机器人定位的,即用于确认机器人
目前所在的物理位置。

里程计的推导流程如图所示,其中运动学分析部分是运动底盘控制器需要做的工作。
轮式底盘的XYZ三轴里程计数据为:X-前后方向的位移、Y-左右方向的位移、Z-旋转的角度(航向角)。

IMU数据可以来自运动底盘自身板载的IMU芯片,也可以来自外置的IMU模块。我司的运动底盘一般都有板载IMU。
其工作流程如图所示,控制器只需要负责发送IMU数据,解算为姿态角部分由上层决策部分(ROS)处理。

扩展内容
IMU的角速度可以通过时间积分(速度*时间)计算三轴姿态角。
IMU的加速度可以通过特定公式计算除Z轴航向角外的XY两轴姿态角,IMU的加速度通过时间积分计算三轴位移。
里程计提供了XY两轴位移和Z轴航向角。
XYZ三轴位移、XYZ三轴姿态角,有两个或以上的数据来源,就可以融合计算出相对更准确的位姿数据。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

运动学分析与轮子

不同类型的轮子、底盘结构决定了运动底盘的运行场景与特点,也决定了其运动学分析公式。
运动学分析正解:根据各个轮子的当前线速度求出机器人当前的三轴速度。(对应控制器向外发送机器人三轴速度用于计算里程计)
运动学分析逆解:根据三轴目标速度求出各个轮子的目标线速度。(对应控制器接收速度控制命令,然后向驱动器发送控制信号以控
制电机转动)
轮子的线速度(m/s)=电机转速(圈/s)2𝐀*轮子半径

从轮子、电机、到控制器,其中核心是控制器,控制器负责对外界的控制命令进行响应和反馈。

在这里插入图片描述

运动学分析公式

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1831556.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记录第一次突发情况

项目场景: 这台云服务器主要是我学习在用,也不是很大,2核2g3M40G硬盘。 在这台服务器上,我主要使用了docker并且把所有的东西,都通过docker安装,比如MySQL,redis, elasticsearch。 …

视频合成渲染服务解决方案,数字人+PPT+视频云剪辑

在金融理财领域,一个生动、直观、专业的视频,往往能够在海量信息中脱颖而出,帮助客户更好地理解产品、把握市场动态。然而,传统的视频制作方式往往周期长、成本高、难以适应快速变化的市场需求。 美摄科技,作为行业领…

CANape使用问题记录

CANape使用问题记录 1、添加变量后无法开启测量 1、添加变量后无法开启测量 点击开启测量后,出现以下对话框: 解决方法: 添加新变量后,修改变量测量配置; 改为polling, 1000,即采用轮训的方法…

收入增长,再进一步丨用友BIP收入云大消费品行业收入管理联合解决方案正式发布

随着数智化时代的来临,消费品行业对于收款到收入侧的管理需求日益增强,对管理的精细度和时效性要求也越来越高。传统的收入管理模式已难以满足企业快速变化的市场需求。如何精准地预测收入、优化收入结构、提高收入管理质量,以及实现收入管理…

雪花算法和UUID

目录 雪花算法概念优点和不足优点:缺点:解决方案代码示例 UUID优点与不足优点不足 两种算法的比较应用场景区别 雪花算法 概念 雪花算法是一个分布式id生成算法,它生成的id一般情况下具有唯一性。由64位01数字组成,第一位是符号位,始终为0。…

Kubernetes集群中如何利用北极星因果指标设置正确的POD规格——CPU篇

在 Kubernetes 容量规划中,追求的是集群的稳定性和资源使用效率之间的平衡: 资源分配过多会造成浪费。 资源分配过少则会导致用户请求时延上升,影响集群的稳定性。 背景 公众号之前翻译了一篇 Sysdig 的文章,Kubernetes 容量规…

玩转nRF52840-DK开发套件(2)

介绍如何在Windows操作系统上使用Arm Keil MDK。Arm Keil MDK附带Arm C/C编译器和Vision集成开发环境(IDE),以及所有nRF5SDK的版本提供了现成的Keil项目。 1. 安装最新的 nRF5 SDK. 链接:nRF5 SDK - nordicsemi.com 点击Download&…

泰迪智能科技董事长张良均荣获“2024年广东软件风云榜新锐企业家”

6月13日,在广州举办2024年粤港澳软件产业高质量发展大会、第十二届粤港云计算大会暨第七届粤港澳ICT大会。大会以“培育信息技术新质生产力,打造粤港澳发展创新引擎”为主题,研讨基础软件、云计算、人工智能等新一代技术的新态势、新应用&…

14.编写自动化测试(上)

标题 一、如何编写测试1.1 一些概念1.2 测试函数剖析1.3 使用assert!宏检查结果1.4 使用assert_eq!和assert_ne!宏来测试相等1&#xff09; assert_eq!2&#xff09; assert_ne! 1.5 使用 should_panic 检查 panic 二、将 Result<T, E> 用于测试 一、如何编写测试 1.1 一…

解决外网404:清除DNS缓存并配置host主机使用知名公共DNS服务

在 Windows 上清除/刷新 DNS 缓存 对于所有Windows版本&#xff0c;清除DNS缓存的过程都是相同的。你需要使用管理员权限打开命令提示符并运行ipconfig /flushdns。 浏览器清除DNS缓存 大多数现代的Web浏览器都有一个内置的DNS客户端&#xff0c;以防止每次访问该网站时…

vscode字符多行自动增长插件。

多行字符自动增长插件CharAutoIncre 当你使用shiftalt选中了多行,并输入了’1’,这时这几行都变成了’1’. 这时你可以选中&#xff08;shift左键&#xff09;为’1’的这几行, 接下来按下shiftaltq此时’1’变为了’12345’自增长的样式。 同时本插件支持字符’a-z,A-Z’。 目…

高考没考好焦虑怎么选计算机专业!一篇告诉你,推荐三个风口专业!想学计算机怎么选大学专业

高考成绩揭晓&#xff0c;几家欢喜几家愁。对于那些未能如愿考取理想分数的同学来说&#xff0c;未来似乎蒙上了一层阴影。尤其是在计算机专业如此热门的今天&#xff0c;低分考生是否还有机会在这个领域找到一席之地&#xff1f;本文将为你揭秘&#xff0c;即使高考成绩不理想…

Nature Microbiology丨VITA单细菌转录组测序技术助力深入解析奶牛瘤胃微生物组功能异质性

瘤胃微生物组一直以来都是研究相对不足但又极其复杂的微生物生态系统之一。瘤胃微生物能够有效降解植物纤维&#xff0c;将其转化为高质量的蛋白质产品&#xff0c;在这一过程中&#xff0c;由于微生物强烈的发酵&#xff0c;还会产生大量气体&#xff0c;其成分主要包括二氧化…

自动化产线设备联网,协同打造5G智慧工厂

1、需求背景 随着信息技术、物联网、人工智能等领域的飞速发展&#xff0c;智慧工厂成为制造业升级和转型的关键方向。在智慧工厂中&#xff0c;产线设备之间的实时通信和协同操作可以提高整个生产流程的自动化水平。 提升生产效率 通过稳定的网络连接&#xff0c;保证设备之…

编码在网络安全中的应用和原理

前言:现在的网站架构复杂&#xff0c;大多都有多个应用互相配合&#xff0c;不同应用之间往往需要数据交互&#xff0c;应用之间的编码不统一&#xff0c;编码自身的特性等都很有可能会被利用来绕过或配合一些策略&#xff0c;造成一些重大的漏洞。 什么是编码&#xff0c;为什…

软件功能测试和性能测试包括哪些测试内容?又有什么联系和区别?

软件功能测试和性能测试是保证软件质量和稳定性的重要手&#xff0c;无论是验证软件的功能正确性&#xff0c;还是评估软件在负载下的性能表现&#xff0c;这些测试都是必不可少的。 一、软件功能测试   软件功能测试是指对软件的各项功能进行验证和确认&#xff0c;确保软件…

51交通灯

一、基本原理 利用51单片机控制各个路口红绿灯及时间显示。 设计的重点&#xff1a; 1、各个路口红绿灯亮灭的规则&#xff0c;暂不考虑左转方向&#xff1b; 2、倒计时的实现&#xff0c;利用单片机的定时器进行计数得到秒信号&#xff1b; 3、时间显示&#xff1a;东西南…

【每日刷题】Day67

【每日刷题】Day67 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 23. 合并 K 个升序链表 - 力扣&#xff08;LeetCode&#xff09; 2. 1189. “气球” 的最大数量 - …

一篇搞定Spring,IOC容器,Bean管理,3.AOP底层原理和实现(收下吧,真的很详细)

1.Spring容器的概念 Spring是一个轻量级的框架&#xff0c;可以解决企业开发的复杂性&#xff0c;让开发效率提升&#xff0c;他核心的两个点是&#xff1a; 1.IOC IOC&#xff1a;在java中&#xff0c;我们程序员一般是去创建一个对象&#xff0c;那么有个问题就是耦合性太…

Apache DolphinScheduler查看版本信息

我找了半天&#xff0c;没有看到版本在哪里。然后我看配置&#xff0c;他要连接数据库&#xff0c;我去他存储数据库的表里面&#xff0c;看到了相关的版本信息。 cd /home/dolphinscheduler/dolphinscheduler/bin/env dolphinscheduler找到了里面的密码 版本是3.1.3