自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

行者无疆的博客

不必仰望别人,自己亦是风景!

  • 博客(52)
  • 资源 (4)
  • 收藏
  • 关注

原创 机器人学(五):机器人工具坐标系标定

本文介绍了一种通用的标定机器人末端工具坐标系的方法,分别具体介绍了平移和旋转的标定,过程清晰明了,方法简单又实用。

2022-10-27 16:53:28 3067

原创 机器人学(四):位姿的直线插补

本文主要解决的问题是已知起始和终止位姿的齐次变换矩阵,插补出中间的位姿,要求直线插补,并且姿态变化平滑。采用了螺旋表示法,将位置和姿态进行分解,通过矩阵的对数和指数运算来插补中间点的姿态。该方法的优点是插补出的轨迹非常直,而且姿态变化平滑。

2022-10-20 13:46:44 1179

原创 机器人学(三):手眼标定(eye to hand)

主要讲了eye-to-hand的手眼标定算法,从原理到方程解法再到算法实现,简单明了,容易在实际系统中进应用

2022-06-15 22:27:22 1392

原创 外骨骼机器人(五):步态分析之正常步态

研究病理步态之前,需要了解正常步态,作为判断标准。但是需要记住两个问题:1.“正常”因人而异,性别、年龄、身体情况都需要考虑在内,因此,需要对不同的个体选择合适的正常标准;2.即使病人的步态与正常步态有某种不同,这也不能说明这是不可取的,也不能说明应该把它变成“正常”步态。许多步态异常是对病人的一些问题的一种补偿,尽管异常,但它们仍然是有用的。步态周期的定义是连续为两次发生重复行走事件之间的时间间隔。尽管可以选择任何事件来定义步态周期,但通常使用一只脚接触地面的瞬间(“初始接触”)是方便的。

2023-03-08 22:40:18 969 3

原创 模型预测控制(MPC)解析(十一):变量约束的预测控制

之前的章节中介绍了如何在MPC控制中加入约束,以及如何将有约束的MPC问题转化成优化问题,以及二次规划问题的解法。这一节中,就通过几个例子来说明,对控制量u(k)有约束的系统如何实现MPC控制。其中控制量的约束包括增量约束和幅值约束,这些约束情况在实际应用场景中非常常见。

2022-08-21 13:11:24 2775 2

原创 外骨骼机器人(七):标准步态数据库

国际生物力学学会的生物力学数据资源索引网站中,这个网站里面包括了人体的运动数据、压力数据、肌肉骨骼模型数据等生物力学相关的数据,本文从这个网站中摘取下肢关节运动数据,并进行处理。分别介绍了如何从数据来源获取原始数据文件、如何从原始文件中提取有用的数据、如何处理原始数据使其成为平滑的轨迹。...

2022-07-30 12:11:53 3974 4

原创 模型预测控制(MPC)解析(九):二次规划的数值解(下)

上一篇讲了等式约束和不等式约束的二次规划解法,其中不等式约束的解法使用的是活动集方法。如果约束是线性独立的,而且独立约束个数小于或等于目标变量个数,那么算法是收敛的。这是该算法在实时应用中的关键优势之一,因为该算法从病态约束问题中自动恢复的能力对于系统运行的安全性至关重要。如果约束是线性独立的,而且独立约束个数小于或等于目标变量个数,那么算法是收敛的。这是该算法在实时应用中的关键优势之一,因为该算法从病态约束问题中自动恢复的能力对于系统运行的安全性至关重要。.........

2022-07-24 18:16:28 1275

原创 机器人学(二):动力学参数辨识

本文的主要内容是介绍一种机器人动力学参数辨识方法,以一个二自由度平台为例,介绍了理论推导过程,只需要获取关节角度和估算力矩,就能辨识出机器人的动力学参数。这种方法也可以轻松用于更高维度的机器人。有过机器人控制工程经验的都知道,机器人的动力学参数对于提高控制系统性能是多么重要。然而,通常我们都是根据机器人3D模型得到动力学参数,往往非常不精确。因此,如果能通过实验的方法辨识出实际机器人动力学参数,这将有助于控制算法的设计。...

2022-05-27 22:37:10 2505

原创 机器人学(一):构型空间(C-Space)

通常情况下,我们对一个机器人提出的最根本问题是,它在哪?这个问题问的是机器人上每一个点的位置在哪。答案就是机器人构型(configuration):机器人上所有点的位置的表示方法。因为机器人使用的是刚性且形状已知的连杆,所以只需要少量数字就能表示机器人构型。例如,旋转的门的构型,用一个角度就能表示;平面上一点的构型,用两个坐标(x,y)就能表示;平放在桌面的硬币,用(x,y)表示硬币中心的位置,用θ表示硬币上一点的方向,三个变量就能表示其构型。

2022-05-04 23:33:31 7395

原创 模型预测控制(MPC)解析(一):模型

本文首先使用生活中的例子讲解预测控制的原理,然后建立状态空间模型,推导出增量式控制的增广模型,然后建立代价方程,将控制问题转化成优化问题,通过解析解的方式推倒出最优解,最后使用MATLAB进行仿真,验证了正确性。...

2022-04-03 23:19:44 17131 2

原创 模型预测控制(MPC)解析(十):弹簧质量阻尼的MPC仿真

之前的博客都是讲的理论,现在以一个实际控制例子进行仿真分析。弹簧质量阻尼系统是最典型的二阶系统,本文就用MPC算法来控制弹簧质量阻尼系统。首先建立弹簧质量阻尼系统的模型,然后将连续时间模型转换成离散模型,推倒预测和优化方程,将控制问题转化成标准二次型问题,分别使用解析法和数值法两种优化求解方式,最后用Matlab进行了单位阶跃响应MPC控制仿真。文末给出了仿真源码的地址。一、弹簧质量阻尼系统1.1 数学模型弹簧质量阻尼系统如下图所示:图1 弹簧质量阻尼系统............

2022-03-26 15:49:19 4805 1

原创 四足机器人(二):Hopf振荡器

Hopf振荡器作为中枢模式发生器(CPG)模型的一种方法,在四足机器人、双足机器人、外骨骼机器人的步态控制中具有重要应用。本文首先介绍了Hopf振荡器的基础知识,包括其基本数学模型,并使用Matlab进行对其输出信息进行动态仿真;分析了振荡器初始值选取与参数之间的关系;振荡器各个参数对动态特性的影响进行了仿真分析。另外对多个振荡器耦合的算法进行了分析,并且通过仿真进行验证。最后,介绍了一种频率自适应振荡器的学习律,这种振荡器可以学习输入信号的频率,对其进行了仿真分析。文末给出了所有仿真源码的地址。

2022-03-24 22:48:04 2251 1

原创 外骨骼机器人(六):阻抗控制

刚性环境中,比较理想的混合运动-力控制要求机器人阻抗达到两种极端情况:理想的运动控制要求高阻抗(在外力干扰下,几乎没有运动的变化);而理想的力控制要求低阻抗(在运动干扰下,力几乎没有变化)。实际上,机器人可实现的阻抗范围是有限的。本文探讨的是阻抗控制问题,也就是让机器人末端执行器呈现特定质量、弹簧和阻尼器特性。例如,用作触觉手术模拟器的机器人可以模拟虚拟手术器械与虚拟组织接触的质量、刚度和阻尼特性。

2022-03-11 10:54:37 1942

原创 Serial Scope——基于QCustomPlot的串口虚拟示波器开发过程

周末撸了一个串口虚拟示波器,之前用别人开发的经常有bug,而且也不灵活,没有源码什么都改不了,所以决定用一个周末自己开发一个来玩玩,在这个博客里记录一下开发过程,由于之前没玩过QT,写的有些不当的地方烦请指出。一、需求分析通过串口接收数据,要能同时传输10个通道的数据;10个通道的数据都能实时显示波形曲线,可以打开或关闭任意通道;软件启动后,会自动搜索可用的串口;波特率至少要能满足9600bps、115200bps;默认数据位为8,.无校验位,停止位为1;示波器可以通过暂停键来停止波形的更新;

2021-10-31 22:53:28 2670 1

原创 模型预测控制(MPC)解析(八):二次规划的数值解(上)

二次规划问题本身就是一个研究领域,因此需要付出相当大的努力才能完全理解相关的理论和算法。MPC所需的二次规划数值解通常被认为是MPC应用中的一个障碍。然而,我们可以做的是理解二次规划的本质,这样就可以生成所需的基本计算程序。这样做的好处是,如果出现任何问题,可以修改原始代码;还可以编写用于实时应用的单元软件。这在工业应用中非常重要。......

2021-09-12 16:58:43 3097

原创 模型预测控制(MPC)解析(七):约束控制问题的表述

本文为阅读笔记,仅供学习交流使用!!!上一篇中举了一个无阻尼振荡器控制模型的例子,当系统控制量饱和时,控制性能显著下降,为避免这种情况,上例中的核心思想是改变Δu(k)\Delta{u}(k)Δu(k)以适应当控制变量约束发生的情况。在预测控制中,这个问题是通过优化进行系统的处理。处于这个目的,需要将带约束的预测控制问题表述成优化问题。这一篇主要讨论实际应用中常见的几种约束情况。这些约束都可以表示成控制变量或系统变量的线性不等式。一、实操中经常使用的约束在实际应用中,有三种约束类型是经常遇到的。前两

2021-08-29 23:00:09 4184 2

原创 模型预测控制(MPC)解析(六):有约束的MPC简介

本文为阅读笔记,仅供学习交流使用!!!先从一个例子开始,说明当原始设计的控制信号满足操作约束时,控制系统的性能会显著恶化。并且只要稍加修改,如果在控制器的实现中加入约束,则性能恶化的程度可以降低,从而产生约束控制的思想。在学习有约束控制之前,先看一个控制系统在控制信号饱和和不饱和的情况下运行的例子。例:无阻尼振荡器的数学模型如下:采样周期为Δt=0.1\Delta{t}=0.1Δt=0.1,对应的离散时间状态空间模型为:设计目标是:设计一个预测控制系统,使得系统输出跟踪单位阶跃响应越快越好。预

2021-08-08 12:47:57 5332

原创 模型预测控制(MPC)解析(五):基于状态估计的预测控制

本文为阅读笔记,仅供学习交流使用!!!以一个例子开始说明,当控制信号受到约束时,控制系统的性能会显著下降。在有约束的情况下,如何设计离散MPC控制器,才能保持控制系统性能不下降,是本节要讨论的问题。未完待续。。。...

2021-06-30 23:23:02 3646 4

原创 模型预测控制(MPC)解析(四):状态估计

本文为阅读笔记,仅供学习交流使用!!!在之前的笔记中设计的MPC控制都有一个前提,就是假设了所有的状态变量都是可以测量的。但在大部分实际应用中,不是所有的状态变量都可以测量的,而且有些状态变量是不可能被测量的。遇到这种情况,一般有两种方式解决:第一中是使用特殊的状态方程,选择输入输出作为状态变量;另一种方式就是对状态变量进行估计。在控制工程中,基于过程测量估计状态变量的方法叫做观测器。1. 观测器的基本思想要构建一个状态观测器,最简单的方式是基于系统模型。例如,假设系统状态空间方程为:当已知初始状

2021-06-29 23:24:15 4173 2

原创 外骨骼机器人(五):步态分析之正常步态

本文为阅读笔记,仅供学习交流使用!!!研究病理步态之前,需要了解正常步态,作为判断标准。但是需要记住两个问题:1.“正常”因人而异,性别、年龄、身体情况都需要考虑在内,因此,需要对不同的个体选择合适的正常标准;2.即使病人的步态与正常步态有某种不同,这也不能说明这是不可取的,也不能说明应该把它变成“正常”步态。许多步态异常是对病人的一些问题的一种补偿,尽管异常,但它们仍然是有用的。有空再写未完待续。。。...

2021-04-30 22:23:20 935 2

原创 外骨骼机器人(四):步态分析之基本知识

人体所有的自主运动,包括步行,都是一个涉及大脑、脊髓、周围神经、肌肉、骨骼和关节的复杂过程的结果。在仔细研究步态过程、会出什么问题以及如何研究步态之前,有必要对三个学科有一个基本的了解:解剖学、生理学和生物力学。

2021-03-31 22:03:02 1900

原创 CANOpen协议详解(二):协议具体内容

根据CANOpen的官方文档,详解协议底层内容,并结合CANfestival源码进行分析,透彻了解CANOpen最底层的通信协议。

2021-02-28 22:51:48 14421 5

原创 外骨骼机器人(三):Lokomat减重系统介绍

在前面的文章中介绍了Lokomat,本文主要介绍其减重系统——Lokolift,这并不是Lokomat最先进的减重技术,但它是目前能找到资料最全面的减重技术。1. 减重技术发展历程05年之前用的是配重式的减重系统,也就是被动式减重。之后发展出了机电一体化的减重技术,也就是Lokolift。现在的Lokomat大多采用的是Levi减重技术,这个专利技术查不到什么资料,从描述上来看可能是一种高级的被动减重方式。减重系统的减重策略有如下几种:A是静态减重系统,B是被动动态减重系统,C是弹簧式被动动态减

2021-01-31 22:42:12 1492 1

原创 模型预测控制(MPC)解析(三):多输入多输出系统

本文为阅读笔记,仅供学习交流使用!!!在之前的文章中,为了简单起见,以单输入单输出系统为例介绍了MPC控制的实现方法。因为使用的是状态空间方程作为系统模型,这种方法可以轻松的扩展到多输入多输出系统中。...

2020-12-30 22:25:00 8890 3

原创 Robotic TMS(三):机器人TMS相关技术

从之前的文章中可以归纳出与机器人辅助经颅磁刺激相关的一些重要技术。包括:机械臂的(1)运动轨迹跟踪技术;(2)视觉私服控制;(3)视觉标定技术;(4)轨迹规划;(5)位置和力控制;(6)安全问题。

2020-11-29 20:33:44 2294

原创 Robotic TMS(二):机器人辅助TMS治疗系统

一、机器人辅助手术系统机器人辅助手术系统已经被研究了多年,尽管机器人手术系统还没在临床中普遍应用,这些研究成果可以为机器人TMS系统的研究和开发提供技术和经验。手术机器人时间线如下图所示。图1 手术机器人时间线1985年,机器人系统首先进入临床试验,用于脑生物定向显示。该系统结合了CT扫描仪和Puma 200机器人用于立体定向脑手术,如下图所示。在CT图像上指定目标位置之后,机器人移动到目标位置。这种机器人手术比人工手术更快,而且精度更高。图2 立体定向脑手术机器人系统1991年,出现了另一个

2020-10-31 17:11:06 3487

原创 Robotic TMS(一):TMS(经颅磁刺激)介绍

经颅磁刺激技术(Transcranial Magnetic Stimulation, TMS)是一种无痛、无创的绿色治疗方法,磁信号可以无衰减地透过颅骨而刺激到大脑神经。随着技术的发展,具有连续可调重复刺激的经颅磁刺激(rTMS)出现,并在临床精神病、神经疾病及康复领域获得越来越多的认可。经颅磁刺激技术得到了广泛的使用,国内的经颅磁刺激技术达到世界先进水平,在神经心理科(抑郁症、精分症)、康复科、儿科(脑瘫,自闭症等)等各个方面都得到了应用。然而大多数研究都关注神经科学,很少有TMS应用过程自动化相关的研

2020-09-30 22:45:32 13847 5

原创 模型预测控制(MPC)解析(二):单输入单输出系统

在上一篇中,为了便于说明,预测控制系统采用单输入单输出系统为例进行设计。由于系统模型使用的是状态空间方程,于是可以很容易的将这种设计方法可以扩展到多输入、多输出系统。

2020-08-31 21:55:01 7324 1

原创 外骨骼机器人(二):自适应振荡器

振荡器是一种数学工具,可以用于实时跟踪、预测类周期信号的频率、相位、幅值等,而助行外骨骼机器人需要自动适应人体的行走频率、幅度,两者相结合,就能使助行外骨骼机器人拥有更舒适、更自然的行走步态。......

2020-07-31 18:46:04 3056

原创 惯性测量单元IMU基础

IMU由三部分组成:加速度计、磁力计、陀螺仪。加速度计就是测量三个方向的加速度:磁力计就是测量磁场北极的方位:陀螺仪测量的就是绕三个方向旋转速度:一、加速度计二、磁力计三、陀螺仪...

2020-06-25 18:59:20 8318 3

原创 四足机器人(一):Cheetah开源电机驱动控制解析

著名的MIT Cheetah Mini四足机器人开源了所有软硬件,包括机载电脑和关节驱动器的软硬件全部开源。这一篇就根据开源的驱动控制软件及相关论文,探索其核心控制算法框架。

2020-04-28 23:16:10 11860 29

原创 三相异步电机基于模型的效率估计算法

三相异步电机在工业自动化中应用非常多,如果因为电机故障导致自动化生产线停产,会造成巨大的经济损失,所以在日常维护时对电机进行检测非常有必要。为了尽量减少停工时间,最好的方式是对电机进行不停机检测。通常异步电机的故障是由于长时间运行损耗增加、效率降低,所以电机检测比较重要的一项是检测效率。一般情况会有专用测试仪器来检测电机效率,但是都需要拆下电机,安装到专用仪器上进行测试。本文提出了一种基于模型的效率估计算法,用于在正常工况不停机的情况下检测电机效率。

2020-03-21 11:58:31 3902

原创 外骨骼机器人(一):Lokomat核心技术简介

下肢康复机器人临床上广泛用于由神经损伤以及其它疾病导致的下肢行走障碍患者,能够为因神经损伤导致行走功能障碍的患者提供了安全,有效的步行训练平台。通过机械腿带动患者完成大量重复的生理步态训练,让患者在早期即建立正确的运动模式,为今后重新正常行走打下良好基础。

2020-02-04 21:10:51 15742 1

原创 MODERN ROBOTICS (一):运动规划

机器人运动规划要解决的问题是,找到一种让机器人从初始状态运动到目标状态的运动方式,同时要能避开环境中的障碍,以及满足其他限制条件,如关节角度限制或力矩限制等。

2020-01-31 12:46:49 2993 1

原创 MODERN ROBOTICS(二):轨迹生成

机器人轨迹的定义是:机器人位置随时间变化的规范称为轨迹。有些情况下,机器人的轨迹完全由任务决定,例如,末端执行器需要跟踪一个已知运动的物体;另一些情况下,任务只是简单的要求机器人在一个给定的时间内从一个位置运动到另一个位置。轨迹应该是关于时间平滑的函数,而且要满足关节速度、加速度、力矩的要求。这里主要考虑三种情况的轨迹生成:在关节和任务空间点到点的直线轨迹、在给定时间通过点的轨迹、考虑关节驱动限制的时,通过给定路径的最短时间轨迹。

2020-01-30 14:45:35 5277

原创 CANOpen协议详解(一):CANfestival源码分析

CANFestival-3源码详解一:重要结构体有几点需要说明:1.使用的是官网下载的canfestival-3源代码,下载的压缩包文件名是:Mongo-canfestival-3-asc-1a25f5151a8d.zip,使用的是源码里面自带的对象字典编辑器来生成对象字典文件;2.主要解析源码里面与DS 301协议有关的代码,DS 301协议参考文档为301_v04000201.pdf;...

2019-08-21 15:40:58 17645 8

原创 UR机器人(二):Path and Time Scaling

1.引子看过UR机器人脚本手册的都应该知道有这样一个直线插补函数:interpolate_pose(p_from, p_to, alpha);参数:p_from表示初始pose,p_to表示目标pose,alpha通常为0-1之间的浮点数,如果alpha=0,则函数插值返回的pose是p_from;如果alpha=1,则函数插值返回的pose是p_to;如果alpha<0,则函数插值...

2019-04-23 22:20:28 8734 3

原创 UR机器人(一):坐标系及位姿表示方法

一、UR机器人坐标系默认情况下UR机器人的坐标系如下图所示:这里的TCP位置和坐标系就是机器人末端,及机器人默认的TCP位置,其TCP配置如下图所示:如果用户想要自己设计TCP的位置和坐标就可以在这个基础上进行配置,这里的X,Y,Z,RX,RY,RZ表示用户自定义TCP与机器人默认TCP之间的关系。X,Y,Z表示位置关系,RX,RY,RZ是使用的旋转矢量法表示的姿态关系,旋转矢量法见下一...

2018-11-07 23:26:38 31331 28

原创 开源机器人库orocos KDL 学习笔记(五):Inverse Kinematric

上一篇主要讲述KDL中正运动学解的实现方式及其使用。本篇主要讲述KDL中逆运动学解的实现方式及其使用。1. puma560的逆运动学解首先还是以puma560作为例子,来看一下如何调用KDL的逆运动学求解器求解puma560的逆运动学解。Chain puma560; puma560 = KDL::Puma560(); ChainFkSolverPos_recursive fwdkin(p...

2018-10-24 23:15:14 3753 2

原创 开源机器人库orocos KDL 学习笔记(四):Forward Kinematric

上一篇主要讲述了KDL中运动链的建立方式,以及与其相关的段(Segment)和关节(Joint)的概念,这些是串联机械臂运动学的基础。本篇主要讲述KDL中正运动学解的实现方式及其使用。1. puma560的正运动学解首先还是以puma560作为例子,来看一下如何调用KDL的正运动学求解器求解puma560的正运动学解。Chain puma560;puma560 = KDL::Puma560...

2018-10-17 22:51:48 3488 4

多通道串口数字示波器,详细信息见博客:Serial Scope——基于QCustomPlot的串口虚拟示波器开发过程

多通道串口数字示波器,详细信息见博客:Serial Scope——基于QCustomPlot的串口虚拟示波器开发过程

2022-05-01

弹簧质量阻尼系统的MPC控制算法仿真m文件源码

用MPC算法来控制弹簧质量阻尼系统。首先建立弹簧质量阻尼系统的模型,然后将连续时间模型转换成离散模型,推倒预测和优化方程,将控制问题转化成标准二次型问题,分别使用解析法和数值法两种优化求解方式,最后用Matlab进行了单位阶跃响应MPC控制仿真。配合博客:模型预测控制(MPC)九:弹簧质量阻尼的MPC仿真,在matlab 2016a实测可运行

2022-03-26

Hopf振荡器的matlab仿真m文件源码

Hopf振荡器的matlab仿真m文件源码,包括自适应学习的Hopf振荡器仿真、耦合Hopf振荡器仿真,需要配合我的博客文章:外骨骼机器人(七):Hopf振荡器,一起服用,效果更佳。

2022-03-25

遗传算法求函数最大值,C++实现

用C++实现的遗传算法求函数的最大值,可运行

2016-11-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除