Closed k-okada closed 7 years ago
test code for rtmlaunch nextage_ros_bridge nextage_ros_bridge_simulation.launch
ipython -i `rospack find nextage_ros_bridge`/script/nextage.py <<EOF
def getJointAnglesOfGroup(limb):
angles = robot.flat2Groups(robot.getJointAngles())
groups = robot.Groups
for i in range(len(groups)):
if groups[i][0] == limb:
return angles[i]
print self.configurator_name, 'could no find limb name ' + limb
print self.configurator_name, ' in' + filter(lambda x: x[0], groups)
robot.getJointAnglesOfGroup = getJointAnglesOfGroup
robot.goInitial()
rpy = robot.getCurrentRPY('LARM_JOINT5')
posA = [0.13650680113947125, 0.5715476591372091, 0.20562243422467796]
print(posA)
posB = [0.45842124152338815, 0.26311200372284116, 0.28046365811768403]
print(posB)
print("go to posA")
robot.setTargetPose('larm', posA, rpy, 5)
print("wait for posA")
robot.waitInterpolation()
print(robot.getJointAnglesOfGroup('larm'))
print("go to posB")
robot.setTargetPose('larm', posB, rpy, 10)
import time
time.sleep(2)
print("clear larm")
robot.clearOfGroup('larm') # Ongoing command cancelled. Movement stops.
print(robot.getJointAnglesOfGroup('larm'))
#robot.setJointAnglesOfGroup('larm', robot.getJointAnglesOfGroup('larm'), 0.1, wait=True) #ok
#robot.setJointAngles(robot.getJointAngles(), 0.1) # ng
#robot.setJointAnglesOfGroup('torso', [0], 0.1, wait=True) #ok
print("go to posA > move fast!!!")
robot.setTargetPose('larm', posA, rpy, 10) # The problematic brupt move occurs here.
print("wait for posA")
robot.waitInterpolation()
###########
###########
###########
poseA =[ 45, 0, -100, -15.2, 9.4, -3.2]
poseB =[0.6, 0, -100, -15.2, 9.4, -3.2]
robot.goInitial()
print("go to poseA")
robot.setJointAnglesOfGroup('larm', poseA, 5, wait=False)
print("wait for poseA")
robot.waitInterpolation()
print("go to poseB")
robot.setJointAnglesOfGroup('larm', poseB, 5, wait=False)
import time
time.sleep(2)
print("clear larm")
robot.clearOfGroup('larm') # Ongoing command cancelled. Movement stops.
print("go to poseA > move fast???")
robot.setJointAnglesOfGroup('larm', poseA, 5, wait=False)
print("wait for poseA")
robot.waitInterpolation()
###########
###########
###########
poseA =[ 45, 0, -100, -15.2, 9.4, -3.2]
poseB =[0.6, 0, -100, -15.2, 9.4, -3.2]
robot.goInitial()
print("go to poseA")
robot.setJointAnglesSequenceOfGroup('larm', [poseA], [5])
print("wait for poseA")
robot.waitInterpolation()
print("go to poseB")
robot.setJointAnglesSequenceOfGroup('larm', [poseB], [5])
import time
time.sleep(2)
print("clear larm")
robot.clearOfGroup('larm') # Ongoing command cancelled. Movement stops.
print("go to poseA > move fast???")
############ WORKAROUND
poseA =[ 45, 0, -100, -15.2, 9.4, -3.2]
robot.setJointAnglesSequenceOfGroup('larm', [poseA], [5])
print("wait for poseA")
robot.waitInterpolation()
EOF
On Travis only TEST_TYPE=work_with_315_1_10
failed at the following:
:
[hironx_ros_bridge.rosunit-test_hironx_limb/test_rarm_setJointAngles_Clear][ERROR]
CORBA.COMM_FAILURE(omniORB.COMM_FAILURE_WaitingForReply, CORBA.COMPLETED_MAYBE)
File "/usr/lib/python2.7/unittest/case.py", line 331, in run
testMethod()
File "/home/travis/catkin_ws/install_isolated/share/hironx_ros_bridge/test/test_hironx_limb.py", line 79, in test_rarm_setJointAngles_Clear
self.robot.clearOfGroup("rarm")
File "/home/travis/catkin_ws/install_isolated/lib/python2.7/dist-packages/hironx_ros_bridge/hironx_client.py", line 1127, in clearOfGroup
self.setJointAnglesOfGroup(limb, angles, 0.1, wait=True)
File "/home/travis/catkin_ws/install_isolated/lib/python2.7/dist-packages/hrpsys/hrpsys_config.py", line 1101, in setJointAnglesOfGroup
ret = self.seq_svc.setJointAnglesOfGroup(gname, angles, tm)
File "/home/travis/catkin_ws/install_isolated/lib/python2.7/dist-packages/hrpsys/SequencePlayerService_idl.py", line 185, in setJointAnglesOfGroup
return _omnipy.invoke(self, "setJointAnglesOfGroup", _0_OpenHRP.SequencePlayerService._d_setJointAnglesOfGroup, args)
--------------------------------------------------------------------------------
[hironx_ros_bridge.rosunit-test_hironx_limb/test_rarm_setJointAngles_NoWait][ERROR]
CORBA.TRANSIENT(omniORB.TRANSIENT_ConnectFailed, CORBA.COMPLETED_NO)
File "/usr/lib/python2.7/unittest/case.py", line 331, in run
testMethod()
File "/home/travis/catkin_ws/install_isolated/share/hironx_ros_bridge/test/test_hironx_limb.py", line 45, in test_rarm_setJointAngles_NoWait
self.limbbody_init()
File "/home/travis/catkin_ws/install_isolated/share/hironx_ros_bridge/test/test_hironx_limb.py", line 10, in limbbody_init
self.robot.setSelfGroups()
File "/home/travis/catkin_ws/install_isolated/lib/python2.7/dist-packages/hironx_ros_bridge/hironx_client.py", line 590, in setSelfGroups
self.seq_svc.addJointGroup(item[0], item[1])
File "/home/travis/catkin_ws/install_isolated/lib/python2.7/dist-packages/hrpsys/SequencePlayerService_idl.py", line 179, in addJointGroup
return _omnipy.invoke(self, "addJointGroup", _0_OpenHRP.SequencePlayerService._d_addJointGroup, args)
--------------------------------------------------------------------------------
[hironx_ros_bridge.rosunit-test_hironx_limb/test_rarm_setJointAngles_Wait][ERROR]
CORBA.TRANSIENT(omniORB.TRANSIENT_ConnectFailed, CORBA.COMPLETED_NO)
File "/usr/lib/python2.7/unittest/case.py", line 331, in run
testMethod()
File "/home/travis/catkin_ws/install_isolated/share/hironx_ros_bridge/test/test_hironx_limb.py", line 22, in test_rarm_setJointAngles_Wait
self.limbbody_init()
File "/home/travis/catkin_ws/install_isolated/share/hironx_ros_bridge/test/test_hironx_limb.py", line 10, in limbbody_init
self.robot.setSelfGroups()
File "/home/travis/catkin_ws/install_isolated/lib/python2.7/dist-packages/hironx_ros_bridge/hironx_client.py", line 590, in setSelfGroups
self.seq_svc.addJointGroup(item[0], item[1])
File "/home/travis/catkin_ws/install_isolated/lib/python2.7/dist-packages/hrpsys/SequencePlayerService_idl.py", line 179, in addJointGroup
return _omnipy.invoke(self, "addJointGroup", _0_OpenHRP.SequencePlayerService._d_addJointGroup, args)
--------------------------------------------------------------------------------
[hironx_ros_bridge.rosunit-test_hironx_target/testGetCurrentPose][passed]
[hironx_ros_bridge.rosunit-test_hironx_target/testGetReferencePose][passed]
[hironx_ros_bridge.rosunit-test_hironx_target/testGetterByFrame][passed]
[hironx_ros_bridge.rosunit-test_hironx_target/testSetTargetPoseBothArm][passed]
[hironx_ros_bridge.rosunit-test_hironx_target/test_get_geometry_methods_noarg][passed]
[hironx_ros_bridge.rosunit-test_hironx_target/test_setTargetPoseRelative_rpy][passed]
SUMMARY
[1;31m * RESULT: FAIL[0m
* TESTS: 25
[1;31m * ERRORS: 3[0m
* FAILURES: 0
Same as https://github.com/start-jsk/rtmros_hironx/pull/505#issuecomment-304074643, only the test on hrpsys 315_1_10 failed exactly at the same testcases. As in https://github.com/fkanehiro/hrpsys-base/pull/1064#issuecomment-257197543, some of the features were introduced AFTER 315.5.x or so, so that they are not available for earlier version.
@k-okada I don't know if it's right but I added c5c3f37 since I did not know any other way to let the tests pass than this. Please feel free to reset that commit and add yours if anythiing.
squashed commit
squashed commit
Took this as an approval.
add test to check https://github.com/tork-a/rtmros_nextage/issues/332 situation