【机器人学:运动学】
gpeng832
这个作者很懒,什么都没留下…
展开
-
【机器人学】机器人开源项目KDL源码学习:(10)KDL中的OOP思想---继承
C++语言的一个重要特征是可以进行面向对象的设计(OOP),而OOP的核心思想之一便是使用继承,可以定义相似的类型并对其相似关系进行建模。通过继承联系在一起的类构成一种层次关系,层次关系的根部有一个基类(base class),其它类则直接或间接地从基类继承而来,这些继承得到的类称为派生类(derived class)。机器人轨迹规划算法中,一个很重要的问题是路径的计算,但是机器人的路径有多种,包含直线路径,圆弧路径,复合路径等等。所以在KDL中就定义了一个基类:路径(class path),和其它6个原创 2021-03-08 01:16:31 · 738 阅读 · 0 评论 -
【机器人学】机器人开源项目KDL源码学习:(9)KDL中的内联函数
在学习KDL源码的时候,发现在“frames.hpp”中使用了大量的内联函数,这些基础的类,向量(vector),旋转(rotation),坐标系(frame),力旋量(wrench),速度旋量(twist)等等。这也说明基础的类的包含的成员函数并不是十分复杂,符合内联函数的特点(规模较小、流程直接、频繁调用)。使用内联函数机制可以减小调用函数的开销。KDL中的部分类定义:class Vector;class Rotation;class Frame;class Wrench;class原创 2021-03-07 17:16:58 · 882 阅读 · 0 评论 -
【机器人学】《现代机器人学》学习笔记:(1)逆运动学的数值求解(C++版)
在过去的好几个月的时间,因为工作需要,把《现代机器人学》这本书认真地学习了一下,个人感觉这本书的阅读价值极高,可显著提高机器人学算法,数学能力。这本教材是提供了所讲算法的官方的matlab代码(链接),另外也有人写了C++(链接)、python及其它版本。出于学习机器人学算法和C++编程的目的,我写了一个对上述提到的C++版本的函数库的测试算例,使用牛顿拉普森方法求解机械臂逆运动学解,代码链接:https://github.com/GProbot/modern-robot算例说明:对一个两连杆机原创 2021-02-18 18:20:09 · 2295 阅读 · 3 评论 -
【Linux/Eigen】学习笔记(3):写一个Rotz函数
机器人运动学中,绕坐标轴旋转算子是常用的工具,具体结果形式是一个3*3的矩阵,可表示机器人的姿态。最近在学Eigen库,简单写一个绕Z轴旋转的算子,Rotz(theta)。如下所示:#include <Eigen/Dense>#include <iostream>using namespace std;Eigen::Matrix3d Rotz(double theta){ Eigen::Matrix3d r; r << cos(theta),原创 2021-01-07 20:32:38 · 538 阅读 · 0 评论 -
【机器人学】机器人开源项目KDL源码学习:(5)KDL如何求解几何雅克比矩阵
机器人的几何雅克比矩阵原创 2017-02-21 19:59:38 · 9456 阅读 · 6 评论 -
【机器人学】机器人开源项目KDL源码学习:(2)牛顿拉普森迭代法求机器人的数值解
对于串联机器人来说,求逆解的难度要大于求正解,市面上的工业机器人一般是利用的是利用解析法求封闭解,机器人有封闭解是有条件的---Pieper法则。另一种求逆解的方法是利用迭代法求数值解,适用于不满足Pieper法则的构型,特别适用于运动学冗余的机械臂。 KDL提供了3种逆解方法:(1)纯牛顿拉普森迭代法;(2)关节限位的牛顿法;(3)基于LM的方法。其中(1)和(2)几乎是相同的原创 2017-02-17 19:45:32 · 11207 阅读 · 18 评论 -
【机器人学】使用代数法求解3自由度拟人机械臂的逆运动学解
这篇博客会讨论一下使用解析法求解3自由度拟人机械臂的逆解及分析。一、机械臂的逆解 机械臂的逆运动学问题就是由给定的末端执行器位置和方向,确定机械臂各个关节变量的值。机械臂的求解方法可以分为两大类:数值解和解析解(封闭解),解析解又可分为代数解和几何解。 数值解和解析解有各自的特点,商用的机械臂一般都会采用解析解,因为求解速度快且准确,而不会采用本质迭代的原创 2018-01-03 22:18:42 · 26597 阅读 · 12 评论 -
【机器人学】使用解析法求解6轴机械臂的逆运动学解
机械臂的逆运动学问题就是由给定的末端执行器位置和方向,确定机械臂各个关节变量的值。机械臂的求解方法可以分为两大类:数值解和解析解(封闭解)。 数值解和解析解有各自的特点,商用的机械臂一般都会采用解析解,因为求解速度快且准确。原创 2018-07-29 16:44:49 · 24942 阅读 · 0 评论 -
【机器人学】机械臂球形手腕的逆解
如图1所示的球形手腕(三个关节的轴线相交于一点)是常用的机械臂结构,我们希望在已知坐标系3至坐标系6的旋转矩阵的条件下求解3个关节值q3q3q_{3},q4q4q_{4},q6q6q_{6}。旋转矩阵可通过欧拉角集合、四元数或直接用3×3的矩阵给出。 图1 典型腕关节结构 &n...原创 2018-07-29 17:32:02 · 7572 阅读 · 4 评论 -
【机器人学】机器人开源项目KDL源码学习:(7)examples中的CMakeList.txt文件解读
KDL CMake原创 2017-03-01 15:32:53 · 2843 阅读 · 6 评论 -
【机器人学】机器人开源项目KDL源码学习:(8)KDL的精髓
KDL的精髓原创 2017-08-28 22:54:41 · 6695 阅读 · 2 评论 -
【机器人学】机器人开源项目KDL源码学习:(1)下载源码并在ubuntu下运行geometry部分(旋转矩阵)
机器人开源项目KDL源码学习原创 2017-02-15 15:52:22 · 6564 阅读 · 5 评论 -
【机器人学】机器人开源项目KDL源码学习:(3)机器人操作空间路径规划(Path Planning)和轨迹规划(Trajectory Planning)示例
KDL中的路径规划(Path Planning)和轨迹规划(Trajectory Planning)原创 2017-02-21 19:34:26 · 11620 阅读 · 11 评论 -
【机器人学】机器人学领域的顶级期刊和会议
机器人学领域的顶级期刊和会议原创 2017-02-14 09:39:27 · 20091 阅读 · 1 评论 -
【ROS学习】Solidworks模型转化为URDF文件格式+三连杆机械臂示例+逆运动学
URDF(Universal Robot Description Format)——通用机器人描述格式,它是ROS里边使用的一种机器人的描述文件,包含的内容有:连杆、关节,运动学和动力学参数、可视化模型、碰撞检测模型等。到目前为止,本文的主要内容有两个:(1)将solidworks里绘制的三连杆机械臂的三维模型转化为URDF文件,并在rviz中打开;(2)在rviz中测试该模型的逆运动学。一, 将S原创 2017-06-29 16:16:29 · 40552 阅读 · 24 评论 -
【机器人学】机器人开源项目KDL源码学习:(6)笛卡尔空间轨迹规划、圆弧过渡、姿态插值、梯形速度、pathlength
本文的内容是对另一篇文章(链接)的补充,对Trajectory_example.cpp涉及到的原理作一些简单的讲解,主要内容是: (1)机器人路径规划圆弧过渡的原理; (2)机器人路径规划梯形波的原理; (3)机器人末端姿态插值的方法(角-轴); (4)KDL使用了pathlength的概念并简述插值的方法。1 圆弧过渡 机械臂末端从起点A到终点F,中间需要经过若干个中间点原创 2017-07-08 09:37:03 · 18577 阅读 · 2 评论