当前位置: 首页 > news >正文

人形机器人强化学习入门实践1part

计划1~3天学习完成:Day1
TodoList:
        1)大纲分布时间安排,先初步浏览,制定计划内容
        2)配置环境需要梳理

Lesson1 人形机器人强化学习入门实践

1)为什么选择强化学习


<<Learning robust perceptive locomotion for quardrupedal robots in the wild>>
四足式强化学习已经解决了全地形,全场景的各种运动问题。
        1.1)强化学习已经解决了,各种机器热的基础运动问题,强化学习可以很快,学会行走技能,而且具备较好的抗干扰能力,远远超过MPC。
        1.2)强化学习开源更加成熟,移植和部署都更加简单。
        1.3)强化学习开源式爆发式增长,更容易根据论文复现。
        1.4)强化学习发展的天花板还很高。
强化学习门槛比MPC要低,MPC需要很多理论的基础,数学要好,内容要多,所以推荐强化学习

2)需要生命基础


        数学基础:线性代数,概率论
        机器人学:运动学,动力学,控制理论基础(机械臂动力学理论学习)
        AI:深度学习,强化学习基础
        编程:python,C++
入门容易,进阶则需要较好的数学,AI功底,阅读大量文献和代码尝试。

3)课程简介

目的:介绍人形机器人强化学习基础行走,操作过程。希望大家能够参照着能够让自己的人形机器人走起来,主要式入门,节省时间,网上开源资料和代码较多,完全可以通过学习开源信息入门。
软件:issac gym(用于训练),mujoco(用于sim2sim,sim2real)
大纲:截图

4)公开课

a)强化学习的数学原理--西湖大学

【强化学习的数学原理】课程:从零开始到透彻理解(完结)_哔哩哔哩_bilibili

b)台湾大学--李宏毅

c)李沐--动手学深度学习

深度强化学习
d)机器人学基础
GitHub - yifeidong0/robot-dynamics: Course Work of Robot Dynamics at ETH Zurich

e)南科大机器人课程
【lec8-2:Mujoco Tutorial-Mujoco建模原理,从零构建机器人仿真的python案例】

f)DeepMind x UCL 深度学课程2020

g)David Sliver 深度强化算法学习

h)UC Berkeley 深度无监督学习 CS294

i)强化学习概念,模范学习概念

j)深度强化学习数据--中文彩色

k)mujoco参考资料

Lesson2 强化学习人形开源代码

1)仿真训练

各家公司开源的gym

2)部署
cpu torch
GitHub - fan-ziqi/rl_sar: Simulation verification and physical deployment of robot reinforcement learning algorithms, suitable for quadruped robots, wheeled robots, and humanoid robots. "sar" represents "simulation and real"https://github.com/fan-ziqi/rl_sar直接在CPU上运行,不需要cuda可以参考,sim2sim的mujoco仿真之后,gazebo仿真意义不大,而且感觉gazebo仿真人形不是那么明白也没那么好

onnx

众擎
GitHub - engineai-robotics/engineai_humanoid
众擎代码比较完整,比较适合落地,部署
智元
GitHub - AgibotTech/agibot_x1_infer: The inference module for AgiBot X1.
宇树
GitHub - unitreerobotics/unitree_rl_gym
域随机化可能相对来说比较简单,可以看下代码框架以及reward,不需要部署。
ASE
playground.mujoco.org
Open_Duck 舵机只是来玩的,技术含量不高,算法得不到提高
https://github.com/apirrone/Open_Duck_Mini
ASAP 基本行走可以不需要,但是跳舞,肢体动作需要看下
github.comhttps://github.com/LeCAR-Lab/ASAP

Lesson3 人形机器人研发流程

1)目标转换成指标
目的:科研教学,表演,零部件产业链,工厂家庭作业
指标:尺寸大小,负载,关节模组,功耗选择,明确目标选择对标产品
可以买一台成熟的样机,可以省去几次迭代,买样机需要注意,买家秀和买家秀的开放程度,可以关注网上的拆机视频之类的,关节模组选择十分重要,公司调研可以看下

2)仿真
mujoco运动学,动力学仿真
踝关节并联机构工作空间的计算,要避开非线性区间
仿真在设计时候尽可能介入,别在样机完成后再接入
3)结构设计
身高大小尺寸大概确认
腿的自由度数--6 (一般都是)or 5
踝关节的设计--并联,结构紧凑
膝关节的设计-- 电机是否上移动,尽可能上移
髋关节的设计--波士顿动力,三角形结构
脚的设计--脚的尺寸是和踝的出力相关的,脚底加橡胶层(mit humanoid 和星动纪元),脚的尺寸一般要迭代几次
系统刚度要够,减重永远是第一位,10年前 谐波-电机-SEA(减少谐波齿轮冲击),MIT开源直驱发展
要重视关节的零点设计,不要后期肉眼标零
在初期腰部的关节都用不到,可以先用结构件代替,逐步增加复杂度
感知模块--深度视觉,激光雷达,参考资料--
【解析Spot机器人】
解析Spot机器人_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1ZP4y1J7xk/?spm_id_from=333.337.search-card.all.click宇树G1机器人产品方案
(99+ 封私信 / 80 条消息) 宇树G1机器人 产品方案 - 知乎https://zhuanlan.zhihu.com/p/241088224774)URDF导出问题

系统辨识一般比较麻烦,批量生产的话,可以花时间精力研究。
一般设计好了,对
5)关节模组选型
不要被卖家秀误导,产品性能,质量把控需要关注
建议搭建一个抬腿跳跃测试台,测试模组力位控制精度,动态响应能力,特斯拉展示过一次,可以参考
关节模组:谐波电机(紧凑,大减速比,但效率会损失,关节的摩擦较大,需要额外力传感器,抗冲击能力差),行星电机(宇树,mit,行星电机),丝杆电机(特斯拉,小鹏,技术难度大)
6)系统软件开发
配置驱动器,电流环或力矩环带宽参数整定,响应是多少合适(一般厂家帮忙标定)
驱动器,现在都是混合控制模式,而且集成到电机内部
unbuntu 系统--X86的nuc,jeston都可以
        系统安全保护---错误则进入高阻尼模式,姿态欧拉角,角速度,关节角度,关节速度,关节力矩超限保护,下发指令限制幅度(强化学习下发的目标角度,可能会超过实际的关节限制,目前角度和实际角度乘以kp参数,表示目标力的概念)
        并联关节处理---对于脚踝,训练的时候会对实际的pitch,roll进行训练,部署的时候再把pitch和roll的力解算到俩个电机上。强化学习,额外记得转换时候,刚度也要转换,另外也可能要线性化处理,
参考文献《On the Comprehensive Kinematics Analysis of a Humanoid Parallel Ankle Mechanism》

(99+ 封私信 / 80 条消息) 双足机器人踝部(机械臂腕部)二自由度并联机构正逆运动学求解 - 知乎

训练时候,并对并联不把并联拆开,只看pitch和roll串联部分,训练好后,再把pitch roll再解算到电机部分,做下发控制,还有额外的转换,比如刚度转换,还需要线性化处理

7)训练调试
        Step1)采取issac gym进行训练,要根据实际的样机参数修改,噪声与域随机化的数值。进行训练
        Step2)训练好后,在 mujoco sim2sim 进行验证
        Step3)进行部署,先把腰部固定,机器人悬空,单关节摆动腿,与仿真的力进行对比,有没有异常,速度,位置,跟踪是不是合适的
        Step4)pd 关节站立,测试电机没有异常,pd站立没有问题,说明电机没有问题
        Step5)强化学习踏步,可以逐步增加kp,从他的0.1倍逐渐增加,如果出现问题,打印obs数据和sim2sim的数值对比。
一般来说issac训练个一俩百次,像宇树训练1000~2000次,很快就能走起来

Lesso4 重点关注的团队

刚开始进入领域需要把握好方向,怎么把握好方向,就是站在巨人肩膀上(研究别人公开的成果),减少试错成本

足式运动系列
1-UC Berkeley cassie
ijrr的文章:Reinforcement Learning for Versatile, Dynamic, and Robust Bipedal Locomotion Control
[2401.16889] Reinforcement Learning for Versatile, Dynamic, and Robust Bipedal Locomotion Controlhttps://arxiv.org/abs/2401.168892-eth anymal c 苏黎世理工
《Learning robust perceptive locomotion for quadrupedal robots in the wild》
(99+ 封私信 / 80 条消息) 略读22SR《Learning robust perceptive locomotion for quadrupedal robots in the wild》 - 知乎https://zhuanlan.zhihu.com/p/583242760全地形,全场景行走
3-mit mini cheetach
不建议入局MPC,强化学习
4-XUE BIN PENG
Xue Bin (Jason) Penghttps://xbpeng.github.io/5-Pieter Abbeel
Pieter Abbeel--UC Berkeley--Covariant--Gradescopehttps://people.eecs.berkeley.edu/~pabbeel/        在感知抓取方面更多,感知-规划后面是个很好的方向,融入视觉或者大语言做自主规划


Lesson5 课程资料


 

http://www.dtcms.com/a/324452.html

相关文章:

  • stm32没有CMSIS文件
  • Redis如何实现一个分布式锁?
  • 第4章 程序段的反复执行3 do-whiile语句P139练习(题及答案)
  • [Linux]学习笔记系列 -- [arm][lib]
  • C++的嵌套结构体
  • Deep Learning MNIST手写数字识别 Mac
  • 【从源码角度深度理解 CPython 的垃圾回收机制】:第2课循环引用:标记清除-分代回收
  • 7.企业级AD活动目录的备份与恢复策略
  • 【celeba】-数据集的介绍
  • 驱动电路设计
  • Ollama+Deepseek+Docker+RAGFlow打造自己的私人AI知识库
  • 【软件测试】性能测试 —— 工具篇 JMeter 介绍与使用
  • AI质检数据准备利器:基于Qt/QML 5.14的图像批量裁剪工具开发实战
  • 升级 JDK 17 碰到的请求 https 问题
  • 从0开始的中后台管理系统-5(userList页面功能实现)
  • 自测电脑有没有木马
  • 深度学习周报(8.4~8.10)
  • 使用binutils工具解析目标文件符号表(叁)
  • Datawhale AI夏令营 多模态RAG环境问题
  • 海关 瑞数 失信企业 逆向 分析 后缀 rs
  • es查询小结
  • CSS优先级、HTTP响应状态码
  • BGP综合大实验
  • 人工智能-python-机器学习-模型选择与调优实战指南:从交叉验证到朴素贝叶斯分类
  • 为wordpress顶部header.php文件中调用不同的标题和摘要
  • 学习中的杂项知识
  • 在Word和WPS文字一页中实现一栏与多栏混排
  • 打靶日常-upload-labs(21关)
  • MyBatisPlus插件原理
  • Java 虚拟机运行时数据区组成详解