我有一个模拟手臂动作的代码。因此,在每个单位时间后,我确定手臂的位置并计算手臂位置和目标之间的简单距离。加上当手臂到达一个半径值为k的公差圆时,可以说手臂几乎达到了目标..我的问题是如何验证手臂是否达到公差圆周
以下是非常简单的代码
tolerance_radius = 0.3
d = norm(cur_pos[0] - pos_tar[0]) #distance between arm and target array
这是我试过的
if abs(d) <tolerance_radius :
#almost touched
else:
#calculate new position
对于这种特殊情况还有其他方法可以实际创建整个公差圆,然后确定手臂是否到达圆圈?
答案 0 :(得分:1)
如果从手到目标的距离小于tolerance_radius,则为True,否则为False:
if math.hypot(target.x - arm.x, target.y - arm.y) < tolerance_radius:
return True
else
return False