CANOpen应用层和通讯协议(CiA301)
CANOpen应用层和通讯协议,基于CiA301的中文翻译,整理好了书签,学习CANopen必备资料。CANopen应用层和通信协议目录1适用范围2参考资料2.规范性引用2.2信息参考3缩写和定义·非·垂8888831缩写3.2定义…标准帧扩展帧.999CAN-工DCOB-ID·········实体FSA,,,设备域9逻辑设备,++Node-ID+++++,.,+·+···对象9虚拟设备建模…104.1设备域模型104.2通信参考模型.4.2.1简述14.2.2 CANopen应用层………….114.2.2.1概述··::············::··114.2.22服务原语1142.2.3应用层服务124.3 CANopen设备模型43.1简述..124.4通信协议分类··;·······∴134.4.1简述4.4.2主/从协议6··134.4.3客户端/服务器协议1444.4生产者/消费者协议-推/拉模式144.45对象字典网络系统模型1545.1设备协议154.5.2应用协议155物理层5.1OS参考模型.∴…16介质相关接口53物理介质连接.54物理信令…166数据链路层186.1简述…∴186.2AN帧类型·4···:·;··4·44···.···:·4·4·4··4··+∴187应用层.197.1数据类型和编码规则..197.1.1数据类型和编码规则简述.19⊙CA2011-保留所有权利CANopen应用层和通信协议7.1.2数据类型定X位序207.1.3位序列7.1.3.1位序列定义7.1.3.2位序列的传输语法……207.1.4基本数据类型217.1.4.1简述217.1.4.27.1,4.3 Boolean.……7.1.4.4Void.7.1. 4.5 Unsigned interge222222111127.1.4.6 Signed Integer....7.1.4.7浮点数.··+·“·4·“··+:···;4······+······7.1.5复合数据类型237.1.6扩展数据类型7.1.6.1简述7.1.6.2八进制字符…27.1.6.3可显示字符串7.1.6.4 Unicode字符串7.1.6.5时间2223444247.1.6.6时间差.47.1.6.7域247.2通信对象247.2.1简述247.2.2过程数据对象(PDO).257.2.2.1简述257.2.2.2传输模式267.2.2.3触发模式.….267.2.2.4PD0服务7.2.2.5PD0协议287.2.3寻址PD0MPD0)7.2.3.1简述.287.2.3.2MPD0寻址模式297.2.3.3PD0服务297.2.3.4MD0协议307.2.4服务数据对象(SD)7.2.4.1简述317.2.4.2SD0服务7.2.4.3S00协议…43服务器49服务器49客户端服务器.…537.25同步对象(SYNC)597.2.5.1简述597.2.5.2SYNC服务597.2.5.3同步协议…7.2.6时间戳对象(TIME)7.2.6.1简述607.2.6.2TIME服务607.2.6.3TIME协议和“……………617.2.7应急对象(EMCY617.2.7.1应急对象的使用617.2.7.2应急的对象服务…ccⅰA2011-保留所有权利CANopen应用层和通信协议7.2.7.3应急对象协议…1547.28网络管理···.·:4·········7.2.8.1简述7.2.8.2NM服务7.2.8.3NMT协议6973网络初始化和系统 boot-up∴747.3.1简化的MMT启动∴747.3.2NT状态机.757.3.2.1概述7.3.2.2MMT状态767.3.2.3MT状态转换7.3.3通用预定义连接集7.3.4特定预定义连接集…787.3.5受限CAN-IDs7974对象字典7.4.1常规结构·++·“+“797.42索引和子索引的使用.807.4.3对象代码的使用7.4.4数据类型的使用.817.4.5访问权限的使用∴817.4.6类别和条目类别的使用.7.4.7数据类型条目的使用827.4.7.1简述7.4.7.2对象字典条目的组织结构7.4.8预定义复合数据类型规范7.4.8.1PD0通讯参数记录规格847.4.8.2PD0映射参数记录规格7.4.8.3SD0参数记录规格857.4.8.4身份记录规格857.4.8.50S调试记录规格.857.4.8.60S命令记录规格通信协议规范867.51对象及其条目说明规范∴867.5.2通信协议对象的详细规范877.5.2.1对象1000:设备类型1877.5.2.2对象1001h:错误寄存器7.5.2.3对象10021:制造商状态寄存器7.5.24对象1003:预定义错误域897.5.2.5对象1005:COB-ID同步消息∴917.5.2.6对象1006:通信循环周期.927.5.27对象1007:同步窗长度.927.5.28对象1008:制造商设备名称7.5.2.9对象1009:制造商的硬件版本937.5.2.10对象100A1:制造商软件版本947.5.2.11对象1000:监护周期947.5.2.12对象100D:生存周期因子7.5.2.13对象1010:保存参数957.5.2.14对象1011:恢复缺省参数977.5.2.15对象10121:时间戳对象COB-ID1007.5.2.16对象1013:高分辨率时间戳1017.5.2.17对象1014: EMCY COB-ID1017.5.2.18对象1015:EMCY抑制时间.1027.5.2.19对象1016:消费者心跳超时.103⊙CA2011-保留所有权利CANopen应用层和通信协议7.52.20对象1017:生产者心跳超时………1047.5.221对象1018:对象身份1057.5.2.22对象1019:同步计数器溢出值7.5.2.23对象1020:验证配置1077.5.2.24对象1021:存储EDS1087.5.2.25对象1022:存储格式1097.5.2.26对象1023:0S命令7.5.2.27对象1024:0s命令模式…·;·中1117.5.2.28对象10251:0s调试接口.1127.5.2.29对象1026:0S提示符命令接口.1137.5.2.30对象1027:模块列表1147.5.231对象1028:应急消费对象7.5.2.32对象1029:错误行为对象.1177.5.2.33对象1200127F:SD0服务器参数1187.5.234对象128012F:SD0客户端参数.1217.5.235对象1400~15FF1:RPD0通信参数1237.5.2.36对象160017FF:RPD0映射参数.1267.5.2.37对象180019FB:TPD0通信参数1297.5.238对象1A00"1BF:TPD0映射参数1347.5.2.39对象1FA011FCF:对像扫描仪列表1367.5.2.40对象1FD0^1FFR:对象分配列表…138附件A(更多信息)140注译版木记录142CA2011-保留所有权利CANopen应用层和通信协议1适用范围本规范定义了 CANopen应用层。包括数据类型、编码规则、对象字典以及 CANopen通信服务协议。此外,本规范也定义了 CANopen网络管理服务协议本规范规定了 CANopen通信协议,例如物理层、通信对象标识符预定义连接集、应急对象( Emergency)、时间戳和同步通笮对象⊙CA2011-保留所有权利CANopen应用层和通信协议2参考资料2.1规范性引用/EN61131-3EN61131-3,可编程控制器一一第3部分:编程语言/IS07498-1/IS07498-1,信息技术-开放系统互连-基本参考模型:基本模型/IS08859/IS08859,信息技术——8位单字节编码图形字符集ISol!898-1/Is011898-1,道路车辆—控制器区域网络(CAN)——第1部分:数据链路层和物理信令/IS0ll898-2/IS0118982,道路车辆——控制器区域网络(CAN)—一第2部分:高速介质访问单元/IS01l8983ⅠS0118983,道路车辆——控制器区域网络CAN——第3部分:低速度、容错的介质相关接口。/IS010646/IS010646,信息技术通用多八位编码字符集(LCS)2.2信息参考/IEEE754/TEEE754,标准的二进制的浮点运算/IEC62390IEC TR62390,常规的白动化设备一协议的准则3缩写和定义3.1缩写ARQ自动重复请求CAN控制局域网CAN IDCAN标识符COB通信对象COB-IDCOB标识符CRC循环冗余校验CSDOClicnt-SDODAM目的地址模式FSA有限状态机LLO逻辑链路控尙LSB最低位/字节MAC介质访问控制MDI介质相关接口MPDO多路复用PD0MSB最高位/字节网络管理NODE-ID节点标识符OSI开放系统互连PDO过程数据对象PLS物理层的信令ccⅰA2011-保留所有权利CANopen应用层和通信协议PMA物理介质连接RPDO接收PDORTR远程传输请求SAM源地址模式SDO服务数据对象SSDOServer-SDoSYNC同步对象TPDO发送PDO3.2定义标准帧/IS01898-1/屮定义的最多可包含8个字节数据和11位标识符的消息扩展帧/IS011898-1/中定义最多可包含8个字节数据和29位标识符的消息CAN-ID/IS011898-1/中定义的CAN数据和远程帧标识符COB-ID包含CAN-1D和附加控制位的标识符实体特指事物如人、地点、过程、概念、组织或事件FSA若干计算行为组成的模式作为一个状态,一个启动状态,输入一个字母,映射输入符号和当前状态到下一状态的转换功能:以一个宁符串输入作为启动状态的计算起始;依赖传递函数变换到新状态(译者注:无法按字面翻译,译者定义为表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型,即有限状态机)。设备域1.自动化系统中独立联网的物理实体,在特定的上下文和分隔符中使用自身接口执行指定的功能2.在自动化系统中向其他实体扶行控制、操纵和/或传感功能和相关接口的实体。逻辑设备根据改备域模型所组织的一系列对象和行为,描述了该设备的数据和行为使网络所理解Node-ID网络范围内每个 CANopen设备的独特标识对象封装了状态和行为有明确界限和身份的实体虚拟设备能够像域设备一样完成所属功能事件的软件实体,⊙CA2011-保留所有权利9CANopen应用层和通信协议4建模4.1设备域模型如图1所示,设备域至少包含一个 CANopen设备。其中每个 CANopen设备至少带有一个包含数据链路层(见本章第6节)和物理层(见本章第5节)的网络接凵、一个node-1D、至少一种通信状态机(FSA)。通信状态机不仅带有NMT从状态机(见7.3.2),还包括应急状态机(见7.27)等共他附加状态机。这些附加状态机定义于所谓的框架协议内,不属于本协议范围。一个 CANopen设备至少包含一个多至8个逻辑设备,且不可分割于多个设备域。每个逻辑设备可包含一个逻辑设备状态机(可选)和多个虚拟设备。逻辑设备不可分割于多个 CANopen设备。逻辑设备定义于所谓的设备协议中(见4.5.1),不在本协议的范围内。每个虚拟设备包含一个虚拟设备状态机且不可分割于多个逻辑设备。虚拟改备定义于所请的应用协议(请参阅子句452),不在本协议范围内。设备域的最小化结构如图2所示。Field deviceCANopen device (Node-ID)CANopen device (Node-ID)CommunicationCommunicationCommunicationCommunicationFSA●●FSAFSAFSA1st logical device1st logical deviceLogical deviceLogical deviceLogical deviceLogical device●自FSAFSAFSAFSAVirtual deviceVirtual deviceVirtual deviceVirtual deviceDevice●●DeviceDevice●●●DeviceFSAFSAFSAFSA8th logical device8th logical deviceLogical device●●Logical devicLogical device@●●Logical deviceFSAFSAFSAFSAVirtual deviceVirtual deviceVirtual deviceVirtual deviceDevice鲁●●DeviceDeviceDeviceFSAFSAFSAFSA图1:设备域模型ccⅰA2011-保留所有权利
- 2020-12-04下载
- 积分:1
六轴机械臂正解(FK)和逆解(IK)算法
整理出了如下几个计算六轴机械臂正解和逆解的关键点:01_机器人坐标系和关节的说明02_算法坐标系的建立03_D-H参数表的建立04_FK(正解)算法05_Matlab辅助计算FK(正解)06_IK(逆解)算法07_Matlab辅助计算IK(逆解)文档中针对FK以及IK算法的推导均有详细的推导过程。希望各位能根据推导过程写出自己的代码。图1针对机器人的关节坐标系,我们还需要规定各个关节的转动方向,如下图所示,我们依次描叙了各个关节的正负方向。在关节坐标系下,机器人各个关节的转动方向,必须和下图相符图22.机器人直角坐标系目前所说的直角坐标系是机器人的工具坐标系,如下图所示,因为该机器人没有安装执行末端,所以,工具坐标系原点在第六轴末端法兰中心处,红色箭头是Ⅹ轴,蓝色箭头是乙轴,根据右手定则确定Y轴方向@图3基坐标系所在的位置是定义机器人基座的位置,如上图所示,坐标系原点在第一关节的中心处,红色箭头所示为Ⅹ轴,蓝色箭头所示为乙轴,根据右手定则,即可确定Y轴的方向。具体如上图旁边那个坐标系所示。当我们说六轴机械臂位姿时,说的是六轴机械臂末端的位姿,该位姿包括六个参数,分别为Ⅹ YZABC。六轴机械臂未端的位姿是以基坐标系作为参考坐标系的:笛卡尔坐标系的Ⅹ轴,Ⅹ轴距离Y:笛卡尔坐标系的Y轴,Y轴距离Z:笛卡尔坐标系的Z轴,z轴距离A:XY-Z固定角坐标系下的偏转角B:X-Y-Z固定角坐标系下的俯仰角C:XY-Z固定角坐标系下的回转角ZA2呈Ax图如上图所示,A对应第一个坐标系中的γ,B对应第二个坐标系中的β,C对应第三个坐标系中的Q。为什么我们需要花费专门的一节来讲解六轴机器人的坐标系和关节?因为我们后续要学习的FK和就是以这个为基础的。FK是已知六轴机械臂在关节坐标系下各个关节转动的角度,然后求解直角坐标系下的Ⅹ YZABOK是已知六轴杋械臂在直角坐标系下的 XYZABO,然后求解关节坐标系下各个关节转动的角度二.算法坐标系的建立为了得出D-H参数表,我们首先需要针对六轴机器人的各个关节建立坐标系,在固定的坐标系下,才能最终得出连杆之间的变换关系,从而建立D-H参数表。82个2算法坐标系确定的通用方法如下1)坐标系的Z轴,与各个关节的旋转中心轴线重合2)坐标系的X轴,与沿着相邻两个z轴的公垂线重合3〕坐标系的Y轴,可以通过右手定则来确定当相邻两个z轴相交时,确定坐标系的方法如下1)坐标系的Y轴,沿着第一个Z轴与下一个z轴相交的延长线为Y轴2)坐标系的Ⅹ轴,通过右手定则确定当相邻两个Z轴平行时,确定坐标系的方法如下1)坐标系Ⅹ轴,相邻两个乙轴平行,做两个乙轴的公垂线,相交于下一个z轴为Ⅹ轴,方向为第一个Z轴到下一个Z轴的方向2)坐标系Y轴,通过右手定则确定三.D-H参数表的建立D-H参数表,实际上是相邻各个关节坐标的变换关系表,根据之前针对各个关节所建立的丛标系,按照如下四条变换规则,即可得到D-H参数表。变换规则1)绕Z轴,旋转9n+1n与Xn+1平行(方向一致))沿Zn轴,平移与Xn+1共线3)沿Xn轴,平移aAn与Xn+1原点重4)将Zn绕Xn+1轴,旋转αn+1Zn与Zn+1共线建立D-H参数表的详细步骤第一步,从第一关节到第二关节之间的变换绕z轴,旋转0度,让X0与X1平行且方向一致沿z轴,平移242,让Ⅺ0与X1共线沿Ⅺ轴,平移0,Ⅺ与X1原点重合将石绕X1轴,旋转90度,Z0与z1共线第二步,从第二关节到第三关节之前的交化绕z1轴,旋转90度,让X1与X2平行且方向一致沿Z1轴,平移0,让X1与X2共线沿X1轴,平移225,X1与X2原点重合将Z1绕X2轴,旋转0度,Z1与Z2共线第三步:从第三关节到第四关节之间的交换绕z2轴,旋转0度,让X2与X3平行且方向一致沿Z2轴,平移0,让Ⅹ2与X3共线沿X2轴,平移0,X2与X3原点重合将Z2绕X3轴,旋转90度,Z2与z3共线第四步:从第四关节到第五关节之间的变换绕z3轴,旋转0度让X3与X4平行且方向一致沿3轴,平移22886,让X3与X4共线沿3轴,平移0,X3与X4原点重合将Z3绕X1轴,旋转90度,Z3与Z1共线第五步:从第五关节到第六关节之间的变换绕Z4轴,旋转90度,让X4与X5平行且方向一致沿Z4轴,平移0,让X4与X共线沿X轴,平移0,X1与K5原点重合将Z4绕X5轴,旋转90度,Z4与z共线第六步:从第六关节到未端之间的变换绕z轴,旋转0度,让X5与X6平行且方向一致沿z轴,平移-50,让X5与X6共线沿X轴,平移0,X5与K6原点重合将z绕X轴,旋转0度,Z5与z6共线根据上图所示机械臂的尺寸参数以及以上六个步骤的变换,D-H参数表如下所示420901-202253-4228.864-5900900-500四.正解(FK)算法根据连杆变换规贝T=R(Z, B1*T(Z, di)*T(X, ai)*R(X, ai)6;00因为R(Z06:00100000aT(Z,a1)=00001000011000T(xa10100001d0001000 caROX. a)= osa oa;0001根据以上矩阵变换,可以得到如下连杆变换的通用矩阵如下Bi -se, ca s0,sa, a,c61s0 ce:cad sa asa0 saca d00根据以上连杆变换的通用矩阵和之前的D-H参数表,可以得到如下δ个连杆变换矩阵e10s61^0S0 0T6100102420001s20-22S620225c62000001620s60b203001000040s日4000c0 0010228.860001s50c650C650s650000006-s6006000C001-40FK算法需要解决的问题是:已知各个关节的转动角度,需要求出末端的位姿。已知:(61,2,θ3,θ4,θs,θ6求解:(X,Y,乙,A,B,C)计算公式如下所示13机器末端的位姿矩阵为72272313273300011722723py07*1T2T*37*4T5Tp000在以上的推导过程中,、T、2、37、4、7分别为相对于01、02、63、64、6s、的已知量。由此可以求解出位置变量(pPP)以及姿态变量a1T2723五. Matlab辅助计算正解(FK)根据上一章,我们有如下结论10s10100102420001s2-c620-225s6CS20225C60010
- 2020-12-05下载
- 积分:1