编辑器版本 ×
标准版

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

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

3、支持简单的电路仿真

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

专业版

1、全新的交互和界面

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

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

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

专业版 【训练营】基于Hi3861模组—Harmony Puppy

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

开源协议: GPL 3.0

发布时间: 2022-08-08 09:57:09
  • 3.7k
  • 36
  • 49
描述

更新日志

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

2022.8.7———
腿部结构设计改动:

  • 大腿+小腿加厚
  • 足端拓展结构改动,无需同步带
  • 关节处添加3×7×3mm轴承
    单腿结构 - V2.0.png

1 项目简介

   本项目中设计了一款基于鸿蒙Hi3861主控的十二自由度桌面级舵狗,选择MG90S型号9g舵机作为关节位控电机,采用PCA9685PW来实现16路舵机的驱动控制,具有MPU6050六轴加速度传感器模块接口。

移动电源为2S-35C航模聚合物锂电池,电机供电部分采用以MP2236型号DC-DC芯片展开的BUCK型DC-DC降压电路,其支持宽电压输入,最高输入电压18V,最高输出电流6A。

b站视频:
Harmony 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.该机器人单腿机构各螺栓连接处需容易出现装配过紧或松,而导致单腿机构松垮或难以活动的情况。目前的优化方案是手拉动机构反复活动,以破坏打印件的内部螺纹,而保证零件间相对运动顺滑。
(在单腿各关节处添加【微型轴承】拟能解决问题) √

设计图
原理图
1 /
PCB
1 /
暂无
添加到专辑 ×

加载中...

温馨提示 ×

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

  • 153 6159 2675

服务时间

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

  • 开源平台公众号