
机器人Python编程与开发-第7章-Python-SDK运动模块.pptx
26页第7章 Python SDK运动模块为工业增智 为教育赋能2 2 本章目录7.1 设置与获取机械臂的最大速度/加速度7.2 机械臂关节运动7.3 直线运动7.4 机械臂轨迹运动7.5 机械臂状态获取与参数设置7.6 思考与练习为工业增智 为教育赋能3 3 本章要求 知识目标了解机械臂基于Python语言的运动属性;了解机械臂基于Python语言的运动形式;了解机械臂基于Python语言的运动控制为工业增智 为教育赋能4 47.1Python SDK运动模块设置与获取机械臂的最大速度/加速度为工业增智 为教育赋能5 57.1 设置与获取机械臂的最大速度/加速度机械臂可分为关节型运动和末端型运动关节型运动包含:关节运动,(movej)示教运动中的关节示教(JOINT1,JOINT2,JOINT3,JOINT4,JOINT5,JOINT6),轨迹运动下的JIONT_CUBICSPLINE和JOINT_UBSPLINEINTP末端型运动包含:直线运动(MODEL),示教运动中的位置示教和姿态示教(MOV_X,MOV_Y,MOV_Z,ROT_X,ROT_Y,ROT_Z)以及轨迹运动下的ARC_CIR,CARTESIAN_MOVEP,CARTESIAN_CUBICSPLINE和CARTESIAN_UBSPLINEINTP。
注意:用户在设置速度和加速度时,需要根据运动的类型设置关节型运动需要设置关节型运动的最大速度和加速度,末端型运动则需设置末端型运动的最大速度和加速度1)设置关节运动的最大加速度的函数为:def set_joint_maxvelc(self,joint_maxvelc=(1.0,1.0,1.0,1.0,1.0,1.0)(2)获取关节运动的最大加速度的函数为:def get_joint_maxacc(self)(3)设置关节运动的最大速度的函数为:def set_joint_maxacc(self,joint_maxacc=(1.0,1.0,1.0,1.0,1.0,1.0)为工业增智 为教育赋能6 67.1 设置与获取机械臂的最大速度/加速度(4)获取关节运动的最大速度的函数为:def get_joint_maxvelc(self)(5)设置末端型运动的最大加速度的函数为:def set_end_max_line_acc(self,end_maxacc=0.1)(6)获取末端型运动的最大加速度的函数为:def get_end_max_line_acc(self)(7)设置末端型运动的最大速度的函数为:def set_end_max_line_velc(self,end_maxvelc=0.1)(8)获取末端型运动的最大速度的函数为:def get_end_max_line_velc(self)为工业增智 为教育赋能7 77.2Python SDK运动模块机械臂关节运动为工业增智 为教育赋能8 87.2 机械臂关节运动控制或者获取机械臂的状态信息的基本流程为:(1)通过网络连接机械臂的控制器。
2)初始化机械臂:包括上电,松刹车,设置相关参数等3)业务操作:包括机械臂运动控制和状态获取等4)机械臂shutdown5)断开网络连接控制机械臂运动通过关节运动的形式移动至指定的关节位置,该运动属于关节型运动其代码块如下所示:#测试函数def movej_demo(test_count):#初始化logger logger_init()#启动测试 logger.info(0 test beginning.format(Auboi5Robot.get_local_time()#系统初始化 Auboi5Robot.initialize()为工业增智 为教育赋能9 97.2 机械臂关节运动#创建机械臂控制类 robot=Auboi5Robot()#创建上下文 handle=robot.create_context()#打印上下文 logger.info(robot.rshd=0.format(handle)try:#链接服务器 ip=192.168.100.236 port=8899 result=robot.connect(ip,port)if result!=RobotErrorType.RobotError_SUCC:logger.info(connect server0:1 failed.format(ip,port)else:#上电#robot.robot_startup()#循环测试 while test_count 0:test_count-=1 joint_status=robot.get_joint_status()logger.info(joint_status=0.format(joint_status)为工业增智 为教育赋能10107.2 机械臂关节运动#初始化全局配置文件 robot.init_profile()#设置运动属性:关节运动最大加速度 单位:弧度每秒 robot.set_joint_maxacc(1.5,1.5,1.5,1.5,1.5,1.5)#设置运动属性:关节运动最大加速度 单位:弧度每秒方 robot.set_joint_maxvelc(1.5,1.5,1.5,1.5,1.5,1.5)#获取关节最大加速度 logger.info(robot.get_joint_maxacc()#轴动1 零位 joint_radian=(0.000000,0.000000,0.000000,0.000000,0.000000,0.000000)logger.info(move joint to 0.format(joint_radian)robot.move_joint(joint_radian)#轴动2 joint_radian=(0.541678,0.225068,-0.948709,0.397018,-1.570800,0.541673)logger.info(move joint to 0.format(joint_radian)robot.move_joint(joint_radian)#轴动3 joint_radian=(-0.000003,-0.127267,-1.321122,0.376934,-1.570796,-0.000008)logger.info(move joint to 0.format(joint_radian)robot.move_joint(joint_radian)#断开服务器链接 robot.disconnect()为工业增智 为教育赋能11117.2 机械臂关节运动 except RobotError,e:logger.error(0 robot Event:1.format(robot.get_local_time(),e)finally:#断开服务器链接 if robot.connected:#关闭机械臂 robot.robot_shutdown()#断开机械臂链接 robot.disconnect()#释放库资源 Auboi5Robot.uninitialize()logger.info(0 test completed.format(Auboi5Robot.get_local_time()程序块说明如下:(1)result=robot.connect(ip,port):与机械臂控制器建立网络连接,机械臂的IP根据实际给出,端口号为8899。
2)robot.robot_startup():对机械臂进行初始化操作,包括上电,松刹车,设置相关参数等3)robot.init_profile():由于机械臂运动相关的属性是全局的,所以此函数主要负责初始化运动属性的参数,并将参数设置为默认值4)robot.set_joint_maxacc(1.5,1.5,1.5,1.5,1.5,1.5):设置机械臂关节型运动的最大加速度5)robot.set_joint_maxvelc(1.5,1.5,1.5,1.5,1.5,1.5):设置机械臂关节型运动的最大速度6)robot.move_joint(joint_radian):控制机械臂运动至指定的关节角为工业增智 为教育赋能12127.3Python SDK运动模块直线运动为工业增智 为教育赋能13137.3 直线运动控制机械臂通过直线运动的形式移动至指定的位置,该运动属于末端型运动其代码块如下所示:#测试函数def movel_demo(test_count):#初始化logger logger_init()#启动测试 logger.info(0 test beginning.format(Auboi5Robot.get_local_time()#系统初始化 Auboi5Robot.initialize()#创建机械臂控制类 robot=Auboi5Robot()#创建上下文 handle=robot.create_context()#打印上下文 logger.info(robot.rshd=0.format(handle)try:#链接服务器 ip=192.168.100.236 port=8899 result=robot.connect(ip,port)为工业增智 为教育赋能14147.3 直线运动 if result!=RobotErrorType.RobotError_SUCC:logger.info(connect server0:1 failed.format(ip,port)else:#重新上电#robot.robot_shutdown()#上电#robot.robot_startup()#循环测试 while test_count 0:test_count-=1 joint_status=robot.get_joint_status()logger.info(joint_status=0.format(joint_status)#初始化全局配置文件 robot.init_profile()#设置机械臂末端最大线加速度(m/s)robot.set_end_max_line_acc(0.5)#获取机械臂末端最大线加速度(m/s)robot.set_end_max_line_velc(0.2)#获取关节最大加速度 logger.info(robot.get_joint_maxacc()#路点1 joint_radian=(0.541678,0.225068,-0.7,0.397018,-1.570800,0.541673)为工业增智 为教育赋能15157.3 直线运动 logger.info(move joint to 0.format(joint_radian)robot.move_line(joint_radian)#直线运动2 joint_radian=(-0.000003,-0.127267,-1.321122,0.376934,-1.570796,-0.000008)logger.info(move joint to 0.format(joint_radian)robot.move_line(joint_radian)#断开服务器链接 robot.disconnect()except RobotError:logger.error(0 robot Event:1.format(robot.get_local_time()finally:#断开服务器链接 if robot.connected:#关闭机械臂 robot.robot_shutdown()#断开机械臂链接 robot.disconnect()#释放库资源 Auboi5Robot.uninitialize()logger.info(0 test completed.format(Auboi5Robot.get_local_time()为工业增智 为教育赋能16167.3 直线运动程序块说明如下。
