Matlab
文章平均质量分 91
xuuyann
国家一级退堂鼓表演艺术家。
知乎:OpenRobotSL
邮箱:neuxuyan@163.com
展开
-
Matlab代码自动格式化
对于Python,代码自动格式化可以通过Autopep8等实现;但在Matlab中仅通过Ctrl+A和Ctrl+I不能满足需求。目前可行方法有三:其一,使用MBeautifier,目前我在用。1 在matlab2016b中设置路径;2 按照github页面上参数修改修改MBeautifier\resources\settings\MBeautyConfigurationRules.m;3 在命令行窗口中键入MBeautify.formatCurrentEditorPage(true)。其二,使用转载 2020-10-12 15:24:30 · 7121 阅读 · 2 评论 -
基于单位四元数的姿态插补(Matlab)
写在前面在我前面的博文基于抛物线过渡(梯形加减速)的空间直线插补算法与空间圆弧插补算法、五自由度diy机械臂空间插补算法(直线和圆弧)简单测试中出现姿态奇异性问题,这主要是由于我选用的RPY角姿态表达方法在β角等于±90°时姿态解算会出现奇异现象,剩下两个自由度会退化,α角和γ角会变成一个角。为解决这个问题,我换用单位四元数来对姿态进行表达。结果显示能够解决奇异性问题:机器人姿态表达机器...原创 2019-08-01 22:15:38 · 8941 阅读 · 13 评论 -
基于抛物线过渡(梯形加减速)的空间直线插补算法与空间圆弧插补算法(Matlab)
写在前面机械臂用的是五自由度的,我测试时发现逆解精度存在一些问题,目前还没找到是求解析解时出错还是编程过程有问题,还是算法本身考虑不周到,欢迎有研究过的大神们批评指正!感谢~常规插补算法假设机器人末端由P1点沿直线运动到P2点,(x1,y1,z1)\left(x_{1}, y_{1}, z_{1}\right)(x1,y1,z1)和(α(1,β1,γ1)\left(\alpha(_{...原创 2019-07-23 19:29:14 · 17153 阅读 · 77 评论 -
五自由度机械臂正逆运动学算法(C语言+Matlab)
/* * MyMatrix.h * * Created on: Jul 13, 2019 * Author: xuuyann */#ifndef HEADER_MYMATRIX_H_#define HEADER_MYMATRIX_H_typedef struct MNode *PtrToMNode;struct MNode{ int row; int col...原创 2019-07-13 21:13:24 · 29180 阅读 · 54 评论 -
机器人学回炉重造(5-2):关节空间规划方法——梯形加减速(与抛物线拟合的线性函数)、S型曲线规划
写在前面前面的几种多项式规划方法机器人学回炉重造(5):关节空间规划方法——多项式轨迹(三次多项式、五次多项式、抛物线轨迹)都存在没有最大速度和最大加速度限制的问题,当机械系统存在速度和加速度范围时,上述方法就不太适合。下面的梯形加减速和S型曲线就不会存在这种问题。梯形加减速(与抛物线拟合的线性函数)梯形曲线在电机控制中经常被用到,因为其速度曲线形状为梯形,因此被称为梯形速度曲线。一般情况...原创 2019-11-15 10:16:19 · 22252 阅读 · 34 评论 -
机器人学回炉重造(5-1):关节空间规划方法——多项式轨迹(三次多项式、五次多项式、抛物线轨迹)
三次多项式具有中间点路径的三次多项式轨迹五次多项式例子1:简单三次曲线和五次曲线(a)是三次多项式曲线,已知用户指定初始点和终止点的位置和速度及整个运动时间,则根据公式(7-1)~(7-5)进行计算,代码及运算结果如下% 单关节多项式关节空间轨迹%% 三阶多项式theta(t) = a0 + a1*t + a2*t^2 + a3*t^3% 指定初始和终止点的位置theta_s...原创 2019-07-03 11:05:56 · 26035 阅读 · 21 评论 -
机器人学回炉重造(4):动力学仿真(附牛顿-欧拉递归逆动力学算法matlab代码)
写在前面动力学问题,简单来看,主要由两个问题组成:已知一个轨迹点theta、theta_d、theta_dd,希望求出期望的关节力矩tau,这个问题及相应公式对机械臂的控制问题非常有用;已知一个力矩矢量tau,计算出机械臂各关节的瞬态运动变量theta、theta_d、theta_dd,这个问题对机械臂的运动仿真及控制非常有用。准备知识:运动学 机器人学回炉重造(1):正运动学、标准...原创 2019-06-30 12:01:42 · 22516 阅读 · 121 评论 -
机器人学回炉重造(3):matlab复现最基本的六自由度机械臂逆运动学推导
写在前面本文使用改进D-H参数法建立模型,使用的是前面ABB机械臂模型,正运动学建模过程可见前面博客。我使用最一般的矩阵逆乘解析法来求解六自由度机械臂的运动学逆解,过程仅供参考。推导过程Matlab仿真程序% 适用于Modified DH参数法function ik_T = myikine(fk_T)d(1) = 0; a(1) = 0;d(2) = 0.090; a(2) ...原创 2019-06-20 21:06:52 · 13128 阅读 · 5 评论 -
机器人学回炉重造(2-1):雅可比矩阵的定义
写在前面我是把讲义以及笔记上的内容原封不动的搬过来,做个记录保存,不喜勿看。实现代码在最后面。前文提到机器人的正运动学,实现代码是直接使用matlab里的机器人工具箱。下面我用matlab自写一个求正运动学齐次变换矩阵的代码:function T0 = myforward(theta)% Modified D-H参数th(1) = theta(1); d(1) = 0; a(1) = 0...原创 2019-06-14 20:09:50 · 6415 阅读 · 15 评论 -
机器人学回炉重造(1):正运动学、标准D-H法与改进D-H法的区别与应用(附ABB机械臂运动学建模matlab代码)
写在前面书读百遍,其义自见。要想当一名合格的机器人工程师,机器人学就是base_link,看多少遍就不为过。现在回炉重造一下,记录一下学习笔记(以照片形式,打公式太费劲了),防止以后笔记本不见了。原创 2019-06-11 20:00:38 · 33633 阅读 · 28 评论 -
基于S型曲线的连续多段曲线插补平滑过渡的规划算法(Matlab)
基于S型曲线的连续多段曲线插补平滑过渡的规划算法(Matlab)写在前面前面的博客已经写了关于空间直线与空间圆弧的常用插补算法,而这些都是单一路径,实际中并不实用。对于连续多段路径,传统方法是将多段路径细分,然后对每段路径采用首尾速度为0的加减速算法(S型曲线或梯形曲线),这就带来了频繁启停的问题,容易对机械臂造成冲击,同时运行时间较长。下面我把前面博客中提到的非对称S型加减速算法与空间中多...原创 2019-08-08 22:18:12 · 18839 阅读 · 83 评论 -
基于带约束S型加减速曲线的空间直线插补与空间圆弧插补算法(Matlab)
写在前面在前面的博文中:基于抛物线过渡(梯形加减速)的空间直线插补算法与空间圆弧插补算法(Matlab)基于单位四元数的姿态插补(Matlab)我使用了抛物线过渡(也就是梯形加减速)作为空间插补算法的速度规划方法,但是梯形曲线的缺点也很明显,即加速度不连续,速度过渡不平滑,容易造成机械系统冲击。下面我尝试了S型加减速曲线的规划方法并结合到空间插补算法中,仿真效果还可以,加速度曲线连续,更柔...原创 2019-08-03 21:59:31 · 16827 阅读 · 48 评论