首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 23-09-22 01:03
  • 3800
  • 12205
blog.csdn.net

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

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

文章目录

  • 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开发机甲大师控制策略的第二篇,简单分析了硬件资源、功能需求和原理,为了后面软件架构设计和单元设计打下了基础。

>>返回个人博客总目录

注:本文转载自blog.csdn.net的chhttty的文章"https://blog.csdn.net/u013288925/article/details/109080818"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top