MIT四足机器人MIT Cheetah的硬件框架
前几天小米的铁蛋,又让四足机器人火了一把。9999一台,这个价钱还挺香的。众所周知,国内的大部分四足机器狗的涌出,都是因为2019年,MIT的猎豹开源,从硬件到软件。国内四足机器人的研发也就上了一个台阶,也包括小米的铁蛋也是基于mit的Cheetah Mini。
最近看了一下mit的机器狗开源的关节,看了一下12个关节到控制器的是如何通信的。
简单的画了个图:
模块通信
- 12个关节驱动器,只运行了FOC的算法,对于命令和信息上报使用了CAN通信
- 一条腿(三个关节)为一路CAN,与SPIne进行通信,一个SPIne模块负责两条腿的CAN通信,并使用SPI和电脑信息交换。
- IMU用的是串口通信。
- 每个STM32还有独立串口通信,用于模块的设置与debug。
模块通信速率:
- 每路CAN的通信配置是1M。SPIne用两个STM32是因为带宽不够, 每个STM32有两路CAN, 每一路负责三个电机的通讯才达到1000Hz, 若一路负责两条腿六个电机,就达不到。
- SPIne 和电脑SPI通信的时钟为12M,通信频率为1000hz
通信数据:
can格式每帧数据8个byte。
SPIne->关节 指令内容(8字节):
- 位置指令: 16bit
- 速度指令: 12bit
- kp: 12bit
- kd: 12bit
- 前馈转矩: 12bit
关节->SPIne 上报内容(5字节):
- 位置信息: 16bit
- 速度信息: 12bit
- 电流(力矩): 12bit
PC->SPIne 指令内容(132字节):
一共是33个数据。6个关节的位置指令、速度指令、kp、kd、前馈转矩、两个flag和一个校验。
SPIne->PC 上报内容(60字节):
一共是15个数据,6个关节的位置和速度,两个flag,和一个校验.
mbedOS
mit狗的硬件的代码量都很小,像SPIne模块,基本只有数据的交互的处理。对于硬件驱动代码等等的,全靠mbedOS。
mbedOS是ARM打造、主打IoT的一整套软件解决方案,是一个针对ARM CortexM系列处理器的嵌入式开源生态。
官网:https://os.mbed.com/mbed-os/
感觉国内使用的很少,网上搜了一下,可能是因为没有中文网站,在线编译服务器在美国,云服务在在国外,推广力度小等原因。不过MbedOS编写的应用程序和arduino 一样简单,使用的是c++的面向对象,去抽象软硬件。
比如在SPIne模块中初始化spi:
void init_spi(void){SPISlave *spi = new SPISlave(PA_7, PA_6, PA_5, PA_4);spi->format(16, 0); // 16bitspi->frequency(12000000); // 12Mspi->reply(0x0);cs.fall(&spi_isr);printf("done\n\r");
}
网上看见的一个CAN 总线的应用程序:
#include "mbed.h"DigitalOut myled(D8);
CAN can1(PD_0, PD_1,500000);
int main() {CANMessage msg;while(1) {if(can1.read(msg)) {printf("Message received:id=%d,type=%d,%d\n", msg.id,msg.type,msg.data[0]);myled = !myled;}}
}
mit开源资料
电机控制器硬件:https://github.com/bgkatz/3phase_integrated
电机控制器软件:https://os.mbed.com/users/benkatz/code/Hobbyking_Cheetah_Compact_DRV8323/
SPIne硬件:https://github.com/bgkatz/SPIne
SPIne软件:https://os.mbed.com/users/benkatz/code/SPIne/
linux控制代码 Cheetah Mini:
https://github.com/mit-biomimetics/Cheetah-Software
参考
https://blog.csdn.net/yaojiawan/article/details/82789970
https://zhuanlan.zhihu.com/p/79391139
被抛弃的写随笔公众号改写技术文章了,感兴趣的可以关注公众号:王崇卫
回复“QT波形”,获取源码。
MIT四足机器人MIT Cheetah的硬件框架相关推荐
- 【转载】MIT四足机器人Cheetah 3控制方案笔记
转载:知乎 Wenboxing https://zhuanlan.zhihu.com/p/190028074 这里写自定义目录标题 MIT四足机器人Cheetah 3控制方案理解笔记(1)--摆动腿控 ...
- MIT四足机器人Cheetah 3控制方案理解笔记(2)——Convex Mpc身体姿态控制
在"MIT四足机器人Cheetah 3控制方案理解笔记(1)"中,主要简单的总结了下一般情况下腿足机器人的摆动腿控制方法以及Cheetah 3的基于集中质量模型的平衡控制器.此外, ...
- MIT四足机器人Cheetah 3控制方案理解笔记(1)——摆动腿控制、单刚体模型平衡控制器
之前一段时间在阅读MIT四足机器人Cheetah 3以及Mini Cheetah控制方案的相关论文,在此处做一些笔记.Cheetah 3与Mini Cheetah的控制方案大同小异,此处先以Cheet ...
- 【四足机器人】从零开始搭建四足机器人mini cheetah仿真环境(零)准备工作
文章目录 一.准备工作 1.pybullet 2.mini cheetah 的模型 3.urdf文件解析 一.准备工作 1.pybullet 我们的仿真环境基于pybullet,因此需要先安装好pyb ...
- 2021-09-29破解小米“铁蛋”,只需9999元,你也可以做一个四足机器人!
https://www.eet-china.com/news/202109291008.html 2021-09-29破解小米"铁蛋",只需9999元,你也可以做一个四足机器人! ...
- 第一篇----行走控制的研究现状:双足机器人四足机器人
最近打算入门双足机器人.四足机器人,通过在网上搜索,整理一份比较全面的介绍目前发展状况的资料. 需要关注的几个学术大牛人物 Marc Raibert 网站为:MIT Leg Laboratory, 网 ...
- 小米CyberDog四足机器人的AI运动系统的实现
2021年8月10日,雷军进行继宣布造车之后的第二次演讲. 在现场的展示中,小米发布了首款四足行走机器人--铁蛋,英文名CyberDog.这只"人类高质量宠物"可以行走.站立.小碎 ...
- 基于STM32与PCA9685制作四足机器人(代码开源)
前言:本文为手把手教学基于STM32的四足机器人项目--JDY-31蓝牙控制,特别地,本次项目采用的是STM32作为MCU.四足机器人的支架为3D打印件,SG90舵机驱动机器人实现姿态 ...
- 并联四足机器人项目开源教程(六)--- Cheetah开源项目的代码框架移植
这个是本人在大三期间做的项目 ---- 基于MIT的Cheetah方案设计的十二自由度并联四足机器人,这个项目获得过两个国家级奖项和一个省级奖项.接下来我会将这个机器人的控制部分所有代码进行开源,并配 ...
最新文章
- Oracle修改监听IP地址
- Hadoop MapReduce手机上网流量统计代码示例及运行结果演示
- 两种驱动系统运行的方式--分时的方式
- nginx做透明代理
- Struts2知识点总结
- Idea创建一个springboot多模块项目
- php加载lrc,javascript - 【求助】php如何获取虾米网的LRC地址?
- python beautifulsoup库_Python BeautifulSoup库使用
- Paraview 5.9.0升级为Paraview 5.10.0之后报错
- 20行Python代码爬取LOL全英雄皮肤图片
- 怎样抠图怎么把背景换成白色?几个步骤教你轻松掌握
- 手机端H5页面时间插件
- 计算机管理任务类别103,win7系统如何查看电脑的历史开关机时间|win7系统怎么查询电脑开机后运行多长时间...
- 总结学过的技术,实现加密注册,登录及过期不能访问,微信朋友圈功能,文章比较长,但是比较详细。
- python实现scp功能_如何在Python中进行scp?
- 详解SSD可靠性影响因素、原理和解决方法
- docker设置开启机自启动
- Matlab中meshgrid的用法简介
- 如何把word文件压缩到最小
- 一种基于柔性压力传感器的机械手驱动系统