斯坦福机器狗的设计与实现 四足机器人的机械结构类型和制造

四足机器人的机械结构类型和制造

1、仿制对象

Stanford Doggo由斯坦福学生机器人俱乐部的极限流动团队开发。是一个重量不到5千克的四足机器人,能够动态运动,使其能够达到所有四足机器人的最高跳跃1.07米。还能以0.9米/秒的速度向前移动,其灵活的移动性使机器人还能行走,小跑,跳跃和后空翻。

2、四足机器人机械结构上的重要概念

腿型:并联腿,串联腿(运动范围大)
串联腿分类:外膝肘式,全肘式,全膝式,内膝肘式(稳定性高)。
无刷电机。
四足机器人的足端设计主要有三种形式,即圆柱形足端(含半圆柱型阻断),球型足端(含半球形足端)及仿生足端。
圆形足端是目前四足机器人最常见的足端设计,足端呈球形或半球型,这种设计的优点是机器人足端可以和地面从各个方向接触,具有较强的环境适应性。
这里我们选择圆柱形。
功能特性:

  1. 八自由度
  2. 并联腿
  3. 能够实现TROT小跑步姿

硬件特性:

  1. PyBOARD主控
  2. PCA9685舵机扩展版
  3. 7.4V 800mah锂电池
  4. MG90S舵机
  5. 遥控器
  6. 无需打板

DIY成本:
低DIY成本

制造的基本流程:

  1. Github下载三维图
  2. CURA打开STL
  3. 设置好打印参数
  4. 3D打印(制造)

3、DIY准备

PYBOARD:

  • 采用Python编程
  • 可以直接像U盘那样保存
  • NOTEPAD++和PUTTY就可以完成全部编程步骤
  • 支持多线程固件

PCA9685:

  • I2C通讯
  • 可以直接针插,不做板成为可能

2S(7.4V)800MAH电池:
LM2596稳压模块:

  • 调至6V供电

MG90S舵机  X8

*****************************************************

课后作业

#L1-作业1# 上Github,搜索下stanford doggo的原生开源仓库,认识其机械结构组成,写一篇有关于其机械结构的总结

同轴机构:

  • 驱动每条腿的同轴机构绝对是机器人最复杂的机械部件。这也是最麻烦的。它的工作方式是,有两个TMotorMN
    5212电机安装在碳纤维侧板上。也有一个3D打印轴承块,其中有两个轴承,以容纳外部同轴管。。两台电机通过16T滑轮和48T滑轮之间的6mm宽、3mm节距GT2皮带将功率传递给同轴轴。没有足够的空间用于普通的,现成的滑轮,所以使用X计量SLS服务打印了我们自己的。我们学会了总是向服务部门说明滑轮必须打印出来。如果零件是以一个角度印刷,滑轮齿的几何形状会因为离角层而变形。在滑轮上方,我们有一个喷水铝制支架,以保持皮带张力,从而防止在高扭矩情况下跳过。尽管如此,要为托架找到最佳的中心到中心距离真的很痛苦,因为电机和小滑轮之间的连接处的斜率,以及更大的滑轮和轴之间的连接处的斜率,意味着上托架的中心到中心距离必须比皮带供应商(sdp-si)规定的标称中心到中心距离大0.5mm。这个组件最大的问题是皮带张力越大,我们在装配中的摩擦力就越大。较高的摩擦力意味着电机的跟踪性能较差,对触地事件的敏感性也更差等等。在我们的下一个机器人上,我们希望有更平滑、更精确的机械滑轮,以及更少的同轴装配中的斜率

腿:

  • 狗有四,二自由度腿的SCARA味道。SCARA的味道,意思是,每个腿是一个五杆机构和两个上面的环节是同轴驱动。实际的腿链接是由大蓝锯切割的水射流,这是一个伟大的在线服务(虽然确保上传您的所有部分在一个DXF,以节省费用)。喷水部件实际上是足够精确的,我们不需要对轴承的孔进行修补。

接缝:

  • 对于每个接头,有两个深沟球轴承相互堆叠在一起,并有一个肩部螺栓穿过他们和螺纹进入对立的环节。

脚:

  • 机器人的脚是我们用3D打印的2部分模具制成的硅橡胶制品。

框架:

  • 机器人的框架非常简单。有两个喷水,4mm碳纤维板在每边,连接两个1/32“5052铝板金属零件。这些钣金零件被水射流切割,然后用手折叠起来(由于两个碳纤维面板向内倾斜,铝制零件上的标签不能折叠在制动器上)。

#L1-作业2# 结合上Github的stanford doggo仓库和百度搜索两个信息源,对其原生控制硬件Odrive和无刷电机的控制方式进行了解

Odrive:

  • 环形位置控制 要启用环形位置控制,设置axis.controller.config.setpoints_in_cpr = True 此模式对于连续的增量位置移动很有用。 例如,机器人会无限期滚动,或者挤出机马达或传送带会以受控的增量无限期地移动。
    在常规位置模式下,pos_setpoint将增长到非常大的值,并且由于浮点舍入而失去精度。
    在这种模式下,控制器将尝试仅在电动机旋转一圈之内跟踪位置。
    具体而言,pos_setpoint的范围应为[0,cpr-1],其中cpr是一圈编码器计数值。
    如果pos_setpoint增加到该范围之外(例如通过step /
    dir输入),则会自动将其约束到[0,cpr-1]范围内。注意:在此模式下,将使用encoder.pos_cpr
    作为位置位置反馈,而非encoder.pos_estimate
    如果尝试以超过cpr/2步的大步幅增加位置,则电机将以相反的方向旋转至相同角度。当输入控制量干扰很大时,也会出现这种情况。
    如果您有一个需要处理较大步幅的应用程序,则可以使用虚拟CPR,该虚拟CPR是编码器实际CPR的整数倍。
    设置encoder.config.cpr = N * your_enc_cpr,其中N是一些整数。
    选择合适的N为您的应用提供合适的位置设置范围。
  • 速度控制 设置 axis.controller.config.control_mode = CTRL_MODE_VELOCITY_CONTROL。 现在,您可以使用 axis.controller.vel_setpoint = 5000 [count/s] 控制转速。
  • 速度爬升控制 设置 axis.controller.config.control_mode = CTRL_MODE_VELOCITY_CONTROL 设置速度爬升速率 (绝对加速度):
    axis.controller.config.vel_ramp_rate = 2000 [counts/s^2] 启动速度爬升模式:
    axis.controller.vel_ramp_enable = True 现在,您可以使用
    axis.controller.vel_ramp_target = 5000 [count/s] 控制转速。
  • 电流控制 设置 axis.controller.config.control_mode = CTRL_MODE_CURRENT_CONTROL 现在,您可以使用axis.controller.current_setpoint = 3 [A] 来控制电机电流。 注意: 在电流控制模式下没有速度限制。 确保不要使电机过载或超过编码器的最大速度。

无刷电机的控制方式:

  • 换相的控制 根据定子绕组的换相方式,首先找出三个转子磁钢位置传感器信号H1、H2、H3的状态,与6只功率管之间的关系,以表格形式放在单片机的EEPROM中。8751根据来自H1、H2、H3的状态,可以找到相对应的导通的功率管,并通过P1口送出,即可实现直流无刷电动机的换相。
  • 转速的控制 在直流无刷电动机正常运行的过程中,只要通过控制数模转换器的输出电压U0,就可控制直流无刷电动机的电流,进而控制电动机的电流。即8751单片机通过传感器信号的周期,计算出电动机的转速,并把它同给定转速比较,如高于给定转速,则减小P2口的输出数值,降低电动机电流,达到降低其转速的目的。反之,则增大P2口的输出数值,进而增大电动机的转速。
  • PWM控制 转速控制也可以通过PWM方式来实现。
  • 变结构控制 当直流无刷电动机处于起动状态或在调整过程中,采用直流无刷电动机的运行模式,以实现动态相应的快速性,一旦电动机的转速到了给定值附近,马上把它转入同步电动机运行模式,以保证其稳速精度。这时计算机只需要按一定频率控制电动机的换相,与此同时,计算机在通过位置传感器的信号周期,来测量其转速大小,并判断它是否跌出同步。一旦失布,则马上转到直流无刷电动机运行,并重新将其拉入同步。
  • 方波控制 方波控制使用霍尔传感器或者无感估算算法获得电机转子的位置,然后根据转子的位置在360°的电气周期内,进行6次换向(每60°换向一次)。每个换向位置电机输出特定方向的力,因此可以说方波控制的位置精度是电气60°。由于在这种方式控制下,电机的相电流波形接近方波,所以称为方波控制。
    方波控制方式的优点是控制算法简单、硬件成本较低,使用性能普通的控制器便能获得较高的电机转速;缺点是转矩波动大、存在一定的电流噪声、效率达不到最大值。方波控制适用于对电机转动性能要求不高的场合。
  • 正弦波控制 正弦波控制方式使用的是SVPWM波,输出的是3相正弦波电压,相应的电流也是正弦波电流。这种方式没有方波控制换向的概念,或者认为一个电气周期内进行了无限多次的换向。显然,正弦波控制相比方波控制,其转矩波动较小,电流谐波少,控制起来感觉比较“细腻”,但是对控制器的性能要求稍高于方波控制,而且电机效率不能发挥到最大值。
  • FOC控制 正弦波控制实现了电压矢量的控制,间接实现了电流大小的控制,但是无法控制电流的方向。FOC控制方式可以认为是正弦波控制的升级版本,实现了电流矢量的控制,也即实现了电机定子磁场的矢量控制。

你可能感兴趣的:(斯坦福机器狗的设计与实现)