<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[要恰饭得嘛]]></title><description><![CDATA[吃饭第一名]]></description><link>https://blog.youkuaiyun.com/sinat_38887014</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sinat_38887014]]></copyright><item><title><![CDATA[【机器人】Platformio STM32 arduino配置和测试]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/116659645</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/116659645</guid><author>sinat_38887014</author><pubDate>Tue, 11 May 2021 16:23:09 +0800</pubDate><description><![CDATA[1.实验环境

我用的板子是Nucleo F302R8，板载STLINKV2，为了测试一下Platformio的arduino框架下编写STM32程序，进行了实验，踩了点坑，特此记录。

2.踩坑

前期配置非常简单，网上教程很多，就是New一个Project，然后框架选择Arduino即可，等待下载好就可以了。然后改写platformio.ini文件为

[env:nucleo_f302r8]

platform=ststm32

board=nucleo_f302r8

board_build....]]></description><category></category></item><item><title><![CDATA[【电机】使用Simulink建立BLDC反电动势测量的简单模型]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/116502293</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/116502293</guid><author>sinat_38887014</author><pubDate>Fri, 07 May 2021 20:55:13 +0800</pubDate><description><![CDATA[1.前言

本文是基于Matlab官方的视频进行的，为了防止自己忘记了操作过程，也为了方便后续查询，故记录一下我是怎么建立BLDC反电动势模型的。

2.电机模型

电机模型为Simscape-Electrical-Permanent Magnet中的BLDC


...]]></description><category></category></item><item><title><![CDATA[【Linux】Win10环境中配置VSCode连接Linux服务器]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/109500709</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/109500709</guid><author>sinat_38887014</author><pubDate>Wed, 04 Nov 2020 22:42:39 +0800</pubDate><description><![CDATA[1.前言

最近突发奇想，想玩玩服务器，把我的机器人C++库放到服务器上，就可以在Win10环境下编写了！因为没有硬件设备，所以买了3个月的腾讯云，折腾了我半天，终于在实验室的电脑、个人笔记本上，使用VSCode连接上了服务器，能够在本地使用Linux终端了。

2.本地SSH准备

我是通过git bash来创建SSH的公钥和私钥，这里也说一下我对公钥、私钥的理解吧，具体原理就不赘述了，建议百度，公钥是配置到远程端，私钥放在本地，然后当我们要登录远程的时候，远程端会将其公钥和我们本地的私钥进行比对，然后才]]></description><category></category></item><item><title><![CDATA[【C++】指针常量，常量指针]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/108948603</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/108948603</guid><author>sinat_38887014</author><pubDate>Wed, 07 Oct 2020 11:09:25 +0800</pubDate><description><![CDATA[1.前言

最近静下心来认真学习起了C++，发现了很多以前都没有注意到的细节，本文主要记录一下我对常量指针、指针常量的理解。

2.指针常量


// 指针常量，const放在*后面，指针的指向不可以改，但是指向的内存存放的值是可以改的
    int * const p2 = &amp;a;
    cout &lt;&lt; "p2 pointed value is " &lt;&lt; *p2 &lt;&lt;endl;
    *p2 = 100;  // 指针常量指向的内存存放的值可以修改，即a ]]></description><category></category></item><item><title><![CDATA[【机器人】谐波减速器和RV减速器的自我理解]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/108835723</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/108835723</guid><author>sinat_38887014</author><pubDate>Sun, 27 Sep 2020 21:13:58 +0800</pubDate><description><![CDATA[1.前言

最近闷得慌，项目也做不动，理论知识也学不懂，不知道该干啥了，于是突然奇想去了解了一下减速器的结构和原理，学点真实的东西，老是搞仿真、搞理论人都傻了。因为我不是学机械的，对于一些专业术语可能表述有问题，这篇文章我是想通过我自己的语言简单表达一下谐波减速器和RV减速器的原理。

参考资料

龚仲华编著.工业机器人从入门到应用[M].北京：机械工业出版社.2016.

2.谐波减速器构造及原理

谐波减速器的结构非常简单，只有三部分：

图自：https://www.bilibili.com/vide]]></description><category></category></item><item><title><![CDATA[【机器人】简记一下SimScape和SolidWorks导出三维文件操作]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/108267470</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/108267470</guid><author>sinat_38887014</author><pubDate>Thu, 27 Aug 2020 19:57:33 +0800</pubDate><description><![CDATA[1.前言

今天帮一位同学将一个.STEP文件导入SimScape中进行仿真，因为自己很久没有导入新的模型了，一直在用旧模型，所以对导入文件的操作有点生疏了，在查了一些资料和碰壁之后想起来了，特此记录一下。

2.问题1：SW模板文件无效

在用SW打开.STEP装配体文件时，提示：solidworks the default templates are not valid，即模板无效，如果点击continue，则显示为空白，此时需要对template文件路径重新设置一下即可



3.SW安装SimSca]]></description><category></category></item><item><title><![CDATA[【机器人】机械臂入门技术栈分享]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/108165969</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/108165969</guid><author>sinat_38887014</author><pubDate>Sat, 22 Aug 2020 11:36:39 +0800</pubDate><description><![CDATA[机械臂控制入门技术栈分享

1.前言
	2.机器人控制入门技术栈
	2.1.空间描述和变化
		2.2.运动学分析
		2.3.动力学建模
		2.4.控制入门学习
	
	3.进阶部分
	3.1.机器人参数辨识
		3.2.非线性控制
		3.3.现代机器人描述方法：指数坐标
	
	4.总结


1.前言

今天看到优快云上有个分享个人技术栈的活动，虽然我不是一个正规的程序员，也不搞前端、后端这些，但我一直在优快云上通过写博客对我的学习进行总结，于是我突发奇想，不如我也写一下我的个人技术栈，针对机械臂.]]></description><category></category></item><item><title><![CDATA[【机器人】机械臂控制入门技术栈分享]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/108165262</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/108165262</guid><author>sinat_38887014</author><pubDate>Sat, 22 Aug 2020 11:33:15 +0800</pubDate><description><![CDATA[机械臂控制入门技术栈分享1.前言2.机器人控制入门技术栈2.1.空间描述和变化2.2.运动学分析2.3.动力学建模2.4.控制入门学习3.进阶部分3.1.机器人参数辨识3.2.非线性控制3.3.现代机器人描述方法：指数坐标4.总结
1.前言
今天看到优快云上有个分享个人技术栈的活动，虽然我不是一个正规的程序员，也不搞前端、后端这些，但我一直在优快云上通过写博客对我的学习进行总结，于是我突发奇想，不如我也写一下我的个人技术栈，针对机械臂控制入门的，因为我水平也不高，所以本文内容也许不够饱满，也不够准确，但]]></description><category></category></item><item><title><![CDATA[【机器人】基于指数积的机械臂正运动学算法]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/108159733</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/108159733</guid><author>sinat_38887014</author><pubDate>Sat, 22 Aug 2020 00:20:32 +0800</pubDate><description><![CDATA[基于指数积的机械臂正运动学算法1.前言2.指数积公式建立过程3.PoE实例
1.前言
在学习了刚体运动的指数坐标表示和运动旋量后，我又对使用指数积法(PoE)对机械臂进行正运动学建模，相比于DH参数法，感觉PoE还是非常简单直接的，在此对我的学习进行总结，如有错误欢迎指出。
2.指数积公式建立过程
在使用PoE建立正运动学模型时，我们需要获得以下参数：

建立基坐标系（惯性系）和末端坐标系
写出初始时刻的末端坐标系相对于惯性系的位姿MMM
写出各个关节的运动旋量，即SSS，内含单位角速度和原点线速度，可以参]]></description><category></category></item><item><title><![CDATA[【机器人】刚体运动的指数坐标表达学习心得与理解]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/108122832</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/108122832</guid><author>sinat_38887014</author><pubDate>Thu, 20 Aug 2020 20:55:11 +0800</pubDate><description><![CDATA[刚体运动的指数坐标表达学习心得与理解1.前言2.运动旋量3.运动旋量的螺旋解释
1.前言
上一篇文章对旋转的指数坐标表示进行了总结，也就是旋转矩阵和指数坐标之间的关系。今天准备写一下包括旋转和平移内容的刚体运动的指数坐标表达学习心得和对其的理解。如有问题，欢迎留言。
2.运动旋量
运动旋量也被称为“空间速度”，当然前提都是要有个参考坐标系。对于一个4×44\times44×4的表示{b}\{b\}{b}相对于{s}\{s\}{s}齐次变换矩阵
sTb=[R(t)p(t)01]
^sT_b=
\left[ \]]></description><category></category></item><item><title><![CDATA[【机器人】转动的指数坐标表示心得理解]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/108110243</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/108110243</guid><author>sinat_38887014</author><pubDate>Wed, 19 Aug 2020 21:45:08 +0800</pubDate><description><![CDATA[转动的指数坐标表示心得理解1.前言2.指数坐标表示旋转矩阵3.原理推导4.矩阵对数、矩阵指数
1.前言
最近因为项目需求，又学习了一点机器人学的东西，参考书籍为《现代机器人学》，该书采用指数坐标、旋量的方式来对机器人进行描述和运动学、动力学建模，让我对机器人有了更深的理解，也是弥补DH参数建模复杂的缺陷，虽然DH法只用4个参数，而旋量需要更多，但是它骚啊！
本文是我学习了转动的指数坐标表示的一个心得体会，如有问题请多多包涵。
2.指数坐标表示旋转矩阵
指数坐标可以用来表示求解旋转矩阵，其原理非常简单巧妙，需]]></description><category></category></item><item><title><![CDATA[【机器人】永磁同步电机PMSM电流滞环控制理解]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/107767077</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/107767077</guid><author>sinat_38887014</author><pubDate>Mon, 03 Aug 2020 16:48:20 +0800</pubDate><description><![CDATA[1.前言

最近学习了一下永磁同步电动机PMSM，进入了控制方面的学习，首先是对电流滞环控制进行了学习、仿真，记录一下学习心得体会，以及个人的理解。

2.控制原理

引用一张来自袁雷的《现代永磁同步电机控制原理及Matlab仿真》书中所绘制的滞环电流控制框图



滞环控制结构非常简单，只需要从PMSM反馈回转速和三相电流信息即可。目的是变频，实现变速。

首先，为了解耦方便，将d轴电流的期望设为0，再将反馈回来的转数和给定转数相比较，通过一个PI控制器（此处应该也可以使用滑模控制器等控制器），将控制器输]]></description><category></category></item><item><title><![CDATA[【机器人】欧拉角，四元数，我的个人理解]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/106798037</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/106798037</guid><author>sinat_38887014</author><pubDate>Wed, 17 Jun 2020 00:19:52 +0800</pubDate><description><![CDATA[1.前言

熬过了毕业设计，难逃提前到导师实验室打工噩运。导师最近又让我去了解一下四旋翼，以后可能会搞四旋翼挂个机械臂的东西……四旋翼建模看的朦朦胧胧的，突然被以前做机械臂时忽略了的刚体旋转给绕昏了，今天似乎懂了一些欧拉角和四元数的东西，特此记录一下，注意，本文仅为我自己的理解，可能会有错误，仅供参考，欢迎留言讨论。

2.欧拉角

欧拉角的定义网上有很多文章，无非就是分别绕一个三维坐标（多数是固定在刚体上的坐标系）各轴依次旋转，顺序各种排列组合，比如XYZ、ZYZ、ZYX等，这都不是什么重点，重点是，在进]]></description><category></category></item><item><title><![CDATA[【机器人】基于向量积法的雅可比矩阵求解和应用]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/105690945</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/105690945</guid><author>sinat_38887014</author><pubDate>Wed, 22 Apr 2020 20:15:13 +0800</pubDate><description><![CDATA[1.前言

最近在做轨迹规划控制，没错，是控制，导师让新加到毕设上的。搞了一周，今天总算是出来了，这里写一下总结一下雅可比矩阵的求解和控制的思路（控制算法不再赘述，太基础了）。

本文以末端关节坐标系为工具坐标系，即工具大小为0，如果有工具大小要求，则直接修改即可，不再赘述

2.基于向量积法的雅可比矩阵求解

这个方法网上资料、文献已经讲烂了，对于六关节机械臂，其雅可比矩阵的第n列可表示为


...]]></description><category></category></item><item><title><![CDATA[【Matlab】通过m文件控制simulnk模型进行仿真]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/105497459</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/105497459</guid><author>sinat_38887014</author><pubDate>Mon, 13 Apr 2020 21:17:47 +0800</pubDate><description><![CDATA[1.前言

为了测试控制算法对系统不同初始状态的收敛情况，我准备通过设置不同的初始状态，使用for循环，循环进行仿真，获取系统收敛情况，因此需要使用m文件来推simulink进行控制和传递参数。

2.方法

2.1 修改S-Function，增加外部参数

我的控制系统是由控制算法S-Function文件和控制模型S-Function文件构成，控制算法中使用了系统的初始状态来进行有限时间控制，...]]></description><category></category></item><item><title><![CDATA[【机器人】滑模控制器调试心得]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/104916384</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/104916384</guid><author>sinat_38887014</author><pubDate>Tue, 17 Mar 2020 10:53:13 +0800</pubDate><description><![CDATA[1.前言

本心得毫无理论依据，只是说调了这么久了，发现这样调效果还不错，仅供参考，更多的只是一个学习记录。

2.心得

Simulink Solver设置

之前使用的solver是固定步长的ode4，速度很慢，且有时候有计算结果迷幻跳跃，今天(2020.03.17)改为变步长的ode23tb，我也不知道为什么，仿真速度快了很多，且结果比较准确。是时候去学一下这些微分方程算法的原理了！

控制...]]></description><category></category></item><item><title><![CDATA[【Matlab】SimMechanics机械臂建模流程]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/104824408</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/104824408</guid><author>sinat_38887014</author><pubDate>Thu, 12 Mar 2020 18:20:14 +0800</pubDate><description><![CDATA[1.前言

最近做毕业设计使用了SimMechanics进行机械臂的建模仿真，网上资料也比较少，当然官方的文档才是最香的：https://ww2.mathworks.cn/help/physmod/sm/rigid-bodies-1.html?s_tid=CRUX_lftnav

自己摸爬滚打后，终于成功实现了建模并和S-Function写的控制算法一起仿真成功。这里记录一下自己的使用流程。

M...]]></description><category></category></item><item><title><![CDATA[【机器人】变换矩阵理解]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/104780551</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/104780551</guid><author>sinat_38887014</author><pubDate>Tue, 10 Mar 2020 19:10:11 +0800</pubDate><description><![CDATA[搞了一段时间了，对变换矩阵还是有点晕乎乎的，今天理解了一下变换矩阵，写篇博客记录一下。

1.相对性

表示将2坐标系中的坐标位置转换到1坐标系中，而该矩阵的参数使用的是从1中观察到的2相对与1的变换。如在2坐标系中有个点R(1, 1, 1)，2坐标系为1坐标系绕X轴正方向旋转90°得到，则将1中的坐标转换到2中的变换矩阵为



该点在1中的坐标则为



若要倒推回去，则乘上变换矩阵的逆即可。...]]></description><category></category></item><item><title><![CDATA[【Adams】Adams机械臂简单仿真]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/104007656</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/104007656</guid><author>sinat_38887014</author><pubDate>Thu, 16 Jan 2020 16:54:32 +0800</pubDate><description><![CDATA[1.导入模型

将机械臂的装配体文件用SW导出.x_t文件，然后直接导入到Adams即可

2.添加运动副

固定副：将两个部件固定到一起

转动副：两个部件可以产生相对转动

3.添加驱动/力矩

旋转驱动：给转动副驱动力，直接控制转动副的转动速度

作用力矩(单向)：给转动副力矩，让其受力直接转动

4.踩坑

仿真报错：incompatible redundant constraints p...]]></description><category></category></item><item><title><![CDATA[【C++】VS Code配置C++编译调试环境]]></title><link>https://blog.youkuaiyun.com/sinat_38887014/article/details/103600748</link><guid>https://blog.youkuaiyun.com/sinat_38887014/article/details/103600748</guid><author>sinat_38887014</author><pubDate>Wed, 18 Dec 2019 17:17:19 +0800</pubDate><description><![CDATA[1.前言

不得不说，C++在Windows环境下写也挺爽的，不过VS一个工程就40+MB起步，不爽，所以配置了VS Code，照着网上的改了半天都不行，最后发现，VS Code可以自动生成……

2.方法

2.1.建立一个工作空间，以实现配置复用

直接：文件-文件夹添加到工作区

2.2.创建.vscode文件夹，用来存放配置文件



2.3.在.vscode文件夹中新建C++配置文件c_...]]></description><category></category></item></channel></rss>