前轮驱动转向移动平台的建模及控制算法

  • 运动学建模
    • 三种基本运动行为
    • 模型仿真验证
      • 直线运动仿真
      • 圆弧运动仿真
      • 原地旋转仿真
  • 运动控制
    • 方式一:基本控制
      • 控制原理
      • 仿真实验
    • 方式二:舵机平滑控制

运动学建模

运动特性为前轮驱动转向时,前轮的转动为其提供前行的动力,并且通过舵机调整轮姿从而改变其运动方向,如图1前轮驱动转向示意图所示。

该模型是阿克曼模型的一种变体,机器左右轮中心点连线的中点C (x,y)为基准点,前轮的偏角即前轮与j朝向的夹角为ψψψ机器则j行驶的线速度和航向角速度ωcω_cωc​为:
ωc=vsin(ψ)dvc=vcosψω_c=\frac{vsin(ψ)}{d}\newline v_c=vcosψ ωc​=dvsin(ψ)​vc​=vcosψ
其中,v为驱动轮的线速度,d为基准点到驱动轮的间距。
则前轮驱动转向运动学模型为:
{x˙=vsin(ψ)cos(θ)y˙=vcos(ψ)sin(θ)θ˙=vsin(ψ)d\left\{ \begin{aligned} \dot{x} & = &vsin(ψ) cos(θ)\\ \dot{y} & = & vcos(ψ) sin(θ) \\ \dot{θ} & = & \frac{vsin(ψ)}{d} \end{aligned} \right. ⎩⎪⎪⎪⎨⎪⎪⎪⎧​x˙y˙​θ˙​===​vsin(ψ)cos(θ)vcos(ψ)sin(θ)dvsin(ψ)​​

三种基本运动行为

在前轮驱动转向运动方式下,驱动轮的偏角值域为[−π/2,π/2][-π/2, π/2][−π/2,π/2]。根据驱动轮不同的偏角值和转动方向,机器具备不同的三种运动行为,如图所示。

  • a) 当ψ≠±π/2,0ψ ≠ ±π/2, 0ψ​=±π/2,0时,机器做圆弧运动;
  • b) 当ψ=0ψ = 0ψ=0时,机器做直线运动;
  • c) 当ψ=±π/2ψ = ±π/2ψ=±π/2时,机器做原地旋转运动。

模型仿真验证

直线运动仿真

当ψ=0ψ = 0ψ=0时,机器做直线运动,设定驱动轮线速度为0.1m/s,运行5s,得到仿真结果如图1所示。直行状态下姿态角不变,位置发生变化。

圆弧运动仿真

当ψ=π/4ψ = π/4ψ=π/4时,机器做圆弧运动,设定驱动轮线速度为0.1m/s,运行5s,得到仿真结果如图所示。ψψψ为正值,机器左转做逆时针圆弧运动。

当ψ=π/4ψ = π/4ψ=π/4时,机器做圆弧运动,设定驱动轮线速度为-0.1m/s,运行5s,得到仿真结果如图所示。

原地旋转仿真

当ψ=π/2ψ = π/2ψ=π/2时,机器原地旋转,设定驱动轮线速度为0.1m/s,运行5s得到仿真结果如图1-7所示。机器在原地旋转过程中,没有发生位移,姿态角持续改变。

这里值得注意的是,GB7258-2017第6.4条规定:“机动车方向盘的最大自由转动量应小于或等于:a)最大设计车速大于或等于100km/h的机动车:15°”;第6.6条规定:“三轮汽车、摩托车及轻便摩托车的转向轮向左或向右转角不允许大于45°。…”

运动控制

方式一:基本控制

控制原理

基于上述前轮驱动运动方式所建模型和三种典型运动行为的分析,提出其基本的运动控制算法,如图2-1运动控制系统框图所示。

通过控制机器不断调整自身姿态,朝向目标移动,最终可以到达给定目标点,完成运动控制过程。如图2-1运动控制原理图所示,机器自身的姿态角为θθθ,其与目标连线同x轴正半轴的夹角为φφφ,θθθ角与φφφ角的差值为δδδ。

将机器输出的实时位姿信息与给定目标信息进行对比,可以得到实时的角度和距离误差,并利用舵机控制器调整自身的姿态,使之朝向目标点,同时利用电机控制器调整自身位置,使之靠近目标最终到达目标点。控制流程如图2-3控制流程示意图所示。

仿真实验

方式二:舵机平滑控制

Ackerman阿克曼(单舵轮)前轮驱动并转向移动机器人的建模及控制算法相关推荐

  1. Ackerman阿克曼(后驱动)前轮舵机转向后轮电机驱动移动平台的建模及控制算法

    前轮舵机转向后轮电机驱动移动平台的建模及控制算法 运动建模 两种基本运动行为 仿真验证 直线运动仿真 圆弧运动仿真 原地旋转运动行为分析 动力分析 角度分析 仿真结果分析 运动控制 控制原理 运动建模 ...

  2. scdl matlab,5自由度移动机器人的建模与仿真-硕士论文

    <5自由度移动机器人的建模与仿真-硕士论文.pdf>由会员分享,可在线阅读全文,更多相关<5自由度移动机器人的建模与仿真-硕士论文>请在www.woc88.com上搜索. 1. ...

  3. ModelCoder:实现汽车四轮转向控制系统的建模仿真

    ModelCoder是一款支持多种嵌入式系统建模并可以自动生成高安全可靠的C代码的软件设计和开发工具,支持同步数据流以及状态机等嵌入式模型,其从模型生成代码的过程经过了形式化验证,以保证生成过程的正确 ...

  4. 【深度学习 内力篇】Chap.1 单变量线性回归问题+梯度下降算法+Python建模实战

    [深度学习 内力篇]Chap.1 单变量线性回归问题+梯度下降算法+Python建模实战 摘要 2.1 单变量线性回归问题 理论篇 2.2.1 深度学习在单变量线性回归问题的应用 2.1.2 函数模型 ...

  5. Ackerman(阿克曼)函数C语言递归实现

    这段时间老师在课提到递归算法的一些应用,我对其中的Ackerman函数比较感兴趣,并尝试探索了一番. Ackerman函数A(n,m)定义如下(可能跟网上的一些定义有出入):       根据定义,我 ...

  6. 四轮独立驱动转向移动机器人代码流程图

    服务器Server: 客户端Client: Beaglebone引脚接线图: 小车beaglebone地址:

  7. 教程 | 阿克曼结构移动机器人的gazebo仿真(二)

    第二章.配置xacro文件 0.前言 上一节已经将urdf导出来了,这一节需要配置一下xacro文件.先看一下导出的功能包在gazebo以及rviz中显示的效果. 将功能包放进工作空间进行编译,sou ...

  8. php 表单处理,用PHP提交from表单的处理方法

    用PHP提交from表单的处理方法 PHP独特的语法混合了C.Java.Perl以及PHP自创的语法.它可以比CGI或者Perl更快速地执行动态网页.下面是小编为大家搜索整理的PHP提交from表单的 ...

  9. java向注册表单传递数据php_PHP提交from表单的方法

    PHP提交from表单的方法 PHP独特的语法混合了C.Java.Perl以及PHP自创的.语法.它可以比CGI或者Perl更快速地执行动态网页.下面是小编为大家搜索整理的PHP提交from表单的方法 ...

最新文章

  1. 巴菲特、李嘉诚、盖茨、小扎、孙正义…… 这是他们眼中的未来
  2. Android向上显示更多内容,如何在Android中为2个父项实现向上导航,指向1个子活动...
  3. python库--tensorflow--RNN(循环神经网络相关)
  4. Yii2中你可能忽略但很有用的两个方法batcheach
  5. A+B/A*B求A和B
  6. 手环是如何测试人体健康数据?
  7. hikaricp mysql_使用 HikariCP 数据源
  8. 启明星辰集团DT总部落地杭州 数据绿洲版图驱动未来发展
  9. hashmap hash冲突怎么解决_HashMap原理及冲突之简谈
  10. worknc的后处理如何安装_如何选择永磁变频螺杆空压机的冷干机?
  11. Oracle 19c集群重装步骤详解
  12. java log4j 异步_Log4j2异步日志之异步格式化
  13. mybatisplus多表关联查询_Excel、MySQL、PowerBI、Python来告诉你 数据关联与联合不一样
  14. 学Python的女生好不好找工作?
  15. GNOME下也是Alt+F2,输入gnome-terminal
  16. 初步学习pg_control文件之十四
  17. 【保姆级教学】Landsat遥感影像下载
  18. 故障:PDF 文件打印失败
  19. 小学生计算机知识技能竞赛,2016年春季小学生六项技能竞赛计算机试卷.doc
  20. ASURO机器人电机干扰造成MCU误报电量低(LVLV)问题

热门文章

  1. office2013来了
  2. 互联网和大数据是什么意思_数据化和互联网行业 互联网大数据什么意思
  3. python语言中ch用法_pytorch 中pad函数toch.nn.functional.pad()的用法
  4. adb 模拟按键,调试按键,android测试可以用
  5. iOS12 Xcode10正式版问题汇总以及新特性(持续更新中....)
  6. AndroidKiller报.smali文件丢失问题解决(关闭Android Studio的Instant Run)
  7. Ubuntu WPS 字体缺失问题解决
  8. 【Python】新华字典(bushi
  9. 用新华字典来彻底解释清:数据库索引到底是什么
  10. 豆瓣社区:《如何高效学习》应用与心得