发作品签到
专业版

【训练营】基于Hi3861—OpenHarmony Puppy

工程标签

1.2w
0
0
52

简介

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

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

开源协议

GPL 3.0

创建时间:2022-06-21 13:22:09更新时间:2022-09-07 06:59:17

描述

更新日志

2022.7.11———
足端拓展结构设计,贴同步带增大与地面摩擦。(已添加进STL压缩文件)
足端修改.jpg


2022.8.7——— **腿部结构设计改动:**
  • 大腿+小腿加厚
  • 足端拓展结构改动,无需同步带
  • 关节处添加3×7×3mm轴承
    单腿结构 - V2.0.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



十二自由度舵狗.jpg

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降压开关电源模块设计


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一条自己的机械狗,硬件图纸开源
微雪 12自由度 WAVEGO四足

3.1 设计特点:

  • 三自由度并联腿结构
  • 整体12自由度
  • 3D打印结构
  • 尾部可安装2.4G天线模块(如小辣椒直头)
  • PP端可安装电量显示模块
注:足端需要加防滑

p5.jpg
SW预览图.png
p4.jpg

4 单腿运动学正逆解分析

此部分可参考b站up主:灯哥开源 的十二自由度正解、逆解几何法、足端摆线轨迹生成讲解视频。

4.1 正解推导:

参考教学视频:
b站:灯哥开源 —— 机器狗12自由度正解


4.2 逆解推导:

参考教学视频:
b站:灯哥开源 —— 机器狗12自由度逆解


4.3 单大小腿机构示意图:

单腿机构简图.jpg


4.4 足端摆线轨迹生成

在数学中,摆线(Cycloid)定义:一个圆沿一条直线运动时,圆边界上一定点所形成的轨迹。

b站:灯哥开源 —— 足端摆线轨迹生成及MATLAB绘制


足端摆线公式.png
摆线图像.png


4.5 Trot小跑步态规划

    Trot步态是一种动态步态,适用于中低速跑动,并且具有比较大的运动速度范围,另一个重要特征是在中等速度下的Trot步态具有最高的能量效率。这些优点使得Trot步态成为最常用的四足步态。

参考教学视频+文章:
b站:灯哥开源 —— Trot小跑步态程序
CSDN:亦乐大大 —— 四足机器人的足端轨迹规划及步态规划


Trot步态周期图:

Trot.png

5 软件算法设计

参考教学网址:
环境配置(Python 或C/C++)

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 —— 圆形动画按钮设计

注意:需要开启定位、通知权限,否则App无法调用Wifi相关功能。

rosdemo.png
tcp+udp.png

控制界面:

a0.jpg

7.实物图片

p2.jpg
p6.jpg
p0.jpg
p3.jpg

现存问题

1.本项目中四足机器人在卧倒状态下站立、Trot前进后退步态时后腿无力。拟猜测是由于MG90S扭矩不足、质量批次等问题。
(更换【更优秀的舵机】拟能解决问题);
2.该机器人的各单腿运动之前需要标定偏差繁琐耗时,即舵机控制精度问题。
(更换【更优秀的舵机】拟能解决问题);
3.该机器人在运动过程中有左右两侧腿高度不对等的情况,同样即是调试问题,涉及舵机精度。
(更换【更优秀的舵机】拟能解决问题);
4.该机器人中部分舵机在执行动作后疯狂抖动,即舵机质量问题或供电问题(该板应该不存在供电不足问题)。
(更换【更优秀的舵机】拟能解决问题);
5.该机器人单腿机构各螺栓连接处需容易出现装配过紧或松,而导致单腿机构松垮或难以活动的情况。目前的优化方案是手拉动机构反复活动,以破坏打印件的内部螺纹,而保证零件间相对运动顺滑。
(在单腿各关节处添加【微型轴承】拟能解决问题) √

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
PuppyControl.apk
84
2
运动演示.mp4
632
3
步态演示.mp4
659
4
app演示.mp4
55
5
十二自由度舵狗-STL文件.zip
152
6
运动演示2.mp4
514
7
MyPuppy.zip
155
8
.大小腿装配-V2.STEP
92
9
腿部模型 V2.0.STEP
92
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航