本文是机甲大师机器人控制的系列博客之一。本文介绍了博主在开发控制策略的前期对其进行的功能分析并熟悉一些基本原理。

系列博客:
机甲大师机器人控制(一):概念与流程
机甲大师机器人控制(二):功能分析
机甲大师机器人控制(三):软件架构设计
机甲大师机器人控制(四):软件单元
机甲大师机器人控制(五):软件单元测试
机甲大师机器人控制(六):集成测试
机甲大师机器人控制(七):购买清单

文章目录

  • 1 开发阶段
  • 2 硬件资源
    • 2.1 PS2手柄
    • 2.2 金属底板
    • 2.3 直流减速电机
    • 2.4 麦克纳姆轮
    • 2.5 舵机云台
    • 2.6 发射器与继电器
    • 2.7 STM32电机驱动板
  • 3 功能分析
    • 3.1 按键锁定
    • 3.2 底盘平面运动
      • 3.2.1 基本运动
      • 3.2.2 合成运动
      • 3.2.3 速度调节
    • 3.3 舵机云台二自由度运动;
    • 3.4 发射器控制
  • 4 总结

1 开发阶段

功能分析属于开发早期阶段,在设计具体的软件架构之前,确定好机甲大师机器人要实现哪些功能。功能分析的每一条都必须是可验证的,以便最终的集成测试阶段可以验证这些功能是否实现。

2 硬件资源

在思考想要实现什么功能之前,不妨先看看博主制作一个机甲大师机器人用到了哪些硬件。对硬件有个大概的了解有助于后文理解博主开发机甲大师机器人的模型。

2.1 PS2手柄

PS2手柄是机甲大师的唯一输入硬件,也就是说这个机甲大师是完全通过手柄来操控的。一个PS2手柄上含有正面按键、顶部按键以及两个摇杆。手柄发送信号到接收器,再由接收器传给STM32电机控制板。

2.2 金属底板

由于安装了电机、车轮、舵机等,金属底板承载了整个机甲大师的重量。因此,需要选购一个承载力强并且安装方便的底板。

2.3 直流减速电机

在直流减速电机的两端加上一定的电压,就可以使之旋转起来。通过改变电压的大小和正负极,就可以调整电机的转速以及旋转方向。机甲大师机器人需要4个直流减速电机。

2.4 麦克纳姆轮

麦克纳姆轮是一种构造非常特殊的轮子。轮子上的斜向排列的滚子使得麦轮和地面之间的作用力并不是朝着轮子的正向或者侧向,而是斜向的。通过不同转动的组合,可以控制安装了麦轮的小车做出全向运动。麦克纳姆轮与直流减速电机同轴连接。

2.5 舵机云台

舵机是一种位置(角度)伺服的驱动器,可以通过PWM控制舵机的角度。机甲大师机器人的双舵机云台可以使发射器在一定范围内自由瞄准目标。舵机上引出三根线,分别是正极线、负极线和信号控制线。

2.6 发射器与继电器

发射器(水弹波箱)就是玩具手枪的内核部件,加上电压后就可以通过电动马达将水弹发射出去。

继电器是一种电控制元器件,可以通过STM32单片机控制继电器的打开和闭合,从而控制发射器发射水弹。继电器的输入端和舵机类似,也是正极、负极和信号控制端。因此,可以通过控制舵机的引脚来控制继电器。

2.7 STM32电机驱动板

STM32电机驱动板是整个机甲大师的大脑。电机驱动板上除了STM32芯片以外,还包括了电源模块、电机驱动芯片等。当然,如果硬件基础扎实的话,也可以自己画一个PCB板,然后焊接元器件。

通过给电机驱动板编程可以实现以下功能。

  • 接受并解析PS2发送的控制信号;
  • 控制电机转速与转动方向;
  • 控制双舵机的位置;
  • 控制继电器的开启和闭合;

除了以上功能以外,后文重点讲解的模型生成的代码也会集成到STM32的项目代码中。

3 功能分析

功能分析就是在进行具体建模之前,确定好自己需要实现什么功能,并且对被控对象的原理进行必要的了解。结合上一章节的硬件资源,同时结合自身能力,博主希望自己的机甲大师机器人可以实现如下功能。

  1. 按键锁定;
  2. 底盘平面运动;
  3. 舵机云台二自由度运动;
  4. 发射器控制;

各个功能的具体含义如下。

3.1 按键锁定

PS2上的Mode按键对应了一个绿色的指示灯。按一下Mode按,键指示灯就会熄灭,再按一下就会亮起。通过该按键来锁定或解锁PS2对机甲大师的控制,只有在指示灯亮起的时候,其他的按键或摇杆才能操控机甲大师。Mode按键的位置如图所示。

3.2 底盘平面运动

机甲大师的底盘是通过驱动四个麦克纳姆轮来实现平面运动的。四个麦克纳姆轮的不同正反转组合,可以实现底盘的不同运动方式,例如前进后退、左右平移、旋转等。网络上有很多关于麦轮的力学分析,不过控制麦轮其实不需要那么复杂的动力学分析,只需要以下一张图即可理解麦轮的转向对应底盘的运动形式(需要照着图上的方式安装麦轮)。这里感谢一下网友的细心整理。

这张图看起来有很多种运动种类,但只需要实现部分运动功能。博主通过分析这张原理图,把麦轮小车的运动方式分为基本运动合成运动两种。

3.2.1 基本运动

基本运动和PS2摇杆通道相对应。从PS2的工作原理来看,两个摇杆一共可以产生四个通道,也就是对应4个变量的变化。分别是左摇杆的X通道(LX)、左摇杆的Y通道(LY)、右摇杆的X通道(RX)、右摇杆的Y通道(RY),如图所示。

每个通道可以对应两种方向相反的基本运动,博主根据自己的习惯,定义方案如下:

  • LX:左移和右移;
  • LY:前进和后退;
  • RX:逆时针自传和顺时针自传;
  • RY:绕正前方左摆尾和右摆尾;

举个例子,左摇杆往前推,车辆向前运动;右摇杆向右推,车辆顺时针旋转。这种方案中,左摇杆负责直线运动,右摇杆负责旋转运动。结合原理图可以更加直观的看出基本运动和摇杆的对应关系。

3.2.2 合成运动

基本运动可以实现底盘的8种运动方式。通过摇杆位移的组合可以实现更多的工作方式。观察下图中对角线方向移动的向右上方移动,可以看出它是前进和右移两种运动形式的合成。

因此,可以通过算法设计,使得左摇杆推向右上方时,车辆做右前方的对角线运动。

同理,左摇杆向前,右摇杆向右可以控制车辆前进的同时右转。总之,任意基本运动都可以组合成合成运动,而且不一定是双通道的组合,也可以是三通道和四通道组合。合成运动需要通过Simulink模型中设计算法实现。

3.2.3 速度调节

通过摇杆通道的偏移值大小,调节直流电机的转速,从而调节了机甲大师平面运动的速度。

博主为了结构上更简介,没有在机甲大师上安装传感器去测量每个车轮的转速。因此,本系列博客中的电机控制是开环控制,也就是直接改变直流电机两端的电压来调速。

3.3 舵机云台二自由度运动;

舵机云台上安装了两个舵机,可以实现二自由度运动。给两个舵机分别编号为0号舵机和1号舵机。

如图所示,0号舵机可以控制云台在水平面内运动,1号舵机可以控制云台在竖直面内运动。因此,安装在云台上的发射器可以在一定范围内调整发射器瞄准的方向。

舵机0由PS2手柄上的正方形按钮和圆形按钮控制,分别表示控制0号舵机的左右转动。博主将正方形按钮称为RL(也就是Right-Lift的意思),其他的可以类推,圆形按钮称为RR(Right-Right)。

舵机1由PS2手柄上的三角形按钮和X形按钮控制,分别表示控制1号舵机的上下转动。三角形按钮称为RU(Right-Up),X形按钮称为RD(Right-Down)。

3.4 发射器控制

发射器的控制比较简单,只要通过继电器的导通和断开就能控制发射器连续发射或是停止发射。继电器的原理比较简单,购买的时候有比较详细的资料提供。

如图所示,只要将一个STM32的引脚接入继电器右端的信号触发端就可以控制左边的开合。

博主设计中,继电器的控制由PS2手柄上的右手顶部的按钮控制,称之为R1按钮。

4 总结

本文是MBD开发机甲大师控制策略的第二篇,简单分析了硬件资源、功能需求和原理,为了后面软件架构设计和单元设计打下了基础。

>>返回个人博客总目录

机甲大师机器人控制(二):功能分析相关推荐

  1. 机甲大师机器人控制(一):概念与流程

    本文是机甲大师机器人控制的系列博客之一.本文主要介绍了机甲大师机器人以及博主在开发其控制策略时所采用的流程.本系列博客的模型和代码已经上传CSDN资源. 系列博客: 机甲大师机器人控制(一):概念与流 ...

  2. 机甲大师机器人控制(三):软件架构设计

    本文是机甲大师机器人控制的系列博客之一.在功能分析的基础上,本文设计软件的架构以及定义输入输出接口. 系列博客: 机甲大师机器人控制(一):概念与流程 机甲大师机器人控制(二):功能分析 机甲大师机器 ...

  3. 机甲大师机器人控制(四):软件单元

    本文是机甲大师机器人控制的系列博客之一.在软件架构设计的基础上,本文设计每个模块中的控制算法. 系列博客: 机甲大师机器人控制(一):概念与流程 机甲大师机器人控制(二):功能分析 机甲大师机器人控制 ...

  4. 机甲大师机器人控制(六):集成测试

    本文是机甲大师机器人控制的系列博客之一.在软件单元测试阶段完成后,进行集成测试.本文内容与功能分析阶段相对应.另外,阅读本文的内容需要一些STM32调试经验. 系列博客: 机甲大师机器人控制(一):概 ...

  5. 机甲大师机器人控制(七):购买清单

    本文详细介绍博主在DIY机甲大师机器人的过程中所购买的零件和工具. 系列博客: 机甲大师机器人控制(一):概念与流程 机甲大师机器人控制(二):功能分析 机甲大师机器人控制(三):软件架构设计 机甲大 ...

  6. RoboMaster机甲大师——视觉组——摄像头的选型与应用

    RoboMaster机甲大师--视觉组--摄像头的选型与应用 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 本篇文章主要介绍在进行图像处理时 ...

  7. RoboMaster机甲大师——视觉组——总结、未来期望与比赛经验分享

    RoboMaster机甲大师--视觉组--总结与未来期望 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 入坑指南 各兵种需要的视觉: 步兵-每年必备 ...

  8. RoboMaster 机甲大师 学生端服务器搭建

    RoboMaster 机甲大师 学生端服务器搭建 文章目录 RoboMaster 机甲大师 学生端服务器搭建 前言 一.搭建路由器环境 二.服务器相关配置 1.修改重要模块 2.Q&A 组建局 ...

  9. RoboMaster机甲大师——视觉组——计算平台的选型与感想(主流几款)

    RoboMaster机甲大师--视觉组--计算平台(工控机)的选型与感想(主流几款) FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 本篇文章 ...

最新文章

  1. view5.3登录桌面提示当前可用桌面资源不足
  2. python读取网站_科学网—python 获取网址 - 林清莹的博文
  3. python字符串27种常见的方法
  4. 垂直margin合并问题
  5. python中的作用域_python作用域
  6. c# sizeof_C#程序演示sizeof()运算符的示例
  7. (C++)浅谈using namespace std
  8. 面向对象 【类库】【委托】【is as运算符】
  9. matlab期权定价模型比较,期权定价模型与数值方法(Matlab+Jupyter Notebook)
  10. 助力小程序生态发展 “小程序生态孵化社区”成立
  11. 邮件代理发送功能更新和Exchange 6月份补丁更新提示
  12. 1. jQuery 简介
  13. php5的程序如何安装在php7,centos安装php5和php7,并在apache里同时使用
  14. 欧姆龙plc的IO存储器区详解
  15. 完全卸载Oracle方法(超详细)
  16. java 通过经纬度计算巨鹿,中国主要城市经纬度查询
  17. centos7 xmapp安装完报错:error while loading shared libraries: libc.so.6
  18. linux服务器使用WonderShaper进行带宽限制
  19. 手机怎样设置每年自动生日提醒
  20. 关于微信第三方平台$APPID$.wx.abc.com的问题

热门文章

  1. 语义分割数据集VOC2012 FCN网络结构详解
  2. [egret+pomelo]实时游戏杂记(2)
  3. windows7怎么恢复出厂设置_Mac系统误删或者恢复出厂设置以后怎么找回资料
  4. Oracle 修改监听端口号1521
  5. 大学生创业优秀成果推广平台设计与实现
  6. JavaScript数字进制转换
  7. VMware 虚拟机实现硬盘扩容自由 无需格式化
  8. ORA-12520: TNS:listener could not find available handler for requested type of server
  9. 世界名牌手表系列排名
  10. Hadoop与关系数据库