我正在开展一个涉及NAO机器人试图制作图纸的项目。
整个项目是用Python制作的,但Aldebaran关于使用Python控制NAO机器人的文档实际上并不完整。
我使用的是一个全身动作,它本身实现了反向运动学,所以我不需要照顾它。文档为here,here有一个使用左臂或右臂的示例。
我遇到的问题是运动控制中左臂在水平和垂直方向上的直线运动。或多或少我设法控制水平直线运动,但垂直直线运动并不真正起作用。在这种情况下,它所做的是一个倾斜的运动,这不是我所期待的。
从我链接的文档中,“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
不幸的是,垂直方向不是垂直直线运动,而是直线运动,我不明白为什么。
任何帮助都是相关的。提前谢谢。
答案 0 :(得分:3)
如果你想制作IK,你应该看看笛卡尔控制而不是wbControl。看看ALMotion.setPosition方法。