▶ 机器人设计/研发
机器人设计/研发,包括机器人建模、仿真、控制等
罗伯特祥
读万卷书,也要行万里路!
展开
-
树莓派使用pigpio生成指定频率及脉冲PWM波
树莓派使用pigpio生成指定频率及脉冲PWM波, C语言案例原创 2024-04-18 00:39:36 · 623 阅读 · 0 评论 -
主流三种驱动器方案特点简介
中 MIT 猎 豹四足机器人 QDD 的组成结构,半直驱驱动器的组成部分包括:控制器(包括直流电源、 CAN 总线等)、无框力矩电机(转子、定子)、行星减速器(包括太阳轮、行星架、行星 轮、行星滚针轴承、输出引脚)、轴承和前后盖等。半直驱驱动器(Quasi Direct Drive)简称 QDD,最早通过 MIT Cheetah 四足机器 人进入大众的视线。半直驱驱动器作为旋转执行器的类型之一,主要由驱动器、无框电机、行星减速器等 部件构成。原创 2024-04-09 17:00:42 · 627 阅读 · 0 评论 -
Quasi-Direct Drive for Low-Cost Compliant Robotic Manipulation翻译
UC Berkeley研发的一款名为Blue的7轴双臂平台原创 2024-04-09 16:33:22 · 886 阅读 · 0 评论 -
关于URDF中的惯性矩阵描述问题
问题描述: 之前一直以为URDF中关于惯性矩阵部分是在连杆坐标系下描述的,最近正好在仿真建模的时候想从URDF中提取相关数据,结果发现以前的想法都是错的。测试: 对比URDF中的惯性元素与在SolidWorks中的惯性元素,发现URDF中描述的惯性矩阵实际上是质心坐标系下描述的!!! 如下图所示.疑惑: 官方文档中有一句You can also specify an origin tag to specify the center of gravity and the inertia.原创 2020-12-08 16:56:53 · 3765 阅读 · 2 评论 -
浅谈误差补偿
误差补偿是诸多精密工业设备的必修课,往往是产品附加值能够翻倍的决定因素,可见误差补偿的重要性。这也是国内设备商的短板,国内厂商往往号称自己的设备精度达到了国外产品的的水平,用户在使用初期也确实能够体验到标称精度,但经过一段时间的使用后,精度变差了,并且随着时间和季节的推移,设备精度稳定性在不断变化,虽然从客观上讲,用户对国产设备有着先天的歧视,对设备的维护和保养也不那么平等,但国内外设备的精度稳定性差距是实实在在的,差在哪里?材料、装配、质检何测试等方面都有差,但误差补偿绝对是重要的一环,也是国内设备商没有转载 2021-10-26 14:01:13 · 2985 阅读 · 0 评论 -
什么是机器人的外部轴?
外部轴,顾名思义:机器人外部的轴,通俗的讲就是除了机器人本体的轴以外,由于工作需要而添加的轴,如底座导轨、末端伺服工具等等。博主认为,外部轴可归属工艺应用范畴,但实际的控制器开发应该考虑外部轴的接口、控制、插补等内容,因为机器人在一些应用场景下不是一个单纯的系统,而是一个与外部轴耦合在一起的整体系统,二者的联动精度可能直接影响工艺质量。声明:图片版权归原作者所有,侵权请联系。https://www.docin.com/p-2014100180.htmlhttp://blog.sina.co原创 2021-08-31 10:01:01 · 5648 阅读 · 0 评论 -
重温LuGre摩擦力模型
式中,vvv是接触面的相对速度,zzz是内摩擦状态,FFF是预测的摩擦力。与Dahl模型不同的是,LuGre模型有一个与速度相关的函数g(v)g(v)g(v),而不是一个常数,一个额外的与微位移相关的阻尼系数σ1\sigma_1σ1,以及与宏观位移相关的粘滞摩擦力项f(v)f(v)f(v)。其中状态zzz类似乎Dahl模型中的应变,可解释为平均鬓毛挠度,σ0\sigma_0σ0为鬓毛刚度,σ1\sigma_1σ1为鬓毛阻尼。与宏观位移相关的粘滞摩擦力项f(v)f(v)f(v)被建模为:f(v.原创 2021-08-19 17:49:17 · 8275 阅读 · 5 评论 -
谐波减速器的结构简图及传动比说明
声明图片版权归原作者所有,侵权请联系!1. 钢轮固定+柔轮输出此时,传动比为减速器手册上所标注的减速比,一般为10的整数倍。2. 柔轮固定+钢轮输出此时,传动比为减速器手册上所标注的减速比+1,一般为10的整数倍+1。3. 原因选择不同的输出方式,其减速比不同的原因大概是为了减小齿轮的磨损,或者说为了让磨损更均匀,有利于使用寿命的增长,具体知识点可参考机械原理、机械设计中的齿轮互质相关知识点。参考文献:http://www.360doc.com/content/21原创 2021-08-09 18:14:50 · 7074 阅读 · 0 评论 -
谐波减速器刚度测试
参考文献:GB/T 30819-2014 机器人用谐波齿轮减速器GB/T 14118-1993 谐波传动减速器原创 2021-07-19 09:01:10 · 781 阅读 · 3 评论 -
机器人关节摩擦力的变化规律
1. 摩擦力随速度的变化速度是主要因素,没啥好说的,但要注意低速情况。2. 摩擦力随负载大小的变化这个比较有意思,负载越大,摩擦力越大,几乎呈线性关系,也比较容易理解,可以比照F=kNF=kNF=kN3. 摩擦力随温度的变化温度越高,摩擦力越小,这是因为温度高的时候润滑油、润滑脂的稠度降低,容易形成油膜,因此摩擦力减小参考文献:A friction model with velocity, temperature and load torque effects for co原创 2021-07-15 21:28:53 · 1629 阅读 · 0 评论 -
工业机器人控制系统的设计框架
声明:本文为张晓辉博士在睿慕课开设的《工业机器人控制系统的设计》公开课学习笔记,版权归原作者及睿慕课所有,如有侵权,请联系删除。文章目录第1章 机器人控制系统简介1-1 机器人控制系统介绍 ( 02:24)1-2 机器人控制系统的重要性 ( 01:08)第2章 控制系统功能组成2-1 人机交互模块 ( 02:55)2-2 数字控制核心模块 ( 06:52)2-3 可编程逻辑控制模块 ( 03:04)2-4 数据通信模块 ( 03:50)第3章 控制系统软件架构3-1 基于PLCOpen的软件架构 ( 05原创 2021-07-07 22:51:33 · 3823 阅读 · 5 评论 -
RobCoGen动力学代码生成框架
基于领域专用语言高效的串联机器人运动学和动力学代码自动生成开源框架论文:RobCoGen: a code generator for efficient kinematics and dynamics of articulated robots, based on Domain Specific Languages官网:https://robcogenteam.bitbucket.io/代码库:https://bitbucket.org/robcogenteam/robcogen/src/master原创 2021-05-16 22:08:41 · 695 阅读 · 0 评论 -
从伺服系统来看如何提升机器人的轨迹精度 公开课笔记
声明:本文所有图片均截自bilibili堂博士UP上传的公开课,仅作为个人笔记记录,侵删~原创 2021-05-08 18:20:30 · 618 阅读 · 0 评论 -
协作机械臂伺服驱动关键技术公开课笔记
声明:本文所有图片均截自bilibili中科深谷UP上传的公开课,仅作为个人笔记记录,侵删~原创 2021-05-08 18:09:16 · 421 阅读 · 0 评论 -
机器人非实时性示教系统的框架
1. 非实时系统的组成 1.1 工业机器人控制软件非实时系统组成2. 示教器 2.1 基于socket通信的示教器软件开发介绍 2.2 使用socket通信方式建立客户端和服务器端程序 2.3 使用TLV协议格式建立示教器通信仿真程序及通信异常处理 2.4 示教器人机界面程序的主要功能、基本概念和实现方式3. 文件管理 3.1 如何使用tinyxml实现xml格式的配置文件管理 3.2 如何实现自定义的机器人程序文件 3.3 日志文件功能如何快原创 2021-05-08 17:27:04 · 331 阅读 · 0 评论 -
基于模型设计(MBD)的机器人开发流程
MBD:Model based design原创 2021-05-08 17:17:28 · 2403 阅读 · 0 评论 -
硬件在环(HIL)仿真方案
方案1:仿真模型在simulink中搭建,通过TCP或ROS等实现与实际控制器的通信,从而实现HIL仿真方案2:仿真利用各种成熟的动力学仿真软件,通过一定的通信手段实现与实际控制器的通信不同的方案原理相通,与我们平常仿真实际没什么不同,只不过控制器拿到了仿真环境外,主要目的是验证我们的嵌入式系统的可靠性!能够让我们更有效的测试嵌入式控制系统,避免了由于逻辑错误导致的设备损坏,也保证了人员安全,利于产品完善和研发成本压缩~...原创 2021-05-08 15:28:54 · 3347 阅读 · 1 评论 -
振动抑制浏览笔记
首先,振动是如何产生的?1、机械结构导致2、频率高、速度快、加速时间要求短3、运动方向改变时,产生的惯性冲击4、机械的刚性较差,容易产生振动第二:振动会带来哪些问题?我们发现振动带来诸如高成本、低精度、低品质和慢节奏等问题。如果我们按照以往常规的处理办法,会有神烦的困扰:1、需要放慢速度,但生产效率低下,工艺要求不允许;2、需要提高机械刚性,但制造成本增加,惯性也会变大。第三:抑振技术在哪些场合有广泛地应用?振动抑制技术可在高速移动、精准组装、工件移位、装置振动、液体运输、挂物晃动、悬转载 2021-04-19 10:22:03 · 3132 阅读 · 0 评论 -
windows下libmodbus在Qt中的配置
参考链接:https://blog.csdn.net/hustlei/article/details/86687588https://blog.csdn.net/qq_37887537/article/details/88548358此外,modbus库依赖于window系统的ws2_32.dll库文件,在c盘中搜索,复制到所建立的项目文件夹下,命名为dll文件夹,并在项目文件.pro中添加“LIBS += -Ldll -lws2_32”,完成...原创 2021-04-06 10:59:13 · 541 阅读 · 0 评论 -
Eigen3头文件功能及简要使用笔记
# 1. 矩阵声明及其初始化- 静态矩阵(fixed-size matrices):当需要使用的矩阵size已知且小于16时(例如小于4x4矩阵),推荐使用静态矩阵实现。 ```cpp Matrix4d mat4d; Matrix3f mat3f; Matrix2i mat2i; ```- 动态矩阵(dynamic-size matrices):当矩阵size大于16时,推荐使用动态矩阵。 ```cpp // 注意:以下矩阵大小均为0x0,只有进一步明确其维度时,程原创 2020-12-27 21:45:05 · 906 阅读 · 0 评论 -
10种常用滤波算法特点及例程
文章目录1. 限幅滤波法(1)原理(2)特点(3)例程2. 中位值滤波法(1)原理(2)特点(3)例程3. 算术平均滤波法(1)原理(2)说明(3)特点(4)例程4. 一阶滞后滤波法(1)原理(2)特点(3)例程5. 限幅消抖滤波法(1)原理(2)特点(3)例程1. 限幅滤波法(1)原理通过给定的最大偏差值A来实现,如果本次值与上次差值<=A,则本次有效;否则无效,使用上次值代替。(2)特点优点:能有效克服偶然因素导致的脉冲干扰缺点:无法抑制周期性干扰,平滑性差(3)例程int F转载 2020-11-16 11:56:21 · 9833 阅读 · 4 评论 -
MATLAB与TF库中RPY的定义
由于RPY角的定义方式有太多,所以在使用各种库的时候,我们应该首先查看它的定义方式,验证它的正确使用方法!!!MATLAB的RPY2R:X轴对应yaw,Y轴对应pitch,Z轴对应rollrpy2r(roll,pitch,yaw,'zyx'):固定轴旋转顺序,右乘,RZ∗RY∗RXRZ*RY*RXRZ∗RY∗RXrpy2r(roll,pitch,yaw,'xyz'):动轴旋转顺序,左乘,RX∗RY∗RZRX*RY*RZRX∗RY∗RZTF中:X轴对应roll,Y轴对应pitch,Z轴对应原创 2020-11-10 12:13:41 · 1523 阅读 · 0 评论 -
ubuntu下配置libmodbus过程记录
下载地址:https://github.com/stephane/libmodbus/releases使用说明:https://libmodbus.org/documentation/配置前的准备:sudo apt-get install autoconfsudo apt-get install automakesudo apt-get install libtool开始配置:step1:在代码目录下运行./autogen.shstep2:执行sudo ./configure &a原创 2020-11-10 12:12:23 · 2510 阅读 · 0 评论 -
OROCOS之PyKDL(1)—— Linux环境搭建篇
需要保证已经安装了C++版本的kdl库,具体操作详见这篇文章进入orocos_kinematics_dynamics/python_orocos_kdl目录下,执行如下命令:mkdir build && cd buildcmake ../makesudo make install测试:$ python3>>> import PyKDL...原创 2020-11-10 12:11:58 · 1374 阅读 · 0 评论 -
OROCOS之BFL(1)—— Linux环境搭建篇
cd orocos_kinematics_dynamics/orocos_kdlmkdir build && cd buildcmake -DCMAK_BUILD_TYPE=Release ..make -j8sudo make installInstall the project…– Install configuration: “Debug”– Installing: /usr/local/lib/pkgconfig/orocos-bfl.pc– Installing:原创 2020-11-04 23:52:04 · 1122 阅读 · 0 评论 -
机械臂的零空间(nullspace)及零空间阻抗等相关控制的实现概论
文章目录1. 什么时候会出现零空间2. 零空间控制的基本原理3. 应用4. 说明5. 零空间阻抗控制6. 任务优先级控制7. 无反作用零空间先来三幅经典的案例图:1. 什么时候会出现零空间当末端保持不动,而其他关节可转动时,这些所有能转动的位形即构成零空间。对于冗余机器人,由于机器人自由度大于空间自由度,因此在任何时候都能出现;对于非冗余的情况,当机器人自由度大于要控制的空间自由度时,也会出现(如只控制末端位置而不管姿态的情况下);即:∃q˙,Jq˙=0\exists \dot q原创 2020-08-20 21:30:48 · 10193 阅读 · 3 评论 -
实现周期控制的两种方案
sleep方案思路:循环中执行任务,执行完任务后,计算该周期剩余的时间,通过sleep休眠该时间例如,ros中的Rate就是实现的这种方案,文章末尾附上Rate的源码ros::Rate r(10);//10HZwhile(ros::ok()){ // 其他任务 r.sleep(); //使用Rate对象调整休眠时间,考虑循环中其他任务占用的时间,确保让整个循环的频率是 10hz }定时器方案思路:定义一个定时器,使其到达下一周期时自动触发要执行的任务Note:无论哪.原创 2020-08-09 10:29:28 · 2001 阅读 · 0 评论 -
伺服电机的几种常用模式及控制模式的设置(DS402)
文章目录1. 常用模式2. 控制模式的设置(EtherCAT通讯DS402协议)(1)查看控制器支持的控制模式(2)设置控制器模式(3)查看当前控制模式1. 常用模式回零模式 (Homing Mode):顾名思义,用于寻零轮廓位置模式(Profile Position Mode):上位机给定目标绝对/相对位置、速度、加减速参数,伺服内部的轨迹发生器根据以上参数生成目标位置曲线指令,经由驱动器内部实现三环控制轮廓速度模式(Profile Velocity Mode):上位机给定目标速度原创 2020-08-09 10:29:01 · 24194 阅读 · 3 评论 -
连续PID的离散化及代码实现
1. 公式比例项可以让系统尽快达到一个小的误差范围,积分项对比例项作用产生的误差进行积分,也就是放大产生的误差,让其更快达到目标,但这时会导致系统过冲量较大,微分项的引入会抑制过冲。作用:P:加快调节速度I:减小误差,从而消除静差D:改善系统的动态性能进行离散化处理假设系统采样时间为△t△t△t,e(t)e(t)e(t)将序列化为:将输出u(t)u(t)u(t)序列化得到:比例项:积分项:微分项:因此,连续PID式变为:上式即为位置式PID。实.原创 2020-08-09 10:30:06 · 4859 阅读 · 1 评论 -
零力控制的实现方案
零力控制是协作型机器人的一个重要功能,目前实现主要有两种方式:基于位置控制的零力控制基于扭矩控制的零力控制基于位置控制:思路:驱动器工作在位置模式下,将外力大小和方向转换为位置指令使用力/力矩传感器或关节力矩传感器优点:外力检测精度高,系统稳定性好缺点:成本高;系统复杂性高;加速度过大时传感器检测数据包括惯性力、离心力等等,力传感器作用被弱化;效果受传感器性能影响估计外力(估计外力=反馈力矩-计算力矩)优点:电流反馈,不使用传感器,成本低缺点:精度依赖于动力学模型;受机械误原创 2020-07-28 21:32:23 · 4509 阅读 · 0 评论 -
OROCOS之KDL(1)—— Linux环境搭建篇
cd orocos_kinematics_dynamics/orocos_kdlmkdir build && cd buildcmake -DCMAK_BUILD_TYPE=Release ..make -j8sudo make install原创 2020-07-17 20:54:46 · 2865 阅读 · 2 评论 -
OROCOS之KDL(1)—— windows环境搭建篇
文章目录0. 说明1. 依赖库的版本查看2. 环境配置3. 测试0. 说明IDE环境:Qt 5.12系统:Windows 10之前有网友说这个框架只适合在ubuntu下玩,我不太同意这个观点,这就是个C++库嘛,跟平台有啥关系?1. 依赖库的版本查看KDL库是依赖与Eigen库的,不多赘述,直接通过KDL库中的CMakeList文件查看Eigen的版本信息。既然文件里说了,Eigen3的版本为3.1.2及更高,保险起见,就用3.1.2的版本。下载完,解压文件夹,待用。2.原创 2020-07-01 07:32:20 · 2138 阅读 · 0 评论 -
OROCOS综述篇
OROCOS 即 Open Robot Control Software,这是一个提供了机器人控制常用C++库的框架,主要由 Kinematics Dynamics Library(KDL)、Bayesian Filtering Library(BFL) 、 Orocos Toolchain 组成,其中Orocos Toolchain 包括Orocos Real-Time Toolkit (RTT)、Orocos Component Library (OCL)、OroGen等。官网:https:/..原创 2020-07-01 07:31:39 · 1339 阅读 · 0 评论 -
PMAS/GMAS使用笔记(个人笔记)
文章目录1.使能与轴状态操作2. 使用注意事项3.定时器的使用1.使能与轴状态操作单轴上电:a1.PowerOn()读取轴的状态:a1.ReadStatus(),状态量查阅API手册P210// 循环等待上电成功 giXStatus = a1.ReadStatus(); while ( !(giXStatus & NC_AXIS_STAND_STILL_MASK) && !(giXStatus & NC_AXIS_ERROR_STOP_MASK ) )//原创 2020-05-21 13:16:26 · 1154 阅读 · 0 评论 -
协作机器人控制方案
http://www.elmomc.cn/robot/协作机器人另一个额外特点是可以力矩感知、控制和限制。机器人感知外部极小的力矩变化并做出反应避免碰撞。在有些情况下,力矩传感器被放置在电机减速箱的后面来直接检测外部力矩的任何快速增加的变化, 而其他时候,机器人需要输出一定扭矩去提升负载和把负载从一个位置移动到另一个位置。当机器人识别出运动过程中一个异常扭矩增加值,如碰撞,会自动停下来。碰撞检测和规避机制的另外一个特点是当接触到物体或人员时进行工作模式转换,从非柔性全速模式(循环同步位置模式或循环同转载 2020-05-19 08:46:20 · 1872 阅读 · 0 评论 -
SOEM简单示例
基于https://github.com/OpenEtherCATsociety/SOEM/blob/master/test/linux/simple_test/simple_test.c,使用EtherCAT驱动Elmo Gold DC Whistle驱动器的示例测试文件://https://gist.github.com/mgruhler/7ccb12d95c4d171b64aa3d7ea82cc1a7#include <stdio.h>#include <string.h>原创 2020-05-17 10:54:55 · 10219 阅读 · 11 评论 -
常见的EtherCAT库
主站:IgH EtherCAT MasterSOEM(Simple Open EtherCAT Master)rtt_soem从站:SOES原创 2020-05-17 10:41:33 · 2027 阅读 · 0 评论 -
总线/通信笔记3 —— PDO与SDO的区别
PDO:过程数据对象(Process Data Object),过程数据的发送,实时、速度快,提供对设备应用对象的直接访问通道,它用来传输实时短帧数据,具有较高的优先权。PDO 传输的数据必须少于或等于 8 个字节,在应用层上不包含传输控制信息,报文利用率极高。SDO:服务数据对象(Service Data Obiect),服务数据的发送接收,实时性要求不高,SDO一般用来配置和获得节点...原创 2019-12-23 10:31:48 · 22307 阅读 · 0 评论 -
开源的EtherCAT Master框架比较
开源的EtherCAT Master简介EtherCAT的主站开发是基于EtherCAT机器人控制系统的开发中非常重要的环节。目前常见开源的主站代码为的RT-LAB开发的SOEM (Simple OpenSource EtherCAT Master)和EtherLab的the IgH EtherCAT® Master。使用起来SOEM的简单一些,而the IgH EtherCAT® Master...转载 2019-11-07 21:18:28 · 5694 阅读 · 0 评论 -
总线/通信笔记1 —— libmdbus库中文说明
文章目录1 描述2 环境(contexts)2.1 RTU环境2.1.1 创建modbus RTU 环境2.1.2 设置串口模式2.1.3 在 RTU环境下 中获取当前RTS模式2.1.4 在RTU环境下获取设置RTS模式2.1.5 自定义RTS实现2.1.6 获取RTU中当前RTS延迟2.1.7 设置RTU中的RTS延迟2.2 TCP(IPv4)环境2.2.1 创建Modbus TCP环境2.3...转载 2019-07-08 17:08:56 · 5492 阅读 · 1 评论