我正在从事一个涉及 NAO 机器人试图制作图纸的项目。
整个项目是用 Python 编写的,但是关于使用 Python 控制 NAO 机器人的 Aldebaran 文档确实不是那么完整。
我使用的是一个全身运动,它自己实现了反向运动学,所以我不必照顾它。文档在这里,这里有一个使用左臂或右臂的示例。
我遇到的问题是左臂在水平和垂直方向上直线运动的运动控制。或多或少我设法控制了水平直线运动,但垂直直线运动并没有真正起作用。在这种情况下,它所做的是一个倾斜的运动,这不是我所期望的。
从我链接的文档中,“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
不幸的是,垂直方向没有做垂直直线运动,而是做斜直线运动,我不明白为什么。
任何帮助都将不胜感激。提前致谢。