| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 松灵机器人多模态ROS开发平台LIMO使用指引(四) -> 正文阅读 |
|
[人工智能]松灵机器人多模态ROS开发平台LIMO使用指引(四) |
各位小伙伴大家好,现在移动机器人这么火热,大到无人驾驶车,规矩的有工业上应用得很多的AGV(比如智能物流自动搬运机器人),小到淘宝上面的智能小车,都可以算作移动机器人。移动机器人有各种各样的底盘,有两轮的三轮的四轮的,比如无人车是四轮的阿克曼模型,一般的AGV是两轮差速模型,还有大学生机器人竞赛里面常见的三轮全向轮底盘,四轮全向轮底盘,还有一些AGV是四轮滑移底盘,是不是有点让人眼花缭乱的感觉呢;本节将从运动学方面介绍limo的四种运动模式。如果错过之前的内容的话你可以通过以下链接进行访问: 松灵机器人多模态ROS开发平台LIMO使用指引(三)_m0_64152879的博客-CSDN博客 松灵机器人多模态ROS开发平台LIMO使用指引(二)_m0_64152879的博客-CSDN博客? ?松灵机器人多模态ROS开发平台LIMO使用指引(一)_m0_64152879的博客-CSDN博客 4.1 四轮差速运动模式我们把一台四轮差速运动的机器人简化成下图的模型,其中四个车轮由四个单独的电机驱动,只需要控制四个车轮的速度,就可以达到控制机器人的前进、后退、以及转向的运动效果了。 ? 我们给机器人一个参考坐标系,红色箭头为X正方向,蓝色箭头为Y轴正方向,Z轴沿着原点垂直屏幕向外,坐标原点为机器人的质心,坐标系满足安培右手定则。当四个车轮的速度(大小+方向)一样时,机器人就可以实现前进和后退。当四个车轮的速度不一样时,机器人将会产生转向运动。 一旦机器人产生转向运动,那么意味着有一个转向中心即下图中的点ICR。以左前轮为例,轮子与地面接触点A的相对运动速度方向如图所示,合速度方向与线段A-ICR相互垂直,而轮胎只能沿着纵向分速度方向转动,做速度分解可知,还存在沿轮子轴向(电机轴向)的横向分速度。 ? 由于四个轮胎的横向分速度大小不同,因此机器人会产生旋转分运动,而纵向分速度产生纵向分运动,合成运动则表现为机器人绕ICR做圆周运动。 在机器人转弯时,两侧的轮胎角速度一样,内侧的轮胎转弯半径小,所以线速度更小,外侧的轮胎转弯半径大,所以外侧线速度更大。即右侧速度大时,将会向左转,同理可知,左侧速度大时,将会向右转。 而且从上图可以看出同侧的轮胎Vx(纵向分速度)一样,上(下)端的轮胎Vy(横向分速度)一样。如果想要绕自身自转的话,只需要左(右)侧的两个车轮速度一样大,且方向相同、右(左)侧的两个车轮速度与另一侧一样,但方向与另一侧相反即可。 我们可以尝试控制四轮差速模式下的limo,首先把limo调整为四轮差速模式, 拔起来顺时针转30度,使两插销上较短的线指向车体正前方 ,此时为插入状态,微调轮胎角度对准孔位让插销插入,车灯变为黄色则切换成功。 模式切换成功之后,运行以下命令,我们就可以启用键盘或者手柄来控制。 启动底盘控制节点 roslaunch limo_base limo_base.launch roslaunch limo_bringup limo_teletop_keyboard.launch ? 4.2 履带运动模式履带差速模式下单侧履带可等效视为“无穷多个小轮子”,且这单侧的“无穷多个小轮子”的“转速”是一致的。所以,履带差速模式的转向方式和四轮差速模式的转向方式是一致的,也是滑动转向。 具体来讲,履带差速运动和四轮差速运动均是通过控制两侧履带(或轮子)的相对速度实现,但二者也有区别:履带对地面产生的剪切和压力分布,是不同于轮子的。此区别体现在车轮速度控制上时影响不大。车轮速度不一致时,我们参照可以以下简化后的模型 ? ICR为运动旋转中心,CENTER为机器人几何学中心,COM为机器人质心。转弯时,内侧履带的速度小于外侧履带的速度,如果想要绕自身自转的话,只需要左(右)侧履带速度一样大,且方向相同、右(左)侧的履带速度与另一侧一样,但方向与另一侧相反即可。 在四轮差速模式下将履带直接套上,建议先套空间较小的后轮,并且履带模式下请将两侧车门抬起防止剐蹭。 更换完成之后,运行以下命令,我们就可以启用键盘或者手柄来控制。 启动底盘控制节点 ?roslaunch limo_base limo_base.launch ?启动键盘控制节点 roslaunch limo_bringup limo_teletop_keyboard.launch ? 4.3 阿克曼运动模式 阿克曼转向结构是现代汽车的转向方式,可以解决汽车在转向时,由于左、右转向轮的转向半径不同所造成的左、右转向轮转角不同的问题。 首先看一下阿克曼运动模态简化之后的模型图。与差速运动相同,如果我们给四个车轮相同的的速度(大小+方向),即可实现机器人的前进和后退。不同之处在于转弯,需要根据前端两个车轮的偏转方向,利用阿克曼转向几何来计算转弯半径。点CENTER为机器人几何中心,点BASE为后杆的中点。此时,机器人将绕ICR做圆周运动,此转弯半径也为最小转弯半径。由图可知,前段两个车轮的偏角并不一致,两个车轮偏角的差值(θA-θB)为阿克曼角。如果机器人在阿克曼运动模式下还是采用四轮驱动的方式,在转弯时,内侧车轮的速度小于外侧车轮。 ? 阿克曼进一步简化,就是平时我们骑得自行车模型,上图橘黄色部分是机器人等效的自行车模型。相比于差速运动模态,阿克曼运动模态有转弯半径的限制,移动机器人不能实现自旋,即转弯半径不能为0。 先将两侧插销拔起,顺时针转30度,使两插销上较长的线指向车体正前方?, 即可卡住,车灯变为绿色则切换成功,limo就变换为阿克曼运动模态了。 模式切换成功之后,运行以下命令,我们就可以启用键盘或者手柄来控制。 切换成功之后,运行以下命令,我们就可以启用键盘或者手柄来控制。 启动底盘控制节点 ?roslaunch limo_base limo_base.launch 启动键盘控制节点 roslaunch limo_bringup limo_teletop_keyboard.launch ? 4.4 麦克纳姆运动模式?麦克纳姆轮是一种特殊的车轮,由轮毂和辊子组成:轮毂是整个轮子的主体支架,辊子则是安装在轮毂上的被动运动的鼓状物(小轮),两者组成一个完整的大轮。市面上轮毂轴线与辊子转轴夹角大致可分30度、45度、60度三种。为满足全向运动的几何关系,轮毂边缘采用了折弯工艺,为辊子的转轴提供安装孔。 ? ? ?假定车轮逆时针转动,对麦克纳姆轮进行受力分析,上图中坐标系红色表示x轴,绿色表示y轴,蓝色表示z轴,辊子坐标系用虚线表示,轮毂坐标系用实线表示;黄色箭头表示麦轮和辊子的受力分析;蓝色箭头表示速度方向。 麦轮外围的辊子是与地面接触的,当麦轮绕轮毂轴转动时,辊子会与地面产生摩擦力Ff,其作用力方向为轮毂坐标系Y轴正方向。对Ff沿着辊子坐标系做正交分解,F1沿辊子Y轴负方向,大小为√2/2Ff,FⅡ沿辊子X轴正方向,大小为√2/2Ff。F1为辊子的滚动摩擦力,对辊子造成磨损,并不能改变轮胎的运动方向,FⅡ会迫使辊子沿X轴正方向运动,故FⅡ为静摩擦,促使辊子相对地面运动。 ? ? ? 不同的车轮排列方式也需采用不同的控制方式,将麦轮的全向运动简化成上图这个模型,蓝色箭头表示车轮运动方向,橘黄色箭头表示麦轮的受力分析情况。将各力合并,我们将发现移动机器人只有一个向前的力,故此时机器人将向前运动。 结合之前四轮差速运动模式,对各个轮胎的摩擦力进行合并,就可使机器人往任意方向去运动。下面列举一些不同方向运动时轮胎的状态。 ? 先将轮毂盖和轮胎拆下,只保留轮毂电机,然后保证每个麦轮的小滚子朝向车体中心,用包装里的M3*5螺丝将麦轮安装上,最后需要用遥控/APP调整至麦轮模式。 遥控手柄在四轮差速控制模式下,通道8处于最下档时切换为麦轮控制模式,处于中上档时切回差速模式; 启动底盘控制节点 ?roslaunch limo_base limo_base.launch 启动键盘控制节点? roslaunch limo_bringup limo_teletop_keyboard.launch ?
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 1:17:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |