2020-05-07

作业1

stanford doggo的原生开源仓库,认识其 > 机械结构组成

,![Stanford Doggo由斯坦福学生机器人俱乐部的极限流动团队开发。它是一个重量不到5千克的四足机器人,能够动态运动,使其能够达到所有四足机器人的最高跳跃,达到1.07米。它还能够以0.9米/秒的速度向前移动,其灵活的移动性使机器人能够行走,小跑,跳舞,跳跃,跳跃和后空翻。](https://img-blog.csdnimg.cn/20200628063847260.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1lBT05WTEk=,size_16,colo机械结构组成Github2020-05-07_第1张图片

1**. 同轴机制**

同轴机制(coaxial mechanism)会驱动每一条腿的运动能力,不论小跑还是跳跃都少不了它。同轴机制也是机器人中最复杂的机制和模块。

工作方式:在碳纤维侧板上安装两个TMotor MN5212电动机。有一个3D打印的轴承座,该轴承座具有两个轴承以固定外部同轴管。这两个电机通过16T皮带轮和48T皮带轮之间的6mm宽,3mm间距的GT2皮带将动力传递到同轴轴上。使用Xometry SLS服务打印了自己的滑轮,因为没有足够的空间安装常规的滑轮。有一个喷水铝支架,以保持皮带张紧,从而防止在高扭矩情况下跳动。2020-05-07_第2张图片

串联腿分类:外膝肘式,全肘式,全膝式,内膝肘式(稳定性高)。
无刷电机。2020-05-07_第3张图片

腿部:Doggo具有四个SCARA风格的2DOF腿。每条腿都是五连杆机构,两个上连杆是同轴驱动的。腿部连接是由Big Blue Saw切割的水刀切割而成的

关节:对于每个关节,在连杆上有两个彼此相邻堆叠的深沟球轴承,而一个肩螺栓穿过它们,并旋入相对的连杆中。

:机器人支脚是我们使用3D打印的两部分模具制成的硅胶片。

构架:每侧有两个喷水的4mm碳纤维面板,由两个1/32英寸5052铝金属片部件连接。使用水刀切割这些钣金零件,然后用手将其折叠起来。

电子产品:Doggo有四个v3.5、48V ODrive,每条腿两个,安装在碳纤维侧板上。坐在中间的2mm碳纤维板上,有一个Teensy 3.5,一个Sparkfun BNO080 IMU和一个5mW Xbee。Teensy通过四个独立的UART线与ODrive进行通信,每条UART线的工作波特率为500,000。在该板的下面,有配电板,还将两个1000mah 6s Tattu锂电池放在了那里。

每个电机都有一个AS5047P编码器,用于跟踪电机角度。
2020-05-07_第4张图片

*像Doggo这样的机器人是即将到来的机器人革命的一部分。有足机器人正变得越来越有能力,波士顿动力,Agility Robotics和Anybotics等公司开始将它们定位为有用的工具,可在现场勘测,监控,安全甚至包裹递送中应用。

像Doggo这样的廉价机器人平台让研究人员能够迅速改进控制系统,就像便宜的四轴飞行器推动了空中导航一样。目前,Doggo及其同类产品是为大学和实验室制造的,但很快,它们就会踏入现实世界。*

作业2# 结合上Github的stanford doggo仓库和百度搜索两个信息源,对其原生控制硬件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] 来控制电机电流。 注意: 在电流控制模式下没有速度限制。 确保不要使电机过载或超过编码器的最大速度。

无刷电机的控制方式:

2020-05-07_第5张图片换相的控制 根据定子绕组的换相方式,首先找出三个转子磁钢位置传感器信号H1、H2、H3的状态,与6只功率管之间的关系,以表格形式放在单片机的EEPROM中。8751根据来自H1、H2、H3的状态,可以找到相对应的导通的功率管,并通过P1口送出,即可实现直流无刷电动机的换相。
转速的控制 在直流无刷电动机正常运行的过程中,只要通过控制数模转换器的输出电压U0,就可控制直流无刷电动机的电流,进而控制电动机的电流。即8751单片机通过传感器信号的周期,计算出电动机的转速,并把它同给定转速比较,如高于给定转速,则减小P2口的输出数值,降低电动机电流,达到降低其转速的目的。反之,则增大P2口的输出数值,进而增大电动机的转速。方波控制使用霍尔传感器或者无感估算算法获得电机转子的位置,然后根据转子的位置在360°的电气周期内,进行6次换向(每60°换向一次)。每个换向位置电机输出特定方向的力,因此可以说方波控制的位置精度是电气60°。由于在这种方式控制下,电机的相电流波形接近方波,所以称为方波控制

方波控制 方波控制使用霍尔传感器或者无感估算算法获得电机转子的位置,然后根据转子的位置在360°的电气周期内,进行6次换向(每60°换向一次)。每个换向位置电机输出特定方向的力,因此可以说方波控制的位置精度是电气60°。由于在这种方式控制下,电机的相电流波形接近方波,所以称为方波控制。
方波控制方式的优点是控制算法简单、硬件成本较低,使用性能普通的控制器便能获得较高的电机转速;缺点是转矩波动大、存在一定的电流噪声、效率达不到最大值。方波控制适用于对电机转动性能要求不高的场合。
正弦波控制 正弦波控制方式使用的是SVPWM波,输出的是3相正弦波电压,相应的电流也是正弦波电流。这种方式没有方波控制换向的概念,或者认为一个电气周期内进行了无限多次的换向。显然,正弦波控制相比方波控制,其转矩波动较小,电流谐波少,控制起来感觉比较细腻
FOC控制2020-05-07_第6张图片FOC控制方式可以认为是正弦波控制的升级版本,实现了电流矢量的控制,也即实现了电机定子磁场的矢量控制。

FOC控制方式的优点是:转矩波动小、效率高、噪声小、动态响应快;缺点是:硬件成本较高、对控制器性能有较高要求,电机参数需匹配。由于FOC的优势明显,目前已在很多应用上逐步替代传统的控制方式,在运动控制行业中备受青睐。

你可能感兴趣的:(笔记)