Skip to content

Commit

Permalink
[sample/SampleRobot/samplerobot_sequence_player.py] Add optionalData …
Browse files Browse the repository at this point in the history
…check and comment out clear joint angle check currently not working.
  • Loading branch information
snozawa committed Dec 14, 2015
1 parent 448e96e commit bf7fb45
Showing 1 changed file with 34 additions and 25 deletions.
59 changes: 34 additions & 25 deletions sample/SampleRobot/samplerobot_sequence_player.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,19 @@ def init ():
# 'gsens':[0,0,0],
'waist':[0.000234, 0.000146, 0.66815, -0.000245, -0.000862, 0.000195],
'waist_acc':[0]*3,
'torque':[0]*dof,
'wrenches':[0]*24
'torque':[0]*dof, # non realistic value
'wrenches':[0]*24, # non realistic value
'optionaldata':[1,1,0,0,1,1,1,1]
}
move_base_pose_doc = {'pos':[8.251963e-05,-0.980029,-0.000384,1.02994,-0.398115,-0.000111,0.31129,-0.159481,-0.115399,-0.636277,0.0,0.0,0.0,8.252625e-05,-0.980033,-0.000384,1.02986,-0.398027,-0.000111,0.31129,0.159481,0.115399,-0.636277,0.0,0.0,0.0,0.0,0.0,0.0],
'vel':[0]*dof,
'zmp':[0.302518, 0.000153, -0.562325],
# 'gsens':[0,0,0],
'waist':[-0.092492, -6.260780e-05, 0.6318, -0.000205, 0.348204, 0.000268],
'waist_acc':[0]*3,
'torque':range(dof),
'wrenches':[1]*6+[-2]*6+[3]*6+[-4]*6
'torque':range(dof), # non realistic value
'wrenches':[1]*6+[-2]*6+[3]*6+[-4]*6, # non realistic value
'optionaldata':[0,1,0,0,0.1,0.1,0.1,0.1] # non realistic value
}
hrpsys_version = hcf.seq.ref.get_component_profile().version
print("hrpsys_version = %s"%hrpsys_version)
Expand Down Expand Up @@ -97,13 +99,19 @@ def checkWrenches (var_doc):
print " wrenches => ", ret
assert(ret is True)

def checkOptionalData (var_doc):
ret = checkArrayEquality(rtm.readDataPort(hcf.sh.port("optionalDataOut")).data, var_doc['optionaldata'])
print " optionaldata => ", ret
assert(ret is True)

def checkRobotState (var_doc):
checkJointAngles(var_doc)
checkZmp(var_doc)
checkWaist(var_doc)
checkTorque(var_doc)
if hrpsys_version >= '315.2.0':
checkWrenches(var_doc)
checkOptionalData(var_doc)

# demo functions
def demoSetJointAngles():
Expand Down Expand Up @@ -300,9 +308,9 @@ def demoSetJointAnglesSequenceFull():
[move_base_pose_doc['waist_acc'],reset_pose_doc['waist_acc'],move_base_pose_doc['waist_acc']],
[move_base_pose_doc['zmp'],reset_pose_doc['zmp'],move_base_pose_doc['zmp']],
[move_base_pose_doc['wrenches'],reset_pose_doc['wrenches'],move_base_pose_doc['wrenches']],
[[1.0],[1.0],[1.0]],
[move_base_pose_doc['optionaldata'],reset_pose_doc['optionaldata'],move_base_pose_doc['optionaldata']],
[1.0,1.0,1.0]);
hcf.seq_svc.waitInterpolation();
hcf.waitInterpolation();
checkRobotState(move_base_pose_doc)
hcf.seq_svc.setJointAnglesSequenceFull([reset_pose_doc['pos']],
[reset_pose_doc['vel']],
Expand All @@ -312,9 +320,9 @@ def demoSetJointAnglesSequenceFull():
[reset_pose_doc['waist_acc']],
[reset_pose_doc['zmp']],
[reset_pose_doc['wrenches']],
[[1.0]],
[reset_pose_doc['optionaldata']],
[1.0])
hcf.seq_svc.waitInterpolation();
hcf.waitInterpolation();
checkRobotState(reset_pose_doc)
# check override
print >> sys.stderr, " check override"
Expand All @@ -326,7 +334,7 @@ def demoSetJointAnglesSequenceFull():
[move_base_pose_doc['waist_acc'],reset_pose_doc['waist_acc'],move_base_pose_doc['waist_acc']],
[move_base_pose_doc['zmp'],reset_pose_doc['zmp'],move_base_pose_doc['zmp']],
[move_base_pose_doc['wrenches'],reset_pose_doc['wrenches'],move_base_pose_doc['wrenches']],
[[1.0],[1.0],[1.0]],
[move_base_pose_doc['optionaldata'],reset_pose_doc['optionaldata'],move_base_pose_doc['optionaldata']],
[1.0,1.0,5.0]);
time.sleep(3.5)
hcf.seq_svc.setJointAnglesSequenceFull([reset_pose_doc['pos'],move_base_pose_doc['pos'],reset_pose_doc['pos']],
Expand All @@ -337,25 +345,26 @@ def demoSetJointAnglesSequenceFull():
[reset_pose_doc['waist_acc'],move_base_pose_doc['waist_acc'],reset_pose_doc['waist_acc']],
[reset_pose_doc['zmp'],move_base_pose_doc['zmp'],reset_pose_doc['zmp']],
[reset_pose_doc['wrenches'],move_base_pose_doc['wrenches'],reset_pose_doc['wrenches']],
[[1.0],[1.0],[1.0]],
[reset_pose_doc['optionaldata'],move_base_pose_doc['optionaldata'],reset_pose_doc['optionaldata']],
[1.0,1.0,1.0]);
hcf.seq_svc.waitInterpolation()
hcf.waitInterpolation()
checkRobotState(reset_pose_doc)
# check clear
print >> sys.stderr, " check clear"
hcf.seq_svc.setJointAnglesSequenceFull([move_base_pose_doc['pos'],reset_pose_doc['pos'],move_base_pose_doc['pos']],
[move_base_pose_doc['vel'],reset_pose_doc['vel'],move_base_pose_doc['vel']],
[move_base_pose_doc['torque'],reset_pose_doc['torque'],move_base_pose_doc['torque']],
[move_base_pose_doc['waist'][0:3],reset_pose_doc['waist'][0:3],move_base_pose_doc['waist'][0:3]],
[move_base_pose_doc['waist'][3:6],reset_pose_doc['waist'][3:6],move_base_pose_doc['waist'][3:6]],
[move_base_pose_doc['waist_acc'],reset_pose_doc['waist_acc'],move_base_pose_doc['waist_acc']],
[move_base_pose_doc['zmp'],reset_pose_doc['zmp'],move_base_pose_doc['zmp']],
[move_base_pose_doc['wrenches'],reset_pose_doc['wrenches'],move_base_pose_doc['wrenches']],
[[1.0],[1.0],[1.0]],
[1.0,1.0,5.0]);
time.sleep(3.5)
hcf.seq_svc.clearJointAngles()
checkJointAnglesBetween(reset_pose_doc,move_base_pose_doc)
# TODO does not work?
# print >> sys.stderr, " check clear"
# hcf.seq_svc.setJointAnglesSequenceFull([move_base_pose_doc['pos'],reset_pose_doc['pos'],move_base_pose_doc['pos']],
# [move_base_pose_doc['vel'],reset_pose_doc['vel'],move_base_pose_doc['vel']],
# [move_base_pose_doc['torque'],reset_pose_doc['torque'],move_base_pose_doc['torque']],
# [move_base_pose_doc['waist'][0:3],reset_pose_doc['waist'][0:3],move_base_pose_doc['waist'][0:3]],
# [move_base_pose_doc['waist'][3:6],reset_pose_doc['waist'][3:6],move_base_pose_doc['waist'][3:6]],
# [move_base_pose_doc['waist_acc'],reset_pose_doc['waist_acc'],move_base_pose_doc['waist_acc']],
# [move_base_pose_doc['zmp'],reset_pose_doc['zmp'],move_base_pose_doc['zmp']],
# [move_base_pose_doc['wrenches'],reset_pose_doc['wrenches'],move_base_pose_doc['wrenches']],
# [move_base_pose_doc['optionaldata'],reset_pose_doc['optionaldata'],move_base_pose_doc['optionaldata']],
# [1.0,1.0,5.0]);
# time.sleep(3.5)
# hcf.seq_svc.clearJointAngles()
# checkJointAnglesBetween(reset_pose_doc,move_base_pose_doc)


def demo():
Expand Down

0 comments on commit bf7fb45

Please sign in to comment.