好久没写博客了,冒个泡。 四足机器人容错方面的运动控制很少被研究。现在能找到的,国内有上海交大做的特殊腿部结构的四足运动学容错方案,国外有韩国Jung-Min Yang所做的一系列的步态容错方法(很多都很相似,水了很多论文)。 在关节类机器人的容错领域,一般考虑的是关节受到故障后锁死的状况(因为非锁死故障问题太复杂了)。容错一般要求机器人在关节锁死故障发生后,运动任务依旧可以被有效执行。这
笔者比较懒,就直接采用图片的形式将公众号《混沌无形》中的文章以图片的形式搬运过来了,喜欢的读者可以关注“混沌无形”,阅读原文(原文提供PDF下载链接) 原文链接:https://mp.weixin.qq.com/s/AXXn1uz6DyETBpydC_5CJQ 喜欢的话,请关注公众号《混沌无形》哦! 喜欢的话,请关注公众号《混沌无形》哦!
1. 引言 前面文章已经介绍了机器人动力学基础以及牛顿欧拉法推导机器人动力学。这篇文章介绍拉格朗日法推导动力学的过程。 牛顿欧拉法和拉格朗日法求解动力学方程出发点是不同的。在牛顿欧拉法中因为我们曾经熟知牛顿第一和第二定律,因此它的难点主要在于各个连杆的速度,加速度等如何在连杆坐标系中表达出来。反观拉格朗日法,这种方法思路十分的直观和简单,它的难点在于我们难以接受其中的数学概念,比如广义坐标,
引言 在机械臂与环境之间进行力交互操作时,一定会引起接触力/力矩的变化。很多情况下,我们需要根据接触力的大小和规律对机械臂的下一步运动进行规划和控制,今天我们就一起来探讨下,机械臂与环境进行力交互时,接触力/力矩的变化规律。 获取数据 获取数据使用的是python中的write函数。首先打开一个文件,然后使用参数r+,通过覆盖写的方式将信息写入指定文件中。 with open('f
具体内容可以查看Mobile robot SUMMIT-XL STEEL机器人底盘控制学习 系列第三篇-2 ,这篇主要是把底盘部分以及整个系统的测试工作简单介绍一下。 ----------------------------------------------------------------------------------------------- 一、机器人控制系统总体框架设计
引言 在前面的章节中,我们讲解了柔顺控制原理,python微分运动求解,为后面求解位置导纳控制打下基础。今天我们来讲解下如何使用python在pybullet仿真环境中实现姿态导纳控制。 环境设置 在位置导纳控制那一章中,我们使用盆作为墙面,来测试轴碰撞前面后的导纳控制效果。在实际的控制中,我们首先在reset中,使用设置的M,B,K参数获得需要的微分方程,进而求得带外力符号的特解(自变量设置为固
前言:其实之前写的LineMod算法也好、patchLinemod或者设计的CT-LineMod算法,就是把机器人控制系统视觉部分的算法单独拎出来深入研究一下。机器人控制系统设计很多可以深入研究的领域,以我做的内容为例就包含视觉部分(6D位姿估计)、抓取部分(机械臂控制)、导航(SLAM),而这又可以进一步细分研究方向,如视觉部分CT-LineMod算法只是传统的模板匹配算法,诸如流行的PoseC
引言 在上一节的介绍中,我们讲解了姿态导纳控制的代码部分,在这一节中,我们将通过实际的实验,切实得感受姿态导纳控制的魅力。 首先控制机械臂沿末端连杆坐标系z轴前进,从机械臂轴第一次接触到盆开始,工具坐标系中力矩传感器采集到的力矩值便会不断增加,当最大的力矩值超过阈值后,开始进行姿态导纳控制。姿态导纳控制中得到的,是一个旋转轴,我们需要将旋转角度进行赋值。 正交接触 我们的第一个实验,就是开始进行姿
引言 在机器人控制中,关于旋转的表示上,有好几种不同的表示方式,今天我们来一一讲解,并通过pybullet验证他们之间的关系。 不同表示方式 旋转的表示方式,可以大致分为RPY角,欧拉角,四元数和轴角。 RPY角 首先解释字母: R:Roll 横滚 P:pitch 俯仰 Y:Yaw 偏航 从字母的顺序就可以知道旋转的次序:首先绕着x轴转,再绕着y轴转,最后绕着z轴转。但是需要注意的是RPY
概述 这个系列叫做pybullet工具坐标系位移和旋转,如题所示,这个系列讲述的是在pybullet仿真引擎中对沿机械臂工具坐标系移动和绕着机械臂工具坐标系的旋转的控制问题进行探讨。前两个章节讲讲pybullet中控制沿着机械臂的工具坐标系位移,和旋转。后面的章节将对这两种基本运动方式进行扩展,引入导纳控制等。今天我们首先来看,如何控制机械臂沿工具坐标系某一方向进行位移。 引言 注意,在这里
引言 机械臂的姿态变换,在这一节,主要讲述的是,机械臂绕着工具坐标系进行旋转,以及旋转特定角度的问题。 场景介绍 在机械臂旋转的这个任务中,和沿着某一特定方向运动类似,都需要初始化机械臂的位置和姿态,这里我们首先初始化机械臂的姿态为:轴向为笛卡尔世界坐标系的x轴。这里需要特别注意的是,和之前介绍的一样,当我们需要位置固定,仅姿态变化时,需要固定位置量,不能在每次运动时,使用当前获取的末端坐标
封面是OpenAI在 spinning up 中给出的分类,然而这已不足以囊括现有的SOTA算法,再次感慨AI领域发paper的速度。(然而在智能方面好像也没有推进很多,不过不积跬步无以至千里嘛) 为了让大家对 RL 的 SOTA 算法有一个直观的概念,我重新整理了一下 SOTA 算法目录,有些我已经在self-implement,有些写了相关的paper reading. Model-f
Preliminary of RL Ⅲ: on-policy, off-policy & Model-based, Model-free & Rollout on-policy & off-policy On-policy methods attempt to evaluate or improve the policy that is used to make dec
MIT Cheetah运动学建模主要是为了获得机器人运动过程中,腿部末端运动状态和关节运动状态之间的关系。你可以在源代码的legController和Quadruped两个类中找到相关运动学的模型,在此只给出推导过程,不分析源代码。 首先我们需要对Cheetah的腿部进行运动学建模,设置各关节的坐标系,如下图所示: 上图中左边是cheetah的本体坐标系及各腿部基坐标系之间的关系,从图中可
工具坐标系和工件坐标下是机器人正常工作中必备可少的两个坐标系。在描述关节与机器人末端的速度关系时,如果建模时未考虑工具及工件坐标系,求得的速度描述为法兰在基座下的描述。而实际关心的确是工具在工件下的速度描述。因此,需要确定法兰在基座下的速度描述与工具在工件下的速度描述之间关系。当然,如果建模时考虑工具及工件,求得的速度描述为工具在工件下的描述。 下面给出了两种情况下的法兰在基座下的速度描述与工具
机械臂姿态规划的插值通常不会采用欧拉角进行插值,因为欧拉角本质是姿态的一种描述,它与姿态之间的转换存在奇异位置。姿态的最好的表述形式是姿态矩阵,但姿态矩阵的控制变量太多(9个),不方便进行姿态插值,也无法保证姿态的连续性。这时候就需要想 了,姿态矩阵本质也是一种旋转矩阵,既然是旋转矩阵就有旋转轴和旋转角,那么我们只需要保持旋转轴不变,对旋转角度进行规划,不就可以实现对姿态的规划吗,而且也保
1. 李群和流形 首先,要明白李群和李代数是一种数学抽象概念,如同集合等概念一样,而并不就是机器人位姿这样具体的概念。而能够代表机器人位姿的SE(3)或SO(3)等就是具体的李群元素,如同自然数、负数等集合的具象化一样。 而某个李群G,定义为一个光滑的流形(manifold),由一个集合G和定义在该集合上的一个操作 组成,具体的定义就不再赘述了。 而流形可以理解为一个光滑、曲面和非线性的高
六维力传感器是机器人常用传感器之一。特别是工业机器人应用中,在工业机器人末端加装六维力传感器,实现阻抗/导纳控制、力位混合控制、拖动示教、力反馈遥操作等力控制方法是非常常见的。机器人工作过程中一般需要操作工具,工具会安装在传感器的下端。不同姿态情况下,由于重力作用(仅考虑静态或低速运动情况),末端工具会对传感器采集的数值有影响,不能完全反映末端作用力情况,还包括工具的重力的作用效果。因此为了准确反
机械臂动力学参数辨识 在前面的文章中,我们已经获得了机械臂各关节所受到的力和力矩的动力学方程,如下所示: (1) (2) 现令, , 则化简等式(1)可以得到, (3) 化简, (4) 因此,各关节力: (5) (6) (7) (8) (9) (10) 因此有: (11) 令 ,则有: (12) 由
首先,我们还是从熟悉的BCH近似公式开始。 1. BCH近似公式 前面已经介绍过BCH公式了,BCH公式表达的是两个矩阵的指数相乘 其中,[] 为李括号。 对应的有李乘积公式 1.1 旋转 考虑在优化中,更新量都为小量,可以用BCH公式近似 其中,Jr和Jl分别为SO3的右雅可比和左雅可比。 对于左右雅可比有 1.2 姿态 与SO3类似,有 对应的雅可
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信