[机器人-3]:开源MIT Min cheetah机械狗设计(三):嵌入式硬件设计

目录

概述:

1、硬件组成

2、通信速率

3、通信协议

4、mbedOS


概述:

以1条腿进行设计,其它腿也一样:

腿部硬件组成

1、硬件组成

1)UP board计算机板卡(Linux OS)

腿部控制器基于Cortex-A8的处理器执行腿部控制任务,如笛卡尔阻抗的控制或联合PD控制。负责完成较高的腿部频率和高速关节速度摇摆时的滤波、高带宽跟踪相位以及其他位置控制动作。最后,每条腿控制器发送扭矩指令并接收无刷电机上的编码器测量值。可以看出UP board计算机板卡的核心功能就是进行运动学和动力学运算。

2)调试PC机 (Windows或Linux OS):

使用第二代酷睿i7处理器,运行Ubuntu Linux(内核4.1.33)和配置抢占RT补丁。UP board通过以太网与笔记本电脑通信,UP board使用轻量级接收用户命令并记录数据通信和编组(LCM)。LCM将允许其他计算机用于视觉、规划和其他易于与计算机通信的任务未来。

3)数据转换板(mbed OS)

使用的是STM32的F4系列,一个STM32F4通过CAN总线负责两条腿,一个腿由3个STM32控制板通过FOC算法控制腿部三个电机,而且只运行了FOC算法。

FOC(Field-Oriented Control,磁场定向控制)是一种控制方法,用于精确控制电动机的速度和扭矩。它常用于控制电动机中的磁场方向和磁场强度,以实现高效能和精确控制。

在机器人中,FOC算法常用于控制电机以驱动关节和执行器。下面是机器人中应用FOC算法的基本步骤:

  1. 确定电机参数:首先需要获取电机的参数,包括电感、电阻、惯性等。这些参数将用于计算控制算法中的各个参数值。

  2. 电流控制:为了实现FOC算法,我们需要对电机的两相电流进行控制。为此,使用PI(Proportional-Integral,比例积分)控制器来计算电压引导电机电流。通过调整PI控制器的增益值,可以实现对电流的精确控制。

  3. 磁场定向:通过计算电机角度和速度,执行磁场定向控制。磁场定向控制是指将电机中的磁场方向与控制算法中的期望方向相匹配。通过控制电机的磁场方向,可以使电机在特定的速度和扭矩条件下运行。

  4. 速度闭环控制:为了实现更精确的速度控制,可以使用速度闭环控制。这将利用编码器或传感器来提供电机的实际速度反馈,然后与期望速度进行比较并相应地调整控制策略。

  5. 动态响应和调整:FOC算法还可以根据机器人的动态需求进行实时调整。根据控制目标和机器人的操作环境,可以进一步优化控制算法的参数和增益,以实现所需的动态响应。

总的来说,FOC算法是一种在机器人电机控制中常用的精确控制方法。通过控制电机的磁场方向和强度,结合速度闭环控制和动态调整,FOC算法可以实现高效能和精确的机器人动作控制。

数据转换板电路板

4)IMU传感器:

用的是串口通信,每个STM32还有独立串口通信,用于模块的设置与debug。

IMU传感器示意图

5)电机控制器:

硬件层面的信息如下:

24V供电、40A峰值相电流(由于电机热力学限制,实际数值低于40A)、CAN总线通信

接收数据转换板转发来的信息(力矩、位置、速度及位置和速度的增益),并且上传反馈信息(位置、速度以及基于电流环测量的扭矩)最大通信频率:4kHz/驱动器数目 (可通过增加CAN总线数目扩大通信带宽)

电机控制器

MCU最小系统–STM32F446RE

MCU最小系统电路图

三相驱动桥

6)位置传感器(磁编码器)

磁编码器安装位置

编码器电路图

7)STM32和UP board供电系统

24V 5ah电池,右侧的外壳被移除,显示了内置的BMS,输出端子和18650电池

供电板PCB

机器人供电板,产生隔离的5V逻辑电源,给腿和计算机供电,并有直通晶体管,实现电机电源和逻辑电源的通断。电源的底面(右)安装FASTON端子,与内置到电池相匹配。

2、通信速率

  1. 每路CAN的通信配置是1M。数据转换板用两个STM32是因为带宽不够, 每个STM32有两路CAN, 每一路负责三个电机的通讯才达到1000Hz, 若一路负责两条腿六个电机,就达不到。
  2. 数据转换板和UP board通过SPI通信的时钟为12M,通信频率为1000hz

3、通信协议

can格式每帧数据8个byte。
数据转换板->腿部控制器(STM32) 指令内容(8字节):

  • 位置指令: 16bit
  • 速度指令: 12bit
  • kp: 12bit
  • kd: 12bit
  • 前馈转矩: 12bit

腿部控制器(STM32)->数据转换板 上报内容(5字节):

  • 位置信息: 16bit
  • 速度信息: 12bit
  • 电流(力矩): 12bit

PC调试机->数据转换板指令内容(132字节):
一共是33个数据。6个关节的位置指令、速度指令、kp、kd、前馈转矩两个flag和一个校验

数据转换板->PC调试机 上报内容(60字节):
一共是15个数据,6个关节的位置和速度,两个flag,和一个校验.

4、mbedOS

MIT机械狗的硬件的代码量都很小,像数据转换模块,基本只有数据的交互的处理。对于硬件驱动代码等等的,全靠mbedOS。

mbedOS是ARM打造、主打IoT的一整套软件解决方案,是一个针对ARM CortexM系列处理器的嵌入式开源生态。

MbedOS编写的应用程序和arduino 一样简单,使用的是c++的面向对象,去抽象软硬件。

mbedOS 是一款开源的操作系统,专为物联网(IoT)设备和嵌入式系统而设计。它由阿姆尔公司(Arm)开发,并提供免费使用。mbedOS 提供了一个全面的软件平台,使开发人员能够轻松构建、测试和部署物联网设备。

mbedOS 具有以下特点和功能:

  1. 低功耗:mbedOS 设计用于低功耗设备,在处理器和外设之间实现了有效的电源管理,以延长电池寿命

  2. 硬件抽象层:mbedOS 提供了硬件抽象层(HAL),使开发人员能够轻松访问和控制硬件资源,无需关心底层细节。

  3. 安全性:mbedOS 提供了强大的安全功能,包括加密、认证和安全连接,以保护物联网设备和数据的安全性

  4. 连接性:mbedOS 支持各种网络连接,包括Wi-Fi、蓝牙、以太网和移动网络,使物联网设备能够与云服务和其他设备进行通信。

  5. 实时性:mbedOS 提供了实时性能,能够处理实时任务和事件,适用于对时间敏感的应用。

  6. 设备管理:mbedOS 提供了设备管理功能,使开发人员能够远程管理和监控物联网设备,包括固件升级和故障排除

  7. 开发工具:mbedOS 配套提供了丰富的开发工具,包括集成开发环境(IDE)、调试器和仿真器,以简化开发流程

总的来说,mbedOS 是一个为物联网设备和嵌入式系统提供的开源操作系统,具有低功耗、硬件抽象层、安全性、连接性、实时性和设备管理等特性。它简化了物联网设备的开发和部署过程,并提供丰富的开发工具和资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AlphaGo Zero的伟大与局限——ResNet作者、旷视研究院院长孙剑深度评述

来源:Megvii旷视科技 概要:2017年10月19日,Deepmind 团队发布强化版的 AlphaGo Zero,该版本的 AlphaGo 实现了在 AI 发展中非常有意义的一步——“无师自通”,这也让去年败在未升级版本 AlphaGo Master 下的中国棋手柯…

mysql 窗口函数最新一条_MySQL 8.0 窗口函数(window functions)

窗口函数(window functions)是数据库的标准功能之一,主流的数据库比如Oracle,PostgreSQL都支持窗口函数功能,MySQL 直到 8.0 版本才开始支持窗口函数。窗口函数,简单来说就是对于一个查询SQL,将其结果集按指定的规则进…

《人类简史》作者:应对 AI 革命,要打造新的经济、社会和教育体系

来源:36氪 概要:正在进行的人工智能革命将改变几乎所有的工作,给社会和经济的发展带来机遇和挑战。一些人认为,人工智能将把人类赶出就业市场,创造一个新的“无用的阶层”;另一些人则认为,自动化…

php mysql 胚子_php mysql数据库连接浅识

1、连接数据库连接函数:a、mysql_connect() :函数打开非持久的 MySQL 连接b、mysql_pconnect() :函数打开持久的MySQL 连接mysql_connect()格式:mysql_connect(server,user,pwd,newlink,clientflag)注:脚本一结束&…

全球厂商已向自动驾驶投入800亿美元 依然群龙无首 | 厚势

来源: 腾讯科技 概要:近日发表的一份权威研究报告指出,全球厂商已经在自动驾驶领域投资 800 亿美元,但是迄今为止,仍然没有一家明显处于领先优势的厂商。 自动驾驶和电动车成为当下科技行业两大热点之一,几…

promise的状态值_什么是Promise,Promise的三种状态

什么是Promise对象:Js中进行异步编程的新的解决方案,用于表示一个异步操作的最终完成 (或失败), 及其结果值.。语法上:promise是一个构造函数简单来说,promise对象用来封装一个异步操作并可以获取其结果语法:new Promi…

埃森哲报告:2017年数字化浪潮下的医疗行业五大趋势

来源:AI掘金志 概要:日前,埃森哲发布了《2017年数字化健康技术展望》报告,分析了数字化浪潮下的医疗护理行业的实际落地情况和发展前景,主要围绕着AI、生态系统建设、新型医疗人才挖掘、新的监督法规等五个方面进行解…

python修改xpath节点_Xpath python在特定文本后查找节点

这里是HTML代码:Specific text 1link1 inside specific text 1link2 inside specific text 1link3 inside specific text 1Specific text 2link1 inside specific text 2link2 inside specific text 2link3 inside specific text 2link4 inside specific text 2Spec…

人类如何从不同角度识别物体?你需要对「小样本学习」有所了解

来源:转载自公众号「雷克世界」微信号:ROBO_AI 编译:嗯~阿童木呀、多啦A亮 概要:在视觉层次结构的较低层次,不变性使你可以识别矩形或线条,即使它是倾斜、旋转或缩放的;而在更高的层次上&#x…

python链表和树实验报告_关于Python实现树结构和链表结构的一点想法

关于Python实现树结构和链表结构的一点想法Python由于内置的数据结构具有很高的灵活性,所以可以用很多种方式来构建树、图、链表等结构1. 树的Python实现python自然可以使用class来创建Node结点类和Trie类,然后通过left和right属性保存Node结点来实现树P…

摩尔定律已死?GPU会取代CPU的位置吗?

来源:全球人工智能 概要:CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。 京举办的NVIDIA GTC China会议中,无论是AI智能运算,还是服务器数据中心、智能城市&#xff…

mysql 终端模拟_mysql客户端模拟脏读、幻读和可重复读

如果操作一下时报出错误:在数据库中执行 SET GLOBAL BINLOG_FORMAT mixed;执行后可通过SELECT * FROM information_schema.GLOBAL_VARIABLES WHERE VARIABLE_NAME ‘BINLOG_FORMAT’ ;进行查看。通过客户端选择可用数据库:use db_test(模拟数据库)以下…

Nature Human Behavior:大脑对不公平的反应有助预测抑郁症

来源:生物帮、神经科技 概要:过去的研究已经表明,财富分配不均,即经济不平等,可能会促进抑郁症等精神疾病的增加。但是,这背后的机制却不为人知。 2017年10月2日,国际学术权威刊物自然出版集团旗…

mysql创建table w3c_MySQL ALTER命令

MySQL ALTER命令当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令。开始本章教程前让我们先创建一张表,表名为:testalter_tbl。 roothost# mysql -u root -p password;Enter password:mysql> use W3CSCHOOL;Datab…

这几家公司有个梦想:开发AI操作系统,让外行也成为人工智能大师

来源:科技行者 概要:未来几年人工智能会如何发展?除了阿尔法狗令人叹为观止的表现,人工智能确实也正在改变整个行业。但有一点我们是需要注意的,有必要让AI从总体上变得更加易于使用。 严格的说,Scot Barto…

mysql耦合_内聚与耦合

简单理解一下内聚和耦合。什么是模块模块就是从逻辑上将系统分解为更细微的部分,分而治之。复杂问题因为复杂性的问题,比较难解决,但是可以将复杂问题拆解为若干简单问题,逐个击破地解决这些简单问题,最后实现解决复杂…

mysql3.51 密码修改_mysql修改密码

刚初始化的数据库要做的步骤1 为root设置了密码2 删除默认用户3 删除默认的test库修改密码的方法1为管理员设置密码(开始没密码)mysqladmin -uroot password 12qwaszx;2 修改密码方法一: mysqladmin管理工具 (推荐使用)mysqladmin -uroot -p12qwaszx password c110123;注意有空…

Google CEO Sundar Pichai :“谷歌最大的威胁就是自身的成功”

作者:Dude 概要:10月9日,低调的皮柴哥接受了英国卫报的访问,在访谈期间,他分享了谷歌在人工智能上发展,也表达了对谷歌近年来发展的隐忧。 10月9日,低调的皮柴哥接受了英国卫报的访问&#xff0…

python自动客服排班_使用或工具的护士排班问题,在某些日子增加不同的轮班时间...

我正在从here修改代码,我希望能够为某一天添加不同长度的轮班(例如,我希望星期五/第4天只有2个轮班)。我的代码总是以错误代码结尾。我相信这是由于我设定的一些限制的内部问题。在我在类似的程序上看到了一些关于StackOverflow的帖子,但是找…

国防科技大学教授:殷建平——计算机科学理论的过去、现在与未来

来源:图灵人工智能殷建平 教授,博士生导师,国防科学技术大学计算机系主任。研究方向有:模式识别与人工智能、网络算法与信息安全。享受国务院政府特殊津贴。2015年被评为“万人计划”国家级教学名师。2009年被评为“全国优秀教师”…