目前在公司这边做一个智能轮椅的项目。希望通过手柄实现轮椅的加减速和转向控制。在网上找了一篇文献,文献上提供了一种控制思路,供大家参考(修改了原文献上一些错误的地方)。

手柄信号说明

目前轮椅上使用的速度转向二维摇杆输出与位置成线性比例的二维电压信号,将这两个信号作为车速和转角的指令集合。用户前/后推动可以连续调节轮椅的车速,左/右推动可以连续控制轮椅的转角。通过操作手柄信号处理算法把一个二维信号转换为速度和转向控制指令。速度转向二维摇杆输出的信号可由下图来表示:

如图所示:X轴代表转角,以左转为正;Y轴代表车速,以前进为正。速度转向二维摇杆是两路相互垂直的电位计,对X轴和Y轴方向电压与转角、转速对应关系的规定如图所示。二维电压信号落入其中正方形区域,设某输入指令对应A(X,Y)点,通过手柄信号处理算法,可以得到左右电机的转速转向控制指令。

算法过程

二维电压坐标(X,Y)与二维速度转角坐标(V,θ)。转换结果可以由以下公式给出:
V=5∗2.5−Y2.5V = 5 * \frac{2.5 - Y}{2.5}V=5∗2.52.5−Y​
θ=90°∗2.5−X2.5\theta= 90° * \frac{2.5-X}{2.5}θ=90°∗2.52.5−X​
由以上公式可知,当前的目标速度仅仅由Y方向的信号确定,目标角度仅仅由X方向的信号确定。现在分析轮椅的转弯是如何实现的,图中是轮椅以O点为中心向左转弯时的情景,V代表轮椅的质心速度,w代表质心的角速度,Vl、Vr,分别表示左右轮的线速度,wl,wr分别表示轮椅左右轮转速,L为驱动轮间距,r表示驱动轮半径,设R为转弯半径,θ 是轮椅的车体转弯角度(以左转弯为正)。

假定驱动轮椅相对地面只作纯滚动,由电动轮椅运动学分析可知:
V=(wr+wl)∗r2V=(w_{r} + w_{l}) * \frac{r}{2}V=(wr​+wl​)∗2r​
R=L2∗wr+wlwr−wlR= \frac{L}{2} * \frac{w_{r} + w_{l}}{w_{r} - w_{l}}R=2L​∗wr​−wl​wr​+wl​​
即给定V与R,可确定 wr、wlw_{r}、w_{l}wr​、wl​ :
wr=(2R+L)∗V2Rrw_{r} = \frac{(2R+L)*V}{2Rr}wr​=2Rr(2R+L)∗V​
wl=(2R−L)∗V2Rrw_{l} = \frac{(2R-L)*V}{2Rr}wl​=2Rr(2R−L)∗V​
且w=(wr−wl)rLw = \frac{(w_{r}-w_{l})r}{L}w=L(wr​−wl​)r​

轮椅的三种运动状态
  1. 当θ = 0, V≠0时,即要求电动轮椅作速度为V的直线运动,此时轮椅车体的质心线速度 V=Vr=VlV= V_{r} = V_{l}V=Vr​=Vl​,转弯半径R = ∞。这时,左右电机应该实现转速跟随。两轮速度如下:wr=wl=Vrw_{r} = w_{l} = \frac{V}{r}wr​=wl​=rV​
  2. 当θ ≠ 0, V≠0时,即要求电动轮椅转弯运行,转弯半径R在0与 ∞之间。这时,左右电机应该实现转速跟随。两轮速度如下:wr=(2R+L)∗V2Rrw_{r} = \frac{(2R+L)*V}{2Rr}wr​=2Rr(2R+L)∗V​
    wl=(2R−L)∗V2Rrw_{l} = \frac{(2R-L)*V}{2Rr}wl​=2Rr(2R−L)∗V​
  3. 当θ ≠ 0, V=0时,即要求电动轮椅作回转半径为零的原地回转,运动控制器需要保证左右轮的线速度 Vl=−Vw=Vm(Vm由系统的机械特性选定)V_{l} = -V_{w} = V_{m}(V_{m}由系统的机械特性选定)Vl​=−Vw​=Vm​(Vm​由系统的机械特性选定) ,两轮转速如下:wr=wl=Vmrw_{r} = w_{l} = \frac{V_{m}}{r}wr​=wl​=rVm​​
    由以上分析可知,通过操作手柄信号处理算,可以得到左右电机转速和转向的控制信号,进而实现轮椅的各个动作。

参考文献:《基于操作手柄新模型的电动轮椅运动控制系统.pdf》

轮椅的两轮差速转向控制策略(智能轮椅)相关推荐

  1. 一种开环控制的两轮差速驱动小车的设计

    内容摘要:为了让电磁屏蔽效能自动测试装置能够在屏蔽室中按照已给定的路径运动,设计了一种开环控制的两轮差速驱动小车,对其运动学进行了分析,并采用双圆弧拟合曲线方法使小车实现按照给定曲线行走.通过大量运动 ...

  2. 问答 | 为什么两轮差速机器人转向运动是圆周运动

    关注同名微信公众号"混沌无形",有趣好文! 原文链接:https://mp.weixin.qq.com/s/Mj5iLR_4TKeJiaOVqJf6Vg(包含原文PDF百度云下载链 ...

  3. 两轮差速机器人运动学模型

    两轮差速底盘 1.1.底盘说明 两轮差速底盘由两个动力轮位于底盘左右两侧,两轮独立控制速度,通过给定不同速度实现底盘转向控制.一般会配有一到两个辅助支撑的万向轮. 主要底盘有: 1.Turtlebot ...

  4. 四轮驱动移动机器人(SSMR)与两轮差速驱动机器人、car-like robot的对比分析

    关注同名微信公众号"混沌无形",有趣好文! 原文链接:https://mp.weixin.qq.com/s/Fzrpn5_3TB6apqG2Ds1v5Q(包含原文PDF百度云下载链 ...

  5. car-like robot与两轮差速驱动机器人异同分析

    关注同名微信公众号"混沌无形",有趣好文! 原文链接:https://mp.weixin.qq.com/s/hCAzGJDSZFsFHoC5hTVsjA(包含原文PDF百度云下载链 ...

  6. 两轮差速小车循线控制原理分析

    硬件资料设定:小车驱动来自于两个相同的电机,转向依靠两轮差速实现,小车前后左右安装超声波传感器,前后各一个,左右各两个: 功能目标:假设小车左侧有墙壁,通过超声波测距实现按指定距离沿墙行驶 参数设定: ...

  7. 《动手学机器人学》7.4机器人运动学介绍|机械臂运动学|两轮差速底盘运动学|轮式里程计

    本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许禁止转载与商业用途. 7.4 机器人运动学介绍 机器 ...

  8. 自动驾驶—两轮差速机器人基于PID控制下轨迹跟踪

    机器人轨迹跟踪一般有两种方式,一是基于PID,二是基于MPC模型预测控制方法.本文主要介绍了PID控制,这里我只采用了航向角的控制,对速度没有控制,因为,我认为,小车只要能到达目标点即可,复杂的我后续 ...

  9. 差分轮式机器人模型matlab,两轮差速机器人运动学分析和控制研究

    龙源期刊网 http://www.qikan.com.cn 两轮差速机器人运动学分析和控制研究 作者:王维新 来源:<现代电子技术>2012年第10期 摘 要:对两轮差速机器人的运动控制进 ...

最新文章

  1. Vscode 调试 Flutter 项目
  2. kafka的安装与启动运行
  3. HiSDP —— 高效的C++软件开发平台
  4. python的web框架哪个最好学_2018年要学习的10大Python Web框架
  5. linux内核配置与编译
  6. python登录网页_Python如何爬取需要登录的页面
  7. js获取精确宽度/高度(带小数位像素)
  8. DOA——MUSIC算法
  9. 打不开网页但QQ能上网的解决办法
  10. 电信无线服务器的密码是什么,电信光猫wifi默认密码是多少?
  11. iTEXT将html文档转PDF,spire.doc包html转word(包括样式修改和添加图片/页码等设置)
  12. 电子电路基础 (4)——电阻的认识
  13. 删除或复制文件提示:文件名无效或太长/目标路径太长/找不到该项目
  14. Charles Error Report
  15. 10位程序员眼中的2007:寻找软件开发利器
  16. Android apk包体瘦身
  17. 音频格式处理--SOX
  18. java 去除时间中的PM_在Java中使用SimpleDateFormat(“ a”)显示AM / PM时间标记
  19. 生还者+感染者+物品的轮廓颜色修改方法
  20. 总线揭密:串行传输VS并行传输

热门文章

  1. python中如何进行数据类型转换_python数据类型的强制转换
  2. message sent to deallocated instance 0x154eec600
  3. 计算机安全设置关机,电脑用360安全卫士设置定时关机的两种方法
  4. 魅蓝Note2跑分 MT6753性能究竟如何
  5. Unity SRP自定义渲染管线学习2.2: 合批(Batching) SRP Batcher
  6. 自动控制理论(1):一般概念及数学模型
  7. word 创建邮件及合并主文档
  8. win7打印机共享出现错误0x000006d9如何解决
  9. [Golang]尾递归优化?
  10. 安卓APP为啥要64位运行?