1.一种无线控制的六自由度机械臂示教系统,其特征在于:PC端APP安装在用户的Windows电脑上,数据采集器与PC端APP通过WiFi无线连接,数据采集器还与示教机械臂通过RS485电路连接;
所述的PC端APP包括依次连接的交互界面模块、APP主控模块、轨迹优化模块、控制文件生成模块,控制文件生成模块通过文件传输协议FTP将控制代码文件下载到一个或多个工作机械臂中,工作机械臂完成优化后的示教工作;
数据采集器连接MCU主控模块,MCU主控模块通过WiFi无线连接PC端,数据采集器与示教机械臂关节的六个绝对式编码器通过RS485电路进行双向通信连接,六个绝对式编码器分别对应机械臂的六个自由度;数据采集器输出数据给MCU主控模块,MCU主控模块输出数据给PC端,PC端输出操作指令给MCU主控模块,MCU主控模块输出操作指令给数据采集器;数据采集器和示教机械臂、MCU主控模块都连接外接电源模块;
各模块的具体构成是:
供电模块,其输入为+24V交流电压,电压输入后首先经过保护电路,保护电路可以防止电流回流对电源产生影响和破坏;之后+24V交流电压进入稳压滤波电路,再将稳压滤波后的+24V交流电压作为六自由度示教机械臂关节中的绝对式编码器的供电电源;然后+24V交流电压经过降压电路、整流电路和稳压滤波电路分别转变为+5.4V直流电压和+3.3V直流电压,+5.4V直流电压用于给部分数据采集电路供电,+3.3V直流电压用于给MCU和部分数据采集电路供电;
数据采集模块,通过RS485电路与六自由度示教机械臂关节中的绝对式编码器连接,通过串口与MCU的主芯片连接;当数据采集模块收到MCU主控模块发来的控制指令后,通过RS485电路对六个绝对式编码器发送广播指令或查询指令代码,编码器根据相应指令返回某个关节的实时角度数据或者六个关节的实时同步运动角度数据,采集模块再将角度数据通过串口发送给MCU主控模块;
MCU主控模块,由主芯片和其它辅助电路组成,负责通信功能的配置以及指令和数据的处理;MCU主控模块控制数据采集器通过WiFi通信模块与PC端建立连接;将接收到的一个或多个编码器的角度信息进行整合处理,并通过WiFi通信模块发送给PC端APP;通过WiFi通信模块接收来自PC端APP的各种指令,做出相应处理,包括向PC端APP发送连接响应、采集准备就绪信号、停止采集信号、采集频率设置成功或失败响应、采集频率和采集周期信息、修改各轴地址成功或失败响应、各轴地址信息,和向数据采集模块发送开始采集指令、停止采集指令,以及修改各轴地址、修改采集频率;
WiFi通信模块,由下位机数据采集器的WiFi模块开启WiFi热点,PC端通过无线网络连接接入热点,采用UDP通信协议模式建立无线连接,并通过WiFi透传模式快速传输数据;通过WiFi通信模块,PC端APP可以向数据采集器发送各种控制指令,数据采集器可以向PC端APP发送角度和参数信息;
交互界面模块,用于用户对整个示教系统进行设置和操作,以及显示示教系统的各种相关参数和数据;通过PC端APP的交互界面,用户可以设置要连接的WiFi热点的IP地址和网络端口号、示教机械臂各个关节内的编码器的正反向标定、角度数据的采集频率、示教机械臂各个轴的轴地址、所使用的机械臂型号以及控制代码文件的下载路径,并将这些设置参数传给APP主控模块处理;用户还能在PC端APP的交互界面进行WiFi通信的连接和断开、角度数据采集的开始和停止、生成控制代码文件、查询数据采集器就绪状态、查询角度数据采集频率和周期以及查询示教机械臂各轴的轴地址的操作,这些操作指令会传给APP主控模块进行处理;交互界面还会对所有能设置的参数和采集得到的角度数据进行显示,这些参数和数据从APP主控模块得到;
APP主控模块,是PC端APP的通信中枢和控制中枢,对各种数据、参数和指令进行收发和处理;APP主控模块可以控制PC端APP通过WiFi通信模块与数据采集器建立通信连接;可以从交互界面模块接收到参数设置指令和操作指令,进行处理后生成相应通信协议的控制指令,并通过WiFi通信模块发送给MCU主控模块和通过网络通信控制仿真模块;能够通过WiFi通信模块接收来自数据采集器的角度数据和参数信息,将实时角度数据和参数信息传给交互界面显示,并在示教结束后生成示教机械臂的各个关节的运动角度数据包,将角度数据包传给轨迹优化模块进行优化和通过网络通信发给仿真模块进行仿真;
轨迹优化模块,接收来自APP主控模块的示教机械臂的各个关节的运动角度数据包,结合当前所使用的机械臂型号的结构参数,根据D-H参数建模方法建立机械臂每个杆件在各个关节处的笛卡尔坐标系,利用正运动学公式求解末端执行器相对固定参考坐标系的位置和姿态,求出多组解后即得到了示教轨迹;再对示教轨迹使用笛卡尔轨迹规划算法进行轨迹优化;最后利用逆运动学公式结合当前所使用的机械臂型号的结构参数对优化后的轨迹求其关节空间中各关节的关节变量,即可获得到每个采集时刻优化后的运动角度数据包;
可将角度数据包发给仿真模块进行仿真,并且发给控制文件生成模块进行控制代码文件生成;
仿真模块,使用RoboDK仿真软件,模拟工作机械臂的工作轨迹执行情况;PC端APP可以将采集得到的示教过程中示教机械臂的各个关节的运动角度数据包直接通过网络通信传输给RoboDK,RoboDK软件中的虚拟工作机械臂会执行相应的示教运动轨迹;能够对采集得到的示教过程中示教机械臂的各个关节的运动角度数据包在轨迹优化模块中进行优化后,再通过网络通信将优化后的运动角度数据包传输给RoboDK,RoboDK软件中的虚拟工作机械臂就会执行相应的优化后的示教运动轨迹;当确定RoboDK软件中执行的优化后的示教运动轨迹是满足工作需求的后,再让控制文件生成模块生成控制实际工作机械臂完成工作所需的控制代码文件;
控制文件生成模块,生成控制实际工作机械臂完成工作所需的控制代码文件;其输入是轨迹优化模块对采集得到的示教过程中示教机械臂的各个关节的运动角度数据包进行优化后的运动角度数据包;若仿真模块肯定了优化方案的可行性,则控制文件生成模块在收到优化后的运动角度数据包后,就将其转化为可以控制实际工作机械臂执行工作的控制代码文件;再通过FTP将控制代码文件下载到一个或多个工作机械臂中,由工作机械臂完成优化后的示教工作。
2.根据权利要求1所述的无线控制的六自由度机械臂示教系统,其特征在于:所述的轨迹优化模块从PC端APP主控模块接收到示教角度数据包后,结合了正逆运动学求解和笛卡尔轨迹规划算法来优化示教轨迹,再将优化后的角度数据包发给仿真模块进行仿真,并且发给控制文件生成模块进行控制代码文件生成,所述的正逆运动学求解和笛卡尔轨迹规划算法如下:
2.1)选择示教机械臂六个关节的D-H参数作为输入量,选择工作机械臂各个关节的关节角θi作为输出量,D-H参数包括关节1≤i≤6的连杆长度ai、连杆转角αi、连杆偏距di和关节角θi;
2.2)首先对示教机械臂构建其D-H参数模型,由于各杆件相对参考坐标系有转动和平移两个动作,因此对每个杆件沿关节轴建立一个关节坐标系,用以下四个参数来描述杆件:(1)连杆长度ai:关节轴i和关节轴i+1之间公垂线的长度;
(2)连杆转角αi:作一个与两关节轴之间的公垂线垂直的平面,将关节轴i和关节轴i+1投影到该平面,在平面内轴i按右手法则绕ai转向轴i+1,其转角即为连杆转角;
(3)连杆偏距di:公垂线ai-1与关节轴i的交点到公垂线ai与关节轴i+1的交点的有向距离长度;
(4)关节角θi:ai-1的延长线与ai之间绕关节轴i旋转所形成的夹角,即采集得到的示教机械臂关节角度;
2.3)以基座坐标系作为T0坐标系,设 表示i关节坐标系相对i-1关节坐标系的位置和姿态,则:
其中,sθi=sinθi,cθi=cosθi,sαi=sinαi,cαi=cosαi;
2.4)对于六自由度机械臂,获得机械臂末端执行器位姿相对固定参考坐标系的变换矩阵,即机械臂末端位置点坐标的变换矩阵:
2.5)求得每个采集时刻的示教臂的末端执行器位姿相对固定参考坐标系的变换矩阵后,即可获得到由每个采集时刻示教臂的末端执行器位姿相对固定参考坐标系的坐标点组成的离散示教轨迹;
2.6)使用笛卡尔圆弧插补法,先取示教轨迹中的p1(x1,y1,z1)、p2(x2,y2,z2)和p3(x3,y3,z3)三点,这三点组成的平面方程为Ax+By+Cz=1,则可由下式解得平面方程参数A、B和C的值:
2.7)求出p1p2和p2p3两条线段的中点p12(x12,y12,z12),p23(x23,y23,z23),设圆心坐标为po(xo,yo,zo),求解获得圆心坐标,以圆心为球心,r为半径的球参数方程为:其中,φ表示球面上任意一点与球心的连线与其在X-Y平面的投影的夹角,α表示球面上任意一点与球心的连线在X-Y平面的投影与X轴的夹角;
2.8)将上式代入平面方程式Ax+By+Cz=1中,得到:
A(rcosφcosα+xo)+B(rcosφsinα+yo)+C(rsinα+zo)=1
从而获得空间圆的参数方程为:
2.9)取矢量 为X1轴向量,平面法向量为Z1轴向量,建立T1坐标系,由于姿态变换矩阵为单位正交矩阵,则有Y1=X1×Z1,进而可以求得Y1轴向量,其姿态变换矩阵R和平移向量T为:其中,xp,yp,zp分别表示T1坐标系中的Y1轴向量在参考坐标系的X、Y、Z三个轴方向的投影分量的值;
设 则有:
姿态变换矩阵R和平移向量T可以得到坐标变换矩阵为:
2.10)取末端轨迹在T1的位置坐标为p'(x',y',z'),通过姿态变换矩阵和平移向量可以求得末端轨迹在T0中的位置p(x,y,z),即为圆弧插补的规划轨迹;
2.11)在优化后的轨迹上选择需要的插补点,并列出每个点p(x,y,z)在该时刻示教臂的末端执行器位姿相对固定参考坐标系的变换矩阵:
2.12)对每个优化后的插补点p(x,y,z)进行逆运动学求解,其中rij取与插补点最近的末端坐标点的变换矩阵中的值,则可按顺序求解得到:θ23=Atan2[(-a3-a2c3)pz-(c1px+s1py)(d4-a2s3)(a2s3-d4)pz-(a3+a2c3)(c1px+s1py)]θ2=θ23-θ3θ4=Atan2(-r13s1+r23c1,-r13c1c23-r23s1c23+r33s23)
s5=-[r13(c1c23c4+s1s4)+r23(s1c23c4-c1s4)-r33(s23c4)]c5=r13(-c1s23)+r23(-s1s23)+r33(-c23)
θ5=Atan2(s5,c5)
s6=-r11(c1c23s4-s1c4)-r21(s1c23s4+c1c4)+r31(s23s4)
c6=r11[(c1c23c4+s1s4)c5-c1s23s5]+r21[(s1c23c4-c1s4)c5-s1s23s5]-r31(s23c4c5+c23s5)θ6=Atan2(s6,c6)其中,Atan2为反正切函数,si=sinθi,ci=cosθi;
2.13)在每个关节角度求出后,接着在每个关节可活动的范围内通过对关节角加减
360°,找出所有的可能值,再利用连续性原则从所有的可能值里选择唯一合理值,即与上一时刻该关节的角度值最接近的值;求出每个优化后的末端位姿对应的各个关节角,整理成角度数据包再发给仿真模块进行仿真,并且发给控制文件生成模块进行控制代码文件生成。
3.根据权利要求1所述的无线控制的六自由度机械臂示教系统,其特征在于:所述的数据采集器与PC端APP之间的通信方式采用了WiFi无线通信,实现了数据的无线交互;其数据传输方式采用UDP通信协议,数据采集器与PC端APP互相锁定了对方的IP地址和端口号,为一对一的通信,第三方无法再接入连接,保证了数据传输的保密性;对指令、参数、角度数据都做了校验,保证了数据传输的正确性;采用WiFi透传模式,数据的无线收发几乎无延迟,保证了数据传输的高效性;所用的WiFi模块传输距离远穿墙能力强,并且一旦锁定了双方的IP地址和端口号后,无论是数据采集器或是PC端单方断电掉线重连后都能直接继续进行数据传输,保证了数据传输的稳定性。