我想把 Pepper 放在一个特定的位置(有点像使用罢工姿势应用程序时。我使用这个最小的代码:
import qi
session = qi.Session()
session.connect("tcp://YOUR_IP:9559")
almotion = session.service("ALMotion")
almotion.setStiffnesses("RArm", 0.0)
- 我运行上面的代码(现在移动右臂)
- 我将右臂保持在我想要的位置
- 我运行上面相同的代码,刚度为 1.0
但是,这并不能将手臂固定在我所握的位置。手臂下降,然后将刚度设置为 1.0。
当我用“Head”而不是“RArm”做同样的事情时,效果很好,就好像当我们握住它们时电机无法修复一样。我应该怎么做?
编辑 1:禁用自主能力后,我仍然遇到手臂没有挡住我所持有的位置的问题。我的代码目前是:
import sys
import qi
stiffness = 1.0
if len(sys.argv) > 1: stiffness = float(sys.argv[1])
session = qi.Session()
session.connect("tcp://YOUR_IP:9559")
almotion = session.service("ALMotion")
almotion.setBreathEnabled("Body", False) # Also tried True
almotion.setIdlePostureEnabled("Body", False) # Also tried True
allife = session.service("ALAutonomousLife")
allife.setAutonomousAbilityEnabled("BackgroundMovement", False)
allife.setAutonomousAbilityEnabled("BasicAwareness", False)
allife.setAutonomousAbilityEnabled("ListeningMovement", False)
allife.setAutonomousAbilityEnabled("SpeakingMovement", False)
almotion.stiffnessInterpolation("LArm", stiffness, 1.0)
测试它
python code.py 0.0 # To free the left arm
# Move the left arm how you wish
python code.py 1.0 # To fix the arm