一个外贸网站要多大的空间比较好,网页设计素材加工,广州软件开发工资怎么样,国家房管局官网查询系统目录
概述#xff1a;
1、硬件组成
2、通信速率
3、通信协议
4、mbedOS 概述#xff1a;
以1条腿进行设计#xff0c;其它腿也一样#xff1a; 腿部硬件组成
1、硬件组成
1#xff09;UP board计算机板卡#xff08;Linux OS#xff09;#xff1a;
腿部控制器…目录
概述
1、硬件组成
2、通信速率
3、通信协议
4、mbedOS 概述
以1条腿进行设计其它腿也一样 腿部硬件组成
1、硬件组成
1UP 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算法。 FOCField-Oriented Control磁场定向控制是一种控制方法用于精确控制电动机的速度和扭矩。它常用于控制电动机中的磁场方向和磁场强度以实现高效能和精确控制。 在机器人中FOC算法常用于控制电机以驱动关节和执行器。下面是机器人中应用FOC算法的基本步骤 确定电机参数首先需要获取电机的参数包括电感、电阻、惯性等。这些参数将用于计算控制算法中的各个参数值。 电流控制为了实现FOC算法我们需要对电机的两相电流进行控制。为此使用PIProportional-Integral比例积分控制器来计算电压引导电机电流。通过调整PI控制器的增益值可以实现对电流的精确控制。 磁场定向通过计算电机角度和速度执行磁场定向控制。磁场定向控制是指将电机中的磁场方向与控制算法中的期望方向相匹配。通过控制电机的磁场方向可以使电机在特定的速度和扭矩条件下运行。 速度闭环控制为了实现更精确的速度控制可以使用速度闭环控制。这将利用编码器或传感器来提供电机的实际速度反馈然后与期望速度进行比较并相应地调整控制策略。 动态响应和调整FOC算法还可以根据机器人的动态需求进行实时调整。根据控制目标和机器人的操作环境可以进一步优化控制算法的参数和增益以实现所需的动态响应。 总的来说FOC算法是一种在机器人电机控制中常用的精确控制方法。通过控制电机的磁场方向和强度结合速度闭环控制和动态调整FOC算法可以实现高效能和精确的机器人动作控制。 数据转换板电路板
4IMU传感器
用的是串口通信每个STM32还有独立串口通信用于模块的设置与debug。 IMU传感器示意图
5电机控制器
硬件层面的信息如下
24V供电、40A峰值相电流由于电机热力学限制实际数值低于40A、CAN总线通信
接收数据转换板转发来的信息力矩、位置、速度及位置和速度的增益并且上传反馈信息位置、速度以及基于电流环测量的扭矩最大通信频率4kHz/驱动器数目 可通过增加CAN总线数目扩大通信带宽 电机控制器
MCU最小系统–STM32F446RE MCU最小系统电路图 三相驱动桥
6位置传感器磁编码器 磁编码器安装位置 编码器电路图
7STM32和UP board供电系统 24V 5ah电池右侧的外壳被移除显示了内置的BMS输出端子和18650电池 供电板PCB
机器人供电板产生隔离的5V逻辑电源给腿和计算机供电并有直通晶体管实现电机电源和逻辑电源的通断。电源的底面(右)安装FASTON端子与内置到电池相匹配。
2、通信速率
每路CAN的通信配置是1M。数据转换板用两个STM32是因为带宽不够, 每个STM32有两路CAN 每一路负责三个电机的通讯才达到1000Hz, 若一路负责两条腿六个电机就达不到。数据转换板和UP board通过SPI通信的时钟为12M通信频率为1000hz 3、通信协议
can格式每帧数据8个byte。数据转换板-腿部控制器STM32 指令内容(8字节)
位置指令: 16bit速度指令: 12bitkp: 12bitkd: 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 具有以下特点和功能 低功耗mbedOS 设计用于低功耗设备在处理器和外设之间实现了有效的电源管理以延长电池寿命。 硬件抽象层mbedOS 提供了硬件抽象层HAL使开发人员能够轻松访问和控制硬件资源无需关心底层细节。 安全性mbedOS 提供了强大的安全功能包括加密、认证和安全连接以保护物联网设备和数据的安全性。 连接性mbedOS 支持各种网络连接包括Wi-Fi、蓝牙、以太网和移动网络使物联网设备能够与云服务和其他设备进行通信。 实时性mbedOS 提供了实时性能能够处理实时任务和事件适用于对时间敏感的应用。 设备管理mbedOS 提供了设备管理功能使开发人员能够远程管理和监控物联网设备包括固件升级和故障排除。 开发工具mbedOS 配套提供了丰富的开发工具包括集成开发环境IDE、调试器和仿真器以简化开发流程。 总的来说mbedOS 是一个为物联网设备和嵌入式系统提供的开源操作系统具有低功耗、硬件抽象层、安全性、连接性、实时性和设备管理等特性。它简化了物联网设备的开发和部署过程并提供丰富的开发工具和资源。