我正在做一个项目,涉及NAO机器人试图制作图纸。
整个项目都是用Python编写的,但是关于使用Python控制NAO机器人的Aldebaran文档并不是很完整。
我使用的是一个全身运动,它本身实现了反向运动学,所以我不需要关心它。文档是here,here有一个使用左臂或右臂的示例。
我遇到的问题是左臂在水平和垂直方向上的直线运动的运动控制。我或多或少地设法控制了水平直线运动,但垂直直线运动并不是真的有效。在这种情况下,它做的是一个倾斜的运动,这不是我所期望的。
在我链接的文档中,"LeftArm和RightArm被控制在位置(X,Y,Z) (米)“。
以下是用于控制arm的代码的一小部分(根据我的需要进行调整):
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不幸的是,垂直方向不是垂直直线运动,而是斜向直线运动,我不明白为什么。
任何帮助都会被删除。提前谢谢。
发布于 2014-04-16 18:04:30
如果要创建IK,您可能应该查看笛卡尔控制,而不是wbControl。看一看ALMotion.setPosition方法。
https://stackoverflow.com/questions/21908226
复制相似问题