【训练营】基于Hi3861—OpenHarmony Puppy - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 【训练营】基于Hi3861—OpenHarmony Puppy

简介:本项目中设计了一款基于鸿蒙Hi3861主控的十二自由度桌面级舵狗,MG90S舵机作为关节位控电机,PCA9685PW来管理16路舵机的控制。移动电源为2S航模电池,并采用BUCK型DC-DC降压电路。

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2022-06-21 21:22:09
更新时间: 2023-08-21 09:20:32
描述
# 更新日志 2022.7.11——— 足端拓展结构设计,贴同步带增大与地面摩擦。(已添加进STL压缩文件) ![足端修改.jpg](//image.lceda.cn/pullimage/5ku7vWSJrNvwlfIMxeat5FtwxbSpznhjpI7SN9uu.jpeg)
2022.8.7——— **腿部结构设计改动:** * 大腿+小腿加厚 * 足端拓展结构改动,无需同步带 * 关节处添加3×7×3mm轴承 ![单腿结构 - V2.0.png](//image.lceda.cn/pullimage/lbUaJvcIADrFBrgs6xsshPZH4oEyCSEObCoIbjMn.png) 2022.9.7——— **读研中** 项目推进延缓...... * 上传腿部V2.0模型 * * * # 1 项目简介 ``` 本项目中设计了一款基于鸿蒙Hi3861主控的十二自由度桌面级舵狗,选择MG90S型号9g舵机作为关节位控电机,采用PCA9685PW来实现16路舵机的驱动控制,具有MPU6050六轴加速度传感器模块接口。 移动电源为2S-35C航模聚合物锂电池,电机供电部分采用以MP2236型号DC-DC芯片展开的BUCK型DC-DC降压电路,其支持宽电压输入,最高输入电压18V,最高输出电流6A。 ``` **b站视频:** [OpenHarmony Puppy](https://www.bilibili.com/video/BV1LW4y1S7k6/?vd_source=f0ae748d0bc6d1bcb21353ea75351299)


![十二自由度舵狗.jpg](//image.lceda.cn/pullimage/eCiK1cIZP9iGGS9aYLoahhEgoiPcdBIAhVmOkydy.jpeg) # 2 器件选型 ### 2.1 主控MCU: * Hi3861:基于海思 Hi3861LV100 芯片的系统级封装模组,外观尺寸精小,支持鸿蒙嵌入式开发,可实现wifi通信。 - - - ### 2.2 舵机驱动管理: * PCA9685PW:基于IIC总线通信的12bit精度,16通道的PWM波输出,最高支持16路舵机的管理。 - - - ### 2.3 供电稳压部分: * 3.3V稳压LDO:SCJT1117-3.3。 * DC-DC BUCK降压电路芯片:MP2236,最高输入电压18V,最高输出电流6A。 **参考教学视频:** [b站:工科男孙老师 —— BUCK型DC-DC降压开关电源模块设计](https://www.bilibili.com/video/BV1Jv411P7Qc?spm_id_from=333.337.search-card.all.click)

- - - ### 2.4 额外接口: * IIC0接口; * IIC1接口; * MCU串口接口; * GPIO11~14引脚; - - - ### 2.5 未调用资源: * 六轴加速度传感器模块:MPU6050(拟打算从STM32移植MPU6050的通信代码,未完成...) * RGB灯珠:WS2812B-Mini; * 微型蜂鸣器:DET402G。 ##### 注:该部分焊上后,会导致按EN键后MCU输出乱码,而导致无法烧录固件。【暂未查明原因,故未调用。】 # 3 机械结构设计 ``` 设计软件:SolidWorks 2020 所述十二自由度四足舵狗总重量:570g 单腿采用并联腿结构,电机安装部分结构及单腿结构设计紧凑,以尽量减轻腿部重量与节省空间。 主要结构件部分均采用了FDM式3D打印,材质为PLA,大部分均可无支撑打印。 ``` **结构参考视频:** [DIY一条自己的机械狗,硬件图纸开源](https://www.bilibili.com/video/BV1DK4y1X7h4?spm_id_from=333.999.0.0&vd_source=f0ae748d0bc6d1bcb21353ea75351299) [微雪 12自由度 WAVEGO四足](https://www.bilibili.com/video/BV17u411X7td?spm_id_from=333.337.search-card.all.click&vd_source=f0ae748d0bc6d1bcb21353ea75351299)

### **3.1 设计特点:** * 三自由度并联腿结构 * 整体12自由度 * 3D打印结构 * 尾部可安装2.4G天线模块(如小辣椒直头) * PP端可安装电量显示模块 ##### 注:足端需要加防滑 ![p5.jpg](//image.lceda.cn/pullimage/hWMJp8Zagm8DLfpS5hG3MZs2Y4hKXhOFOCHk8vMi.jpeg) ![SW预览图.png](//image.lceda.cn/pullimage/DklJmQFZWwxplsxxGxCKO9ffwFKFkJSBEe8zG9OV.png) ![p4.jpg](//image.lceda.cn/pullimage/VlHS0HJs8PCPLcjqjvqY3go75LVOvAKX3JrT9DWw.jpeg) # 4 单腿运动学正逆解分析 ``` 此部分可参考b站up主:灯哥开源 的十二自由度正解、逆解几何法、足端摆线轨迹生成讲解视频。 ``` ### 4.1 正解推导: **参考教学视频:** [b站:灯哥开源 —— 机器狗12自由度正解](https://www.bilibili.com/video/BV1Gv41177gd?spm_id_from=333.337.search-card.all.click)

- - - ### 4.2 逆解推导: **参考教学视频:** [b站:灯哥开源 —— 机器狗12自由度逆解](https://www.bilibili.com/video/BV1jX4y1g7u6?spm_id_from=333.337.search-card.all.click)

- - - ### 4.3 单大小腿机构示意图: ![单腿机构简图.jpg](//image.lceda.cn/pullimage/fdFftK6UQa6tTJw32O9d3hFKXjaNaf9f1M4QJD8Y.jpeg) - - - ### 4.4 足端摆线轨迹生成 ``` 在数学中,摆线(Cycloid)定义:一个圆沿一条直线运动时,圆边界上一定点所形成的轨迹。 ``` [b站:灯哥开源 —— 足端摆线轨迹生成及MATLAB绘制](https://www.bilibili.com/video/BV1KQ4y1K7aV?spm_id_from=333.337.search-card.all.click&vd_source=f0ae748d0bc6d1bcb21353ea75351299)

![足端摆线公式.png](//image.lceda.cn/pullimage/I5Vl389PcKRB8bEDXKPDXRCBcMCmaYWwTWSJTIoi.png) ![摆线图像.png](//image.lceda.cn/pullimage/vza30halj8AsPZAp3EGcbLQkj9RaOCpTZ2pJphfg.png) - - - ### 4.5 Trot小跑步态规划 ``` Trot步态是一种动态步态,适用于中低速跑动,并且具有比较大的运动速度范围,另一个重要特征是在中等速度下的Trot步态具有最高的能量效率。这些优点使得Trot步态成为最常用的四足步态。 ``` **参考教学视频+文章:** [b站:灯哥开源 —— Trot小跑步态程序](https://www.bilibili.com/video/BV1YD4y1D7k6?spm_id_from=333.337.search-card.all.click&vd_source=f0ae748d0bc6d1bcb21353ea75351299) [CSDN:亦乐大大 —— 四足机器人的足端轨迹规划及步态规划](https://blog.csdn.net/weixin_45417246/article/details/115869015)

- - - ##### Trot步态周期图: ![Trot.png](//image.lceda.cn/pullimage/TllhRtmBh6oOPGeYZfiSGKhJQjegcQS1j4wbjSvm.png) # 5 软件算法设计 **参考教学网址:** [环境配置(Python 或C/C++)](https://robot.czxy.com/ohos/)

> Python开发环境:Pycharm > C/C++开发:Linux(Ubuntu)---> SSH <---(windows 10) Clion / VScode ### 5.1 底层驱动内容: * PWM舵机驱动:pca9685.c、pca9685.h; * WiFi通信配置:STA模式 + UDP通信(FreeRTOS的网络线程); - - - ### 5.2 运动控制内容: ###### 5.2.1 单腿运动学正逆解: * 单腿正解Forward Kinematics:FKIK.c、FKIK.h ——— void FK函数 * 单腿逆解Inverse Kinematics:FKIK.c、FKIK.h ——— void IK函数 ###### 5.2.2 姿态逆解控制: * 姿态逆解:Robot.c ——— void PosToPoint函数 * 翻滚角Roll逆解:Robot.c ——— void PosToRoll函数 * 俯仰角Pitch逆解:Robot.c ——— void PosToPitch函数 * 偏航角Yaw逆解:Robot.c ——— void PosToYaw函数 ###### 5.2.3 运动步态控制: * 足端摆线轨迹:Trot函数里... * Trot前后步态模式:Robot.c ——— void Trot函数 * Trot左右步态模式:Robot.c ——— void TrotRL函数 * Trot转向步态模式:Robot.c ——— void TrotTurn函数 # 6 上位机App设计 ``` 开发软件:Android Studio - 2021.1.1 基于Android端开发的App,其UI设计调用了Material与CircleMenu库,简约风设计。 目前菜单功共包含五部分: * WiFi信息检测; * Robot控制界面浏览; * UDP协议通信控制; * TCP协议通信控制(未开发完毕); * 设置Setting(未开发完毕)。 ``` **参考教学视频:** [b站:叫醒耳朵WakeUp —— 圆形动画按钮设计](https://www.bilibili.com/video/BV1sY4y1t74a?spm_id_from=333.999.0.0)

##### 注意:需要开启定位、通知权限,否则App无法调用Wifi相关功能。 ![rosdemo.png](//image.lceda.cn/pullimage/6H3J5TtzJ2ibKY4bgDJkGgiauxY9tmHkSCqhrXYx.png) ![tcp+udp.png](//image.lceda.cn/pullimage/z6JJUkFmujht5zS0Sasett2XATNXACvpU1oujbih.png) ### 控制界面: ![a0.jpg](//image.lceda.cn/pullimage/tcLQDhAky0dkwoXLfscob4awYPplcTaSc4O1P71E.jpeg) # 7.实物图片 ![p2.jpg](//image.lceda.cn/pullimage/0bnMxvWcflhLH7ZsjcgpL6WpTmt6jQYD0lWGATTC.jpeg) ![p6.jpg](//image.lceda.cn/pullimage/uUn9y2W2WBWZuozyjquG0QAqf7I0AwZgpKrmq6Jg.jpeg) ![p0.jpg](//image.lceda.cn/pullimage/68mg2Hoezwg6CWNoaGEuf4ZPZdCeRfy0SimJbrIP.jpeg) ![p3.jpg](//image.lceda.cn/pullimage/c4eUgle54t6CQzBGh476uUvcKSisxYvwzVrVYNOG.jpeg) # 现存问题 > 1.本项目中四足机器人在卧倒状态下站立、Trot前进后退步态时后腿无力。拟猜测是由于MG90S扭矩不足、质量批次等问题。 > (更换【更优秀的舵机】拟能解决问题); > 2.该机器人的各单腿运动之前需要标定偏差繁琐耗时,即舵机控制精度问题。 > (更换【更优秀的舵机】拟能解决问题); > 3.该机器人在运动过程中有左右两侧腿高度不对等的情况,同样即是调试问题,涉及舵机精度。 > (更换【更优秀的舵机】拟能解决问题); > 4.该机器人中部分舵机在执行动作后疯狂抖动,即舵机质量问题或供电问题(该板应该不存在供电不足问题)。 > (更换【更优秀的舵机】拟能解决问题); > 5.该机器人单腿机构各螺栓连接处需容易出现装配过紧或松,而导致单腿机构松垮或难以活动的情况。目前的优化方案是手拉动机构反复活动,以破坏打印件的内部螺纹,而保证零件间相对运动顺滑。 > (在单腿各关节处添加【微型轴承】拟能解决问题) √
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP