05-14-2019,上午06:25
你好,
我一直试图了解RoboDK如何从gcode创建目标。例如,示例Gcode行:G1 X123.45 Y67.89 Z0.15 F1200如何在ABB机器人的MOVEL指令中转换为机器人目标?
我知道机器人加工项目和3d打印项目是自动完成的,但我想在特定的运动过程中嵌入一些数字输入输出信号和速度信息,因此需要更多的灵活性。
我已经查看了c# API示例(也是python版本)中的RoboDK.cs文件中的一些函数。将讨论具体到ABB IRC5 MoveL命令,根据我的理解,创建一个MoveL机器人目标的工作流程如下:
1.使用位置和欧拉角[xyzrpw]创建一个姿态矩阵:使用函数
在c# API中(与Transl(x,y,z)*rotz(w)*roty(p)*rotx®相同)
2.从姿态矩阵中获取方位信息(ABB使用四元数)[q1 q2 q3 q4]:使用函数
3.计算姿态所需的关节角度(使用逆运动学?)
4.从关节角度得到构型向量[cf1 cf4 cf6 cfx]
问题:
RoboDK如何从gcode行G1 X123.45 Y67.89 Z0.15 F1200计算[xyzwpr](更重要的是“wpr”欧拉角)?我知道这与TCP框架和XYZ坐标w.r.t用户框架(工作对象框架)之间的关系有关,但我无法理解它。
RoboDK是否使用逆运动学来计算给定姿态的关节值?c# API中有什么函数可用吗?
任何帮助都将不胜感激!
谢谢
岩石
我一直试图了解RoboDK如何从gcode创建目标。例如,示例Gcode行:G1 X123.45 Y67.89 Z0.15 F1200如何在ABB机器人的MOVEL指令中转换为机器人目标?
我知道机器人加工项目和3d打印项目是自动完成的,但我想在特定的运动过程中嵌入一些数字输入输出信号和速度信息,因此需要更多的灵活性。
我已经查看了c# API示例(也是python版本)中的RoboDK.cs文件中的一些函数。将讨论具体到ABB IRC5 MoveL命令,根据我的理解,创建一个MoveL机器人目标的工作流程如下:
1.使用位置和欧拉角[xyzrpw]创建一个姿态矩阵:使用函数
代码:
静态公共垫子FromXYZRPW(双x,双y,双z,双w,双p,双r)
2.从姿态矩阵中获取方位信息(ABB使用四元数)[q1 q2 q3 q4]:使用函数
代码:
静态双元[]ToQuaternion(Mat Ti)
3.计算姿态所需的关节角度(使用逆运动学?)
4.从关节角度得到构型向量[cf1 cf4 cf6 cfx]
问题:
RoboDK如何从gcode行G1 X123.45 Y67.89 Z0.15 F1200计算[xyzwpr](更重要的是“wpr”欧拉角)?我知道这与TCP框架和XYZ坐标w.r.t用户框架(工作对象框架)之间的关系有关,但我无法理解它。
RoboDK是否使用逆运动学来计算给定姿态的关节值?c# API中有什么函数可用吗?
任何帮助都将不胜感激!
谢谢
岩石