UFACTORY机械臂 - 连续的直线运动

部署运行你感兴趣的模型镜像

3.连续的直线运动

等待

直线运动set_potision()接口中,通过wait参数设置等待与否。

  • wait=True, 表示当前指令执行完成后,再给机械臂发送下一条指令。
  • wait=False, 表示当前指令发送后,不管机械臂是执行,立即发送下一条指令。
    例如,让机械臂以200mm/s 的速度运动到下列A,B,C,D四个点,指令间不等待。

A点 [300,100,150,180,0,0]
B点 [300,-100,150,180,0,0]
C点[400,-100,150,180,0,0]
D点[400,100,150,180,0,0]

完整的代码如下

from xarm.wrapper import XArmAPI  
arm=XArmAPI('192.168.1.47')  

arm.motion_enable(enable=True)  
arm.set_mode(0)  
arm.set_state(0)

arm.set_position(300,100,150,180,0,0,speed=200,wait=False)  
arm.set_position(300,-100,150,180,0,0,speed=200,wait=False)  
arm.set_position(400,-100,150,180,0,0,speed=200,wait=False)  
arm.set_position(400,100,150,180,0,0,speed=200,wait=False)

交融半径

交融半径,类似于汽车转弯的转弯半径。设置大于0的交融半径,机械臂轨迹转弯过程将变得顺滑。
直线运动set_potision()接口中,交融半径通过radius参数传入。
radius参数只有在wait=False的情况下才有效,且radius的设置会影响轨迹的连续性。

下表显示了轨迹连续性与wait、radius参数之间的关系

参数radius<0radius≥0
wait=True不连续不连续
wait=False不连续连续

所以,当且仅当wait=Flase且randius≥0时,才能够实现连续的直线运动。

连续的直线运动

连续直线运动需要满足的条件

  • 至少有2条笛卡尔指令
  • wait=False
  • radius≥0

下述是一个连续直线运动的例子,交融半径为5 mm.

from xarm.wrapper import XArmAPI  
arm=XArmAPI('192.168.1.47')  
arm.motion_enable(enable=True)  
arm.set_mode(0)  
arm.set_state(0)  
  
arm.set_position(300,100,150,180,0,0,speed=200,wait=False,radius=5)  
arm.set_position(300,-100,150,180,0,0,speed=200,wait=False,radius=5)  
arm.set_position(400,-100,150,180,0,0,speed=200,wait=False,radius=5)  
arm.set_position(400,100,150,180,0,0,speed=200,wait=False,radius=5)

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值