通过wholeBodyMotion控制机器人手臂

时间:2014-02-20 12:45:33

标签: python motion nao-robot

我正在开展一个涉及NAO机器人试图制作图纸的项目。

整个项目是用Python制作的,但Aldebaran关于使用Python控制NAO机器人的文档实际上并不完整。

我使用的是一个全身动作,它本身实现了反向运动学,所以我不需要照顾它。文档为herehere有一个使用左臂或右臂的示例。

我遇到的问题是运动控制中左臂在水平和垂直方向上的直线运动。或多或少我设法控制水平直线运动,但垂直直线运动并不真正起作用。在这种情况下,它所做的是一个倾斜的运动,这不是我所期待的。

从我链接的文档中,“LeftArm和RightArm被控制在位置(X,Y,Z)(米)”。

以下是控制手臂的一小部分代码(适合我需要的):

targetCoordinateList = [
    [ +0.00, +0.00*coef, +0.00],  # starting point, "origin".
    [ +0.12, +0.00*coef, +0.00],  # targetting the arm to the whiteboard
    [ +0.10, -0.061*coef, +0.02], # targetting the arm in the horizontal direction
    [ +0.09, +0.00*coef, +0.043], # targetting the arm in the vertical direction
    [ +0.00, +0.00*coef, +0.00],  # back to "origin".
]

可行的动作是这些:

# X Axis LArm Position feasible movement = [ +0.00, +0.12] meter
# Y Axis LArm Position feasible movement = [ -0.05, +0.10] meter
# Y Axis RArm Position feasible movement = [ -0.10, +0.05] meter
# Z Axis LArm Position feasible movement = [ -0.10, +0.10] meter

不幸的是,垂直方向不是垂直直线运动,而是直线运动,我不明白为什么。

任何帮助都是相关的。提前谢谢。

1 个答案:

答案 0 :(得分:3)

如果你想制作IK,你应该看看笛卡尔控制而不是wbControl。看看ALMotion.setPosition方法。