引言 开局一张图 我来解释下图中线的含义,这个实际问题可以抽象为这样的模型: 圆柱表示机器人一个关节; 蓝色的线表示已经得到的机器人轴向方向,这里把它定义为z轴; 橙色的线表示空间中一个已经识别到的方向; 我们需要求解机器人这个关节的x轴方向 同时这里有两个必要的条件: 1、x轴一定在关节的面上; 2、我们希望x轴与空间中已经识别的橙色线共面。 分析 基于这两个要求,我们可以进一步分析: 1、x
引言 可能大家觉得这个题目有些奇怪,不过确实奇怪,哈哈哈。随便敲几行代码这个茶里茶气的说法是从我朋友那里得到的,觉得好玩,就起了一个这样的标题。 但是总归不能喧宾夺主,今天博客要讲的,是我之前会议论文中提到的一个关于“机器人姿态规划”方面的想法。 基于欧拉角---角速度的轨迹规划 这个算法的背景是: 当我们已知当前姿态,用R1表示,以及期望姿态,用R2表示。当然这里指的是机器人末端的姿态,那么我们
引言 在机械臂与环境之间进行力交互操作时,一定会引起接触力/力矩的变化。很多情况下,我们需要根据接触力的大小和规律对机械臂的下一步运动进行规划和控制,今天我们就一起来探讨下,机械臂与环境进行力交互时,接触力/力矩的变化规律。 获取数据 获取数据使用的是python中的write函数。首先打开一个文件,然后使用参数r+,通过覆盖写的方式将信息写入指定文件中。 with open('f
引言 在前面的章节中,我们讲解了柔顺控制原理,python微分运动求解,为后面求解位置导纳控制打下基础。今天我们来讲解下如何使用python在pybullet仿真环境中实现姿态导纳控制。 环境设置 在位置导纳控制那一章中,我们使用盆作为墙面,来测试轴碰撞前面后的导纳控制效果。在实际的控制中,我们首先在reset中,使用设置的M,B,K参数获得需要的微分方程,进而求得带外力符号的特解(自变量设置为固
引言 在前面两节中,我们分别介绍了柔顺控制的原理以及如何求解微分方程。经过柔顺控制章节的讲解,大家也能猜到我们要做的实验就是导纳控制。对,我们今天来看一下如何在pybullet中进行位置导纳控制。 原理 在进行实验之前,我们已经可以通过之前柔顺控制章节的讲解,了解了导纳控制的原理。本次实验就是基于导纳控制原理进行的操作。我们还是使用盆作为墙面,然后控制机械臂直行,让轴撞击墙。在得到初始规划的位置,
引言 在上一节的介绍中,我们讲解了姿态导纳控制的代码部分,在这一节中,我们将通过实际的实验,切实得感受姿态导纳控制的魅力。 首先控制机械臂沿末端连杆坐标系z轴前进,从机械臂轴第一次接触到盆开始,工具坐标系中力矩传感器采集到的力矩值便会不断增加,当最大的力矩值超过阈值后,开始进行姿态导纳控制。姿态导纳控制中得到的,是一个旋转轴,我们需要将旋转角度进行赋值。 正交接触 我们的第一个实验,就是开始进行姿
引言 柔顺控制作为一种机器人力接触类控制算法,因为其本身自带的柔顺性,被广泛应用到人机交互,机器人-环境交互的任务中。今天我们再一次就柔顺控制相关基础问题进行讲解。在前面的章节中,我们从认识的角度讲解了姿态导纳控制相关问题---机器人柔顺控制及其姿态转换。 从大的分类来看,机器人柔顺控制主要分为阻抗控制和导纳控制两类。对于阻抗控制来说,其输入是位置信息,输出是机器人实际控制力;而导纳控制则正相反,
引言 在机器人控制中,关于旋转的表示上,有好几种不同的表示方式,今天我们来一一讲解,并通过pybullet验证他们之间的关系。 不同表示方式 旋转的表示方式,可以大致分为RPY角,欧拉角,四元数和轴角。 RPY角 首先解释字母: R:Roll 横滚 P:pitch 俯仰 Y:Yaw 偏航 从字母的顺序就可以知道旋转的次序:首先绕着x轴转,再绕着y轴转,最后绕着z轴转。但是需要注意的是RPY
概述 这个系列叫做pybullet工具坐标系位移和旋转,如题所示,这个系列讲述的是在pybullet仿真引擎中对沿机械臂工具坐标系移动和绕着机械臂工具坐标系的旋转的控制问题进行探讨。前两个章节讲讲pybullet中控制沿着机械臂的工具坐标系位移,和旋转。后面的章节将对这两种基本运动方式进行扩展,引入导纳控制等。今天我们首先来看,如何控制机械臂沿工具坐标系某一方向进行位移。 引言 注意,在这里
引言 机械臂的姿态变换,在这一节,主要讲述的是,机械臂绕着工具坐标系进行旋转,以及旋转特定角度的问题。 场景介绍 在机械臂旋转的这个任务中,和沿着某一特定方向运动类似,都需要初始化机械臂的位置和姿态,这里我们首先初始化机械臂的姿态为:轴向为笛卡尔世界坐标系的x轴。这里需要特别注意的是,和之前介绍的一样,当我们需要位置固定,仅姿态变化时,需要固定位置量,不能在每次运动时,使用当前获取的末端坐标
pybullet进行UR5机械臂环境的搭建,搭建的环境一般用于强化学习训练,这里采用gym框架结构。也就是需要有env.step,env.reset等。接下来我将分块介绍每个部分的内容。 env.reset 这个部分实现的功能就是在每次训练开始的时候初始化环境以及类的成员变量。第一块主要是导入pybullet的环境设置,第二部分首先设置一个离目标点差不多远的位置,第三部分我设置了一个随机落点的函数
一、 在机器人位姿变换领域一个常识就是对于旋转来说,是不可交换次序的,而位置变换是可以交换位置的。 但是即使这样,我们也经常会陷入一个误区。例如绕x轴旋转30度,再绕着z轴旋转45度,最后绕着x轴旋转-30度。以公式表示就是下面这种形式: R=rot_x(30)*rot_z(45)*rot_x(-30) 因为我们在单纯看到这个矩阵乘法的公式,会从矩阵相似到矩阵相等中分析,以求通过A和B都是旋转矩
内容列表 开篇 简介 溯源 阻抗和导纳 姿态变换 其他 参考链接 开篇 Hello小伙伴们大家好,今天来聊一聊机器人柔顺控制以及其中的姿态变换相关的内容。 关于柔顺控制这个名词相比研究机器人的都不陌生,那到底柔顺控制在描述一个什么事呢? 我们知道,在工业机器人运动过程中,我们会对其进行轨迹规划,然后使用控制算法,比如pid等对其进行控制,让机器人实现跟踪期望轨迹的功能。但是当我们讨论协
机器人相关
博客
泡泡
积分
勋章
matlab非线性等式约束优化求解机械臂最优坐标方向
关于我随便敲了几行代码就验证了算法的那些事
姿态导纳控制---代码升级&&接触力/力矩数据特征分析
柔顺控制---pybullet姿态导纳---代码分析(四)
柔顺控制---pybullet位置导纳(三)
柔顺控制---pybullet姿态导纳---结果分析(五)
柔顺控制---原理介绍(一)
机器人旋转的不同表示方式对比
pybullet工具坐标系位移和旋转---特定方向位移(一)
pybullet工具坐标系位移和旋转---旋转(二)
pybullet之UR5轴孔装配环境搭建
机器人旋转分析之A^(-1)BA!=B
机器人柔顺控制及其姿态转换
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信