轮式机器人简介
迄今为止,轮子一般是移动机器人学和人造交通车辆中最流行的运动机构。它可达到很高的效率,
如图所示,
而且用比较简单的机械就可实现它的制作。
另外,在轮式机器人设计中,平衡通常不是一个研究问题。
因为在所有时间里,轮式机器人一般都被设计成在任何时间里所有轮子均与地接触。因而,3个轮子就足以保证稳定平衡。虽然我们将在下面看到,两轮机器人也可以稳定。
如果使用的轮子多于3个,当机器人碰到崎岖不平的地形时,就需要一个悬挂系统以使所有轮子保持与地面接触。轮式机器人研究倾向于把重点放在牵引、稳定性、机动性及控制问题,而不是担心平衡。为覆盖所有预期的地形,机器人的轮子能否提供足够的牵引力和稳定性?机器人的轮子结构能对机器人的速度进行有级的控制吗?
轮子运动:设计空间
正如将要看到的,当我们考虑移动机器人运动的可能技术时,可能的轮子结构有很大的空间。因为有很多数目不同的轮子类型,各有其特定的优点和缺点,故我们从详细讨论轮子开始,然后来检验为移动机器人传送特定运动形式的完整的轮子构造。
轮子的设计
有四种主要的轮子类型,如图
所示。
四种基本的轮子类型:
(a)标准轮:2个自由度,围绕轮轴(电动的)和图
2.19接触点转动;
(b)小脚轮:2个自由度,围绕偏移的操纵接合点旋转;
©瑞典轮:3个自由度,围绕轮轴(电动的)、辊子和接触点旋转;
(d)球体或球形轮:技术上实现困难
在运动学方面,它们差别很大。因此轮子类型的选择对移动机器人的整个运动学有很大的影响。标准轮和小脚轮有一个旋转主轴,因而是高度有向的。在不同的方向运动,必须首先沿着垂直轴操纵轮子。这两种轮的主要差别在于标准轮可以完成操纵而无副作用,因为旋转中心经过接触片着地;而小脚轮绕偏心轴旋转,在操纵期间会引起一个力,加到机器人的底盘。
瑞典轮和球形轮二者的设计比传统的标准轮受方向约束少一些。瑞典轮的功能与标准轮一样,但它在另一方向产生低的阻力,该方向有时垂直于常规方向,如Swedish90;有时在中间角度,如Swedish45。装在轮子周围的辊子是被动的,轮的主轴是唯一的供有动力的连接。
这个设计的主要优点在于:虽然轮子旋转仅沿主轴供动力(通过轮轴),轮子以很小的摩擦,可以沿许多可能的轨迹按运动学原理移动,而不仅仅是向前或者向后。
球形轮是一种真正的全向轮,经常被设计成可以沿任何方向受动力而旋转。实现这种球形构造的一种机构模仿了计算机鼠标,提供了供动力的辊子,这些辊子搁在球的顶部,并给予旋转的力。
无论用什么轮,在为所有地形环境设计的机器人和具有3个以上轮子的机器人中,正常情况下需要一个悬挂系统以保持轮子与地面的接触。一种最简单的悬挂方法是轮子本身设计成柔性的。例如,在某些使用小脚轮的四轮室内机器人情况下,制造厂家已经把软橡胶可变形的轮胎用在轮上,制作基本的悬挂体。当然,这种有限的解决方案不能与应用中错综复杂的悬挂系统相比拟。在应用中,对明显的非平坦地形,机器人需要更动态的悬挂系统。
轮子几何特征
移动机器人轮子类型的选择与轮子装配或轮子几何特征的选择紧密相关。移动机器人的设计者在设计轮式机器人的运动机构时,必须同时考虑这两个问题。为何轮子的类型和轮子的几何特征如此重要?因为机器人的三个基本特征由这些选择所支配:机动性,可控性和稳定性。
汽车大都为高度标准化的环境(公路网络)而设计,与其不同的是,移动机器人则是为应用在种类繁多的环境而设计。汽车全部共享相同的轮子结构,因为在设计空间中存在一个区域,使得它们对标准化环境(铺好的公路)的机动性、可控性和稳定性最大。可是,不同的移动机器人面临各种不同环境,没有单一的轮子结构可以使这些品质最大化。所以,你会看到移动机器人的轮子结构种类繁多。实际上,除了为道路系统设计的移动机器人外,很少机器人使用汽车的Ackerman轮子结构,因为它的机动性较差(图2.20)
表2.1给出了轮子结构的概述,按轮子数目排序。表中描述了特殊轮子类型的选择和机器人底盘上它们几何结构的两个方面。我们注意到,所示的某些轮子结构在移动机器人的应用中很少用到。例如,两轮自行车装配,其机动性中等,可控性差。像单腿跳跃机,它根本不能静止地站着。不过,表中提供了在运动机器人设计中可能用到的许多种类轮子结构的说明。
表2.1中种类的数目是很多的。不过,这里列出了重要的趋向和分组,它可帮助我们理解各结构的优点和缺点。下面,根据以前确
Navlab【是第一个自主式高速公路交通工具。它使用视觉和雷达图 2.20传感器操作和控制油门,由CMU开发
稳定性
令人惊奇的是,静态稳定所要求的最小轮子数目是2个。如上所述,如果质心在轮轴下面,一个两轮差动驱动的机器人可以实现静态稳定。Cye就是使用这种轮子结构的商业移动机器人
Cye,现有商业化的家用机器人,它可以在家里做真空吸尘和传递员由AethonInc.(http://www.aethon.com)制造。
可是,在普通的环境下,这种解决方案要求轮子的直径大得不切实际。
动力学也可引起两轮机器人以接触的第3个点撞击地面,例如,从静止开始要有足够大的电机转矩。常规情况下,静态稳定要求至少有3个轮子,且需要警告的是:重心必须被包含在由轮子地面接触点构成的三角形内。增加更多的轮子可以进一步改善稳定性,虽然一旦接触点超过3个后,几何学的超静态性质会要求在有崎岖不平的地形时具有某种形式的灵活的悬挂系统。
机动性
一些机器人是全向的,这意味着它们可以在任何时候沿着地平面(x,y)向任意方向运动,包括机器人绕它自己的垂直轴转。
这层次的机动性需要能朝一个以上方向运动的轮子。所以,全向机器人经常使用有动力的瑞典轮或球形轮。天王星(Uranus)是个很好的例子,如图
所示。这个机器人使用4个瑞典轮,能独立地旋转和平移且不受限制。
一般来说,带有瑞典轮和球形轮的机器人由于构造全向轮的机械上约束,其地面清洁度有某些限制。在解决这种地面清洁度问题的同时,一个令人感兴趣的最新解决全向导航的方案是四小脚轮结构。在这种结构中,各小脚轮主动地被操纵,且平移机器人是真正全向的。因为,即使小脚轮的朝向垂直于行走所期望的方向,通过操纵这些轮子,机器人仍能向期望的方向移动。因为垂直轴偏离了地面接触路径,这个操纵运动的结果就是机器人的运动。
在研究领域中,可实现高度机动性的其他类型的移动机器人是很普遍的,它们只比全向结构的机器人稍微差一点。这种类型的机器人,在特定方向上的运动可能开始需要一个旋转运动。
机器人的中央有一个圆底盘和转动轴,使得这种机器人可以旋转而不改变它的地面脚印。这种机器人中最普遍的是两轮差动驱动的机器人,在那里2个轮子围绕机器人的中心点转动。为了稳定,根据应用的特点,也许要用1~2个附加的地面接触点:
与上面的结构相反的是我们在汽车中常见的Ackerman操纵结构。这种车辆典型的地方是有一个比小汽车大的旋转直径。而且,它在靠边运动时需要一个由重复向前和向后改变方向组成的停车调动。尽管如此,Ackerman操纵几何结构在业余爱好的机器人市场中仍一直特别地流行。这里,开始用一个遥控的赛车工具包,然后把感知和自治功能加到现有的机械机构,就可以制作机器人了。另外,Ackermman操纵的有限机动性有一个重要的优点:它的定向性和操纵的几何结构,向它提供了在高速旋转中非常好的横向稳定性。
可控性
一般来说,可控性和机动性之间存在逆相关性。例如,对全向装置,诸如四小脚轮结构,要求效果显著的处理能把期望的转动和平移的速度转换成单个轮子的命令。而且,这种全向装置经常在轮子上有较大的自由度。例如,瑞典轮沿着轮周有一组自由的子。这些自由度造成滑动的积累,导致航位推测准确度的降低并增加了设计的复杂性。
对一个特定的行走方向,控制全向机器人也比较困难,而且当它与较小机动性装置比较时,往往准确度较低。例如,一个Ackerman操纵车辆,通过锁住可操纵轮和驱动它的驱动轮就可以简单地走直线。在差动驱动的车辆情况下,必须精确地按同样的速度分布图驱动装在轮上的2个电机。考虑到轮子间和电机间的差异以及环境的差异,这可能是困难的。对于具有四轮的全向驱动,如Uranus机器人,它有4个瑞典轮,问题更为困难。因为对在理想直线上行走的机器人,必须精确地按相同速度驱动所有的4个轮子。
总之,没有“理想”的驱动结构可以同时使稳定性、机动性和可控性最大化。各移动机器人的应用对机器人设计问题加上唯一的约束,而设计者的任务就是在这个折衷空间中,选择最合适的可行的驱动结构。
相关文章:

轮式机器人简介
迄今为止,轮子一般是移动机器人学和人造交通车辆中最流行的运动机构。它可达到很高的效率, 如图所示, 而且用比较简单的机械就可实现它的制作。 另外,在轮式机器人设计中,平衡通常不是一个研究问题。 因为在所有时间里,轮式机器人一般都被设计成在任何时间里所有轮子均与地接…...
已知哈夫曼节点个数,求哈夫曼字符编码数
哈夫曼编码(Huffman Coding)是一种用于无损数据压缩的嫡编码(权编码)算法。 在哈夫曼树中,每个叶子节点都代表一个字符,而节点的权重通常代表字符的频率。在哈夫曼编码中,每个字符都会被赋予一个二进制编码。为了获得这些编码,我…...
Kubernetes Cluster IP,Node IP,Pod IP间通信原理解析
目录 1、Cluster IP2、Node IP3、NodePort4、Pod IP5、LoadBalancer6、三种IP间通信6.1、Pod IP 与 Pod IP 通信6.2、Pod IP 与 Cluster IP 通信6.3、Node IP 与 Pod IP 通信6.4、Node IP 与 Cluster IP 7、YAML 示例7.1、ClusterIP Service7.2、LoadBalancer Service 1、Clust…...

随机链表的深拷贝
1.题目 解题思路一:暴力求解,先创建新链表,然后把旧链表中的val和next指针给复制到新链表中,根据旧链表中的random指针所指向的旧链表中的val值找到所对应的节点,记录该节点的位置,就像数组一样,…...
328_C++_HTTP_HTTP协议传输data数据,为什么要进行base64编解码操作?
http传输data数据的时候,为什么必须进行base64转码后才能有效发送,接收方也必须base64转码后才能有效接受? HTTP HTTP传输数据时,使用Base64编码并不是必须的,但它确实在某些情况下非常有用。以下是为什么在某些情况…...

【二叉树】Leetcode N 叉树的层序遍历
题目讲解 429. N 叉树的层序遍历 算法讲解 在做层序遍历的时候由于它的每一个结点是有val vector child组成,所以在做层序遍历的时候需要考虑它每一层结点的个数,那我们就可以使用一个queue保存每一层的结点;那么我们在做第一层的时候&am…...

Spring AI
目录 一、Spring AI 1、Spring AI简介 1.1、四次工业革命发展和变革 1.2、什么是人工智能? 1.3、人工智能的发展历程 1.4、什么是大模型? 1.5、如何训练大模型? 一、Spring AI 1、Spring AI简介 Spring AI Java接入人工智能大模型 1.1、四次工业革命发展和变革 人类…...
fiori SAP ui5 动态改变控件颜色
使用CustomData动态改变控件颜色 有时候我们需要改变控件颜色,对于高度封装的控件,显然改变控件CSS是比较困难的,幸好SAP UI5预设了一个customData的属性,每个控件都能使用她。 如下代码是判断汇率是否有改变,如果改…...
RabbitMQ php amqp
Linux debian 安装 Windows php amqp 扩展 PECL :: Package :: amqp 将 php_amqp.dll 复制到 php 的 ext 目录下 将 rabbitmq.4.dll 复制到 c:\windows\system32 目录下 php.ini extensionamqp...

对称二叉树
给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true示例 2: 输入:root [1,2,2,null,3,null,3] 输出:falses 思路:我刚开始是想着用…...
浅浅总结SQL中的事务.
在现实生活中有很多的线上支付的场景,当支付的时候,一方资金减少,另一方资金增加,在执行前后,两者的总体数额需要相同,为了保证这个操作的完整,所以提出了事务,那我们先来去写一个示例ÿ…...

C++ | Leetcode C++题解之第76题最小覆盖子串
题目: 题解: class Solution { public:unordered_map <char, int> ori, cnt;bool check() {for (const auto &p: ori) {if (cnt[p.first] < p.second) {return false;}}return true;}string minWindow(string s, string t) {for (const au…...

什么可以替代iframe?
网页嵌套中,iframe曾几何时不可一世,没有其他更好的选择! iframe即内联框架,作为网页设计中的一种技术,允许在一个网页内部嵌套另一个独立的HTML文档。尽管它在某些场景下提供了便利,但也存在多方面的缺陷…...
HTTP/1.0、HTTP/1.1、HTTP/2.0区别
文章目录 区别HTTP/1.0HTTP/1.11. 持久连接(长连接)2. 管道化3. Host头字段4. 分块传输编码5. 缓存机制6. 请求方法 HTTP/2.01. 二进制分帧2. 多路复用3. 服务器推送4. 优先级设置5. 头信息压缩6. 安全性7. 流量控制 区别 特性HTTP/1.0HTTP/1.1HTTP/2.0…...

鸿蒙内核源码分析(文件句柄篇) | 你为什么叫句柄
句柄 | handle int open(const char* pathname,int flags); ssize_t read(int fd, void *buf, size_t count); ssize_t write(int fd, const void *buf, size_t count); int close(int fd);只要写过应用程序代码操作过文件不会陌生这几个函数,文件操作的几个关键步骤嘛,跟把大…...

2024.5.8 关于 SpringCloud —— Ribbon 的基本认知
目录 Ribbon 负载均衡原理 工作流程 Ribbon 负载均衡规则 Ribbon 负载均衡自定义化 代码方式修改规则 配置文件方式修改规则 小总结 Ribbon 设定饥饿加载 Ribbon 负载均衡原理 工作流程 order-service 使用 RestTemplate 发送请求,随后该请求将会被 Ribbon 所…...
Lua 协程模拟 Golang 的 go defer 编程模式
封装go函数用于创建并启动一个协程: ---go函数创建并启动一个协程 ---param _co_task function 函数原型 fun(_co:thread) function go(_co_task)local co coroutine.create(_co_task) -- 创建一个暂停的协程coroutine.resume(co, co) -- 调用coroutine.resume激活…...

maven的安装与配置(超详细)
在Java开发中,配置Maven环境有几个重要的原因: 依赖管理:Maven 是一个强大的依赖管理工具,它能够帮助开发人员轻松地管理项目所需的各种第三方库和组件。通过在项目的 Maven 配置文件(pom.xml)中定义依赖&…...
springCloud服务降级使用到的组件
服务降级在Spring Cloud中通常使用的组件包括断路器(Circuit Breaker)和降级处理器(Fallback)。以下是它们的概念表述: 断路器(Circuit Breaker):断路器是一种设计模式,…...

Spring框架学习-详细
文章目录 1. Spring简介1.1 面向接口编程1.2 Spring简介1.3 Spring体系结构 2 Spring IoC - 基于XML2.1 Sping框架部署(IoC)2.2 Spring IoC使用2.3 IoC和DI2.4 DI依赖注入Spring容器通过反射方法实现属性注入有三种方式1. set方法注入2. 构造器注入 2.5 …...
JAVA开发代码小工具集合
目录 前言编号生成工具EasyExcel 工具断言工具HTTP 工具字符串 工具验证码生成工具Excel 工具Class 工具Enum 工具分页工具断言工具2IP 地址工具Map 工具 前言 这些工具都是日常开发中能用到的,前后端都有,觉得好用就拿过来了… 编号生成工具 import j…...

全生命周期的智慧城市管理
前言 全生命周期的智慧城市管理。未来,城市将在 实现从基础设施建设、日常运营到数据管理的 全生命周期统筹。这将避免过去智慧城市建设 中出现的“碎片化”问题,实现资源的高效配 置和项目的协调发展。城市管理者将运用先进 的信息技术,如物…...
【HarmonyOS 5】教育开发实践详解以及详细代码案例
以下是基于 HarmonyOS 5 的教育应用开发实践详解及核心代码案例,结合分布式能力与教育场景需求设计: 一、教育应用核心开发技术 ArkTS声明式UI 使用 State 管理学习进度状态,LocalStorageProp 实现跨页面数据同步(如课程…...
C++单例模式教学指南
C单例模式完整教学指南 📚 目录 [单例模式基础概念][经典单例实现及问题][现代C推荐实现][高级话题:双重检查锁][实战应用与最佳实践][总结与选择指南] 1. 单例模式基础概念 1.1 什么是单例模式? 单例模式(Singleton Pattern&…...

npm run dev 报错:Error: error:0308010C:digital envelope routines::unsupported
npm run dev时报错如下 原因:更换node版本导致 解决: 修改package.json文件,在相关构建命令之前加入 SET NODE_OPTIONS–openssl-legacy-provider 运行成功...
(4-point Likert scale)4 点李克特量表是什么
文章目录 4-point Likert scale 定义4-point Likert scale 的构成4-point Likert scale 的特点4-point Likert scale 的应用场景 4-point Likert scale 定义 4-point Likert scale(4 点李克特量表)是一种常用的心理测量量表,由美国社会心理学…...

基于PSO粒子群优化的VMD-GRU时间序列预测算法matlab仿真
目录 1.前言 2.算法运行效果图预览 3.算法运行软件版本 4.部分核心程序 5.算法仿真参数 6.算法理论概述 6.1变分模态分解(VMD) 6.2 门控循环单元(GRU) 6.3 粒子群优化(PSO) 7.参考文献 8.算法完…...

【Linux网络篇】:从HTTP到HTTPS协议---加密原理升级与安全机制的全面解析
✨感谢您阅读本篇文章,文章内容是个人学习笔记的整理,如果哪里有误的话还请您指正噢✨ ✨ 个人主页:余辉zmh–CSDN博客 ✨ 文章所属专栏:Linux篇–CSDN博客 文章目录 HTTPS协议原理一.预备知识1.什么是“加密”2.为什么要“加密”…...

linux安全加固(非常详细)
安全加固方案原则 1.版本升级 对于系统和应用在使用过程中暴露的安全缺陷,系统或应用厂商会及时发布解决问题的升级补丁包。升级系统或应用版本,可有效解决旧版本存在的安全风险。2.关闭端口服务 在不影响业务系统正常运行情况下,停止或禁用承…...

负载均衡相关基本概念
负载均衡在系统架构设计中至关重要,其核心目标是合理分配负载,提升系统整体性能和可靠性。本文简要介绍了负载均衡的基本概念,包括四层和七层负载均衡、负载均衡的使用场景和实现方式、负载均衡的常用算法以及一些配置相关知识。 1、负载均衡…...