巴普蒂斯塔
Which hurts more, the pain of hard work or the pain of regret?
展开
-
Robotic TMS(一):TMS(经颅磁刺激)介绍
经颅磁刺激技术(Transcranial Magnetic Stimulation, TMS)是一种无痛、无创的绿色治疗方法,磁信号可以无衰减地透过颅骨而刺激到大脑神经。随着技术的发展,具有连续可调重复刺激的经颅磁刺激(rTMS)出现,并在临床精神病、神经疾病及康复领域获得越来越多的认可。经颅磁刺激技术得到了广泛的使用,国内的经颅磁刺激技术达到世界先进水平,在神经心理科(抑郁症、精分症)、康复科、儿科(脑瘫,自闭症等)等各个方面都得到了应用。然而大多数研究都关注神经科学,很少有TMS应用过程自动化相关的研原创 2020-09-30 22:45:32 · 14881 阅读 · 5 评论 -
Robotic TMS(二):机器人辅助TMS治疗系统
一、机器人辅助手术系统机器人辅助手术系统已经被研究了多年,尽管机器人手术系统还没在临床中普遍应用,这些研究成果可以为机器人TMS系统的研究和开发提供技术和经验。手术机器人时间线如下图所示。图1 手术机器人时间线1985年,机器人系统首先进入临床试验,用于脑生物定向显示。该系统结合了CT扫描仪和Puma 200机器人用于立体定向脑手术,如下图所示。在CT图像上指定目标位置之后,机器人移动到目标位置。这种机器人手术比人工手术更快,而且精度更高。图2 立体定向脑手术机器人系统1991年,出现了另一个原创 2020-10-31 17:11:06 · 3799 阅读 · 0 评论 -
Robotic TMS(三):机器人TMS相关技术
从之前的文章中可以归纳出与机器人辅助经颅磁刺激相关的一些重要技术。包括:机械臂的(1)运动轨迹跟踪技术;(2)视觉私服控制;(3)视觉标定技术;(4)轨迹规划;(5)位置和力控制;(6)安全问题。原创 2020-11-29 20:33:44 · 2517 阅读 · 0 评论 -
开源机器人库orocos KDL 学习笔记(一):win7VS2015环境搭建
orocos_kdl windows 环境搭建牺牲了一个周末,总算是搞出来了,感觉这写代码原本是在linux上跑的,强行在windows上很费事,强烈建议在linux上玩。orocos 项目是开源机器人控制软件,详见:http://www.orocos.org/包含以下几个部分,这篇文章主要用于学习运动学与动力学库,简称KDL。源码可以从github下载:git原创 2018-01-21 19:04:46 · 9092 阅读 · 10 评论 -
开源机器人库orocos KDL 学习笔记(二):Geometric
开源机器人库orocos KDL 学习笔记二:Geometric如果按照上一篇搭建的VS2015 orocos KDL环境,会出现3个例程:geometry, chainiksolverpos_lma_demo, trajectory_example. 这一篇看一下geometry的例程。在frames.hpp中,定义了这些class: - class Vector - class R原创 2018-02-02 23:09:03 · 6150 阅读 · 0 评论 -
开源机器人库orocos KDL 学习笔记(三):Kinematric Chain
上一篇主要讲述了机器人学中用到的几何基础知识,以及在KDL中的实现和使用。本篇将更加深入的涉及到机器人学中的内容,主要是如何表示串联型机械臂,以及KDL中的实现方式。KDL中使用了两个使用广泛且技术成熟的机器人作为例子:puma560(六自由度)和kukaLWR(七自由度)。本篇主要使用六自由度的puma560作为例子。阅读本篇需要有一定的机器人学常识,至少要读过《机器人学导论》的前三章。在K...原创 2018-10-04 17:01:58 · 6383 阅读 · 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 · 3830 阅读 · 4 评论 -
开源机器人库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 · 3970 阅读 · 2 评论 -
机器人学(一):构型空间(C-Space)
通常情况下,我们对一个机器人提出的最根本问题是,它在哪?这个问题问的是机器人上每一个点的位置在哪。答案就是机器人构型(configuration):机器人上所有点的位置的表示方法。因为机器人使用的是刚性且形状已知的连杆,所以只需要少量数字就能表示机器人构型。例如,旋转的门的构型,用一个角度就能表示;平面上一点的构型,用两个坐标(x,y)就能表示;平放在桌面的硬币,用(x,y)表示硬币中心的位置,用θ表示硬币上一点的方向,三个变量就能表示其构型。原创 2022-05-04 23:33:31 · 8683 阅读 · 0 评论 -
机器人学(二):动力学参数辨识
本文的主要内容是介绍一种机器人动力学参数辨识方法,以一个二自由度平台为例,介绍了理论推导过程,只需要获取关节角度和估算力矩,就能辨识出机器人的动力学参数。这种方法也可以轻松用于更高维度的机器人。有过机器人控制工程经验的都知道,机器人的动力学参数对于提高控制系统性能是多么重要。然而,通常我们都是根据机器人3D模型得到动力学参数,往往非常不精确。因此,如果能通过实验的方法辨识出实际机器人动力学参数,这将有助于控制算法的设计。...原创 2022-05-27 22:37:10 · 2864 阅读 · 0 评论 -
机器人学(三):手眼标定(eye to hand)
主要讲了eye-to-hand的手眼标定算法,从原理到方程解法再到算法实现,简单明了,容易在实际系统中进应用原创 2022-06-15 22:27:22 · 1643 阅读 · 0 评论 -
机器人学(四):位姿的直线插补
本文主要解决的问题是已知起始和终止位姿的齐次变换矩阵,插补出中间的位姿,要求直线插补,并且姿态变化平滑。采用了螺旋表示法,将位置和姿态进行分解,通过矩阵的对数和指数运算来插补中间点的姿态。该方法的优点是插补出的轨迹非常直,而且姿态变化平滑。原创 2022-10-20 13:46:44 · 1382 阅读 · 0 评论 -
机器人学(五):机器人工具坐标系标定
本文介绍了一种通用的标定机器人末端工具坐标系的方法,分别具体介绍了平移和旋转的标定,过程清晰明了,方法简单又实用。原创 2022-10-27 16:53:28 · 3734 阅读 · 0 评论 -
MODERN ROBOTICS (一):运动规划
机器人运动规划要解决的问题是,找到一种让机器人从初始状态运动到目标状态的运动方式,同时要能避开环境中的障碍,以及满足其他限制条件,如关节角度限制或力矩限制等。原创 2020-01-31 12:46:49 · 3063 阅读 · 1 评论 -
MODERN ROBOTICS(二):轨迹生成
机器人轨迹的定义是:机器人位置随时间变化的规范称为轨迹。有些情况下,机器人的轨迹完全由任务决定,例如,末端执行器需要跟踪一个已知运动的物体;另一些情况下,任务只是简单的要求机器人在一个给定的时间内从一个位置运动到另一个位置。轨迹应该是关于时间平滑的函数,而且要满足关节速度、加速度、力矩的要求。这里主要考虑三种情况的轨迹生成:在关节和任务空间点到点的直线轨迹、在给定时间通过点的轨迹、考虑关节驱动限制的时,通过给定路径的最短时间轨迹。原创 2020-01-30 14:45:35 · 5481 阅读 · 0 评论 -
Robot Toolbox (一):Puma机器人仿真
画图我们的目的是产生一个能使机器人画出一个字母‘E’的轨迹。首先我们定义了一些需要通过的点,这些点定义了字母的笔画。原创 2017-03-08 23:34:54 · 7751 阅读 · 10 评论 -
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 · 32220 阅读 · 28 评论 -
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 · 8838 阅读 · 3 评论