Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Guilhem Saurel
hpp-rbprm-corba
Commits
825c0587
Commit
825c0587
authored
Sep 28, 2016
by
Steve Tonneau
Browse files
polaris_scen
parent
1384a29e
Changes
8
Hide whitespace changes
Inline
Side-by-side
script/scenarios/polaris/polaris_hrp2_path_2.py
0 → 100644
View file @
825c0587
from
hpp.corbaserver.rbprm.rbprmbuilder
import
Builder
from
hpp.gepetto
import
Viewer
rootJointType
=
'freeflyer'
packageName
=
'hpp-rbprm-corba'
meshPackageName
=
'hpp-rbprm-corba'
urdfName
=
'hrp2_trunk_flexible'
urdfNameRoms
=
[
'hrp2_larm_rom'
,
'hrp2_rarm_rom'
,
'hrp2_lleg_rom'
,
'hrp2_rleg_rom'
]
urdfSuffix
=
""
srdfSuffix
=
""
rbprmBuilder
=
Builder
()
rbprmBuilder
.
loadModel
(
urdfName
,
urdfNameRoms
,
rootJointType
,
meshPackageName
,
packageName
,
urdfSuffix
,
srdfSuffix
)
rbprmBuilder
.
setJointBounds
(
"base_joint_xyz"
,
[
0
,
2
,
-
1.4
,
1.01
,
0
,
1.01
])
rbprmBuilder
.
setFilter
([
'hrp2_larm_rom'
,
'hrp2_lleg_rom'
,
'hrp2_rleg_rom'
])
#~ rbprmBuilder.setFilter(['hrp2_lleg_rom','hrp2_rleg_rom'])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_rarm_rom'
,
[
'Support'
,
'Lean'
])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_larm_rom'
,
[
'Support'
])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_rleg_rom'
,
[
'Support'
])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_lleg_rom'
,
[
'Support'
])
rbprmBuilder
.
boundSO3
([
-
0.7
,
0.7
,
0
,
0
,
-
0.0
,
0.0
])
#~ from hpp.corbaserver.rbprm. import ProblemSolver
from
hpp.corbaserver.rbprm.problem_solver
import
ProblemSolver
ps
=
ProblemSolver
(
rbprmBuilder
)
r
=
Viewer
(
ps
)
q0
=
rbprmBuilder
.
getCurrentConfig
();
q_init
=
rbprmBuilder
.
getCurrentConfig
();
r
(
q_init
)
q_goal
=
q_init
[::]
q_init
=
rbprmBuilder
.
getCurrentConfig
();
q_init
[
0
:
3
]
=
[
0.36
,
-
0.37772165525546453
,
0.968450617921899
];
r
(
q_init
)
rbprmBuilder
.
setCurrentConfig
(
q_init
);
r
(
q_init
)
#~ q_goal[0:3] = [1.2,-1,0.5]; r(q_goal)
#~ q_goal[0:3] = [0.9, -1.1, 0.6]; r(q_goal)
#~ q_goal[0:3] = [1.5, -1.1, 0.57]; r(q_goal)
q_goal
[
0
:
3
]
=
[
0.36
,
-
1
,
0.9
];
r
(
q_goal
)
ps
.
addPathOptimizer
(
"RandomShortcut"
)
ps
.
setInitialConfig
(
q_init
)
ps
.
addGoalConfig
(
q_goal
)
from
hpp.corbaserver.affordance.affordance
import
AffordanceTool
afftool
=
AffordanceTool
()
afftool
.
setAffordanceConfig
(
'Support'
,
[
0.2
,
0.03
,
0.00005
])
afftool
.
setAffordanceConfig
(
'Lean'
,
[
0.5
,
0.05
,
0.00005
])
afftool
.
loadObstacleModel
(
packageName
,
"polaris"
,
"planning"
,
r
)
#~ afftool.analyseAll()
#~ afftool.visualiseAffordances('Support', r, [0.25, 0.5, 0.5])
#~ afftool.visualiseAffordances('Lean', r, [1, 0, 0])
ps
.
client
.
problem
.
selectConFigurationShooter
(
"RbprmShooter"
)
ps
.
client
.
problem
.
selectPathValidation
(
"RbprmPathValidation"
,
0.01
)
t
=
ps
.
solve
()
print
(
t
)
if
isinstance
(
t
,
list
):
t
=
t
[
0
]
*
3600000
+
t
[
1
]
*
60000
+
t
[
2
]
*
1000
+
t
[
3
]
f
=
open
(
'log.txt'
,
'a'
)
f
.
write
(
"path computation "
+
str
(
t
)
+
"
\n
"
)
f
.
close
()
#~ print ("solving time " + str(t));
from
hpp.gepetto
import
PathPlayer
pp
=
PathPlayer
(
rbprmBuilder
.
client
.
basic
,
r
)
#~ pp (0)
#~ pp (1)
for
i
in
range
(
1
,
10
):
rbprmBuilder
.
client
.
basic
.
problem
.
optimizePath
(
i
)
rob
=
rbprmBuilder
.
client
.
basic
.
robot
r
(
q_init
)
q_loin
=
q_init
[::]
q_loin
[
0
:
3
]
=
[
100
,
100
,
100
]
r
(
q_loin
)
#~ configs = []
#~ problem = ps.client.problem
#~ length = problem.pathLength (0)
#~ t = 0
#~ i = 0
#~ configs = []
#~ dt = 0.1 / length
#~ while t < length :
#~ q = rbprmBuilder.getCurrentConfig()
#~ q[0:9]= problem.configAtParam (0, t)[0:9]
#~ configs.append(q)
#~ t += dt
#~ i = i+1
#~
#~ i = 0;
#~ r(configs[i]); i = +1
script/scenarios/polaris/polaris_hrp2_path_3.py
0 → 100644
View file @
825c0587
from
hpp.corbaserver.rbprm.rbprmbuilder
import
Builder
from
hpp.gepetto
import
Viewer
rootJointType
=
'freeflyer'
packageName
=
'hpp-rbprm-corba'
meshPackageName
=
'hpp-rbprm-corba'
urdfName
=
'hrp2_trunk_flexible'
urdfNameRoms
=
[
'hrp2_larm_rom'
,
'hrp2_rarm_rom'
,
'hrp2_lleg_rom'
,
'hrp2_rleg_rom'
]
urdfSuffix
=
""
srdfSuffix
=
""
rbprmBuilder
=
Builder
()
rbprmBuilder
.
loadModel
(
urdfName
,
urdfNameRoms
,
rootJointType
,
meshPackageName
,
packageName
,
urdfSuffix
,
srdfSuffix
)
rbprmBuilder
.
setJointBounds
(
"base_joint_xyz"
,
[
0
,
2
,
-
1.4
,
1.01
,
0
,
1.01
])
rbprmBuilder
.
setFilter
([
'hrp2_larm_rom'
,
'hrp2_lleg_rom'
,
'hrp2_rleg_rom'
])
#~ rbprmBuilder.setFilter(['hrp2_lleg_rom','hrp2_rleg_rom'])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_rarm_rom'
,
[
'Support'
,
'Lean'
])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_larm_rom'
,
[
'Support'
,
'Lean'
])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_rleg_rom'
,
[
'Support'
])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_lleg_rom'
,
[
'Support'
])
rbprmBuilder
.
boundSO3
([
-
0.7
,
0.7
,
0
,
0
,
-
0.0
,
0.0
])
#~ from hpp.corbaserver.rbprm. import ProblemSolver
from
hpp.corbaserver.rbprm.problem_solver
import
ProblemSolver
ps
=
ProblemSolver
(
rbprmBuilder
)
r
=
Viewer
(
ps
)
q0
=
rbprmBuilder
.
getCurrentConfig
();
q_init
=
rbprmBuilder
.
getCurrentConfig
();
r
(
q_init
)
q_goal
=
q_init
[::]
q_init
=
rbprmBuilder
.
getCurrentConfig
();
q_init
[
0
:
3
]
=
[
0.36
,
-
0.9940043559354331
,
0.92
];
r
(
q_init
)
rbprmBuilder
.
setCurrentConfig
(
q_init
);
r
(
q_init
)
#~ q_goal[0:3] = [1.2,-1,0.5]; r(q_goal)
#~ q_goal[0:3] = [0.9, -1.1, 0.6]; r(q_goal)
q_goal
[
0
:
3
]
=
[
1.5
,
-
1.1
,
0.57
];
r
(
q_goal
)
#~ q_goal[0:3] = [0.36, -1, 0.9]; r(q_goal)
ps
.
addPathOptimizer
(
"RandomShortcut"
)
ps
.
setInitialConfig
(
q_init
)
ps
.
addGoalConfig
(
q_goal
)
from
hpp.corbaserver.affordance.affordance
import
AffordanceTool
afftool
=
AffordanceTool
()
afftool
.
setAffordanceConfig
(
'Support'
,
[
0.2
,
0.03
,
0.00005
])
afftool
.
setAffordanceConfig
(
'Lean'
,
[
0.5
,
0.05
,
0.00005
])
afftool
.
loadObstacleModel
(
packageName
,
"polaris"
,
"planning"
,
r
)
#~ afftool.analyseAll()
#~ afftool.visualiseAffordances('Support', r, [0.25, 0.5, 0.5])
#~ afftool.visualiseAffordances('Lean', r, [1, 0, 0])
ps
.
client
.
problem
.
selectConFigurationShooter
(
"RbprmShooter"
)
ps
.
client
.
problem
.
selectPathValidation
(
"RbprmPathValidation"
,
0.01
)
t
=
ps
.
solve
()
print
(
t
)
if
isinstance
(
t
,
list
):
t
=
t
[
0
]
*
3600000
+
t
[
1
]
*
60000
+
t
[
2
]
*
1000
+
t
[
3
]
f
=
open
(
'log.txt'
,
'a'
)
f
.
write
(
"path computation "
+
str
(
t
)
+
"
\n
"
)
f
.
close
()
#~ print ("solving time " + str(t));
from
hpp.gepetto
import
PathPlayer
pp
=
PathPlayer
(
rbprmBuilder
.
client
.
basic
,
r
)
#~ pp (0)
#~ pp (1)
for
i
in
range
(
1
,
10
):
rbprmBuilder
.
client
.
basic
.
problem
.
optimizePath
(
i
)
rob
=
rbprmBuilder
.
client
.
basic
.
robot
r
(
q_init
)
q_loin
=
q_init
[::]
q_loin
[
0
:
3
]
=
[
100
,
100
,
100
]
r
(
q_loin
)
#~ configs = []
#~ problem = ps.client.problem
#~ length = problem.pathLength (0)
#~ t = 0
#~ i = 0
#~ configs = []
#~ dt = 0.1 / length
#~ while t < length :
#~ q = rbprmBuilder.getCurrentConfig()
#~ q[0:9]= problem.configAtParam (0, t)[0:9]
#~ configs.append(q)
#~ t += dt
#~ i = i+1
#~
#~ i = 0;
#~ r(configs[i]); i = +1
script/scenarios/polaris/polaris_hrp2_path_4.py
0 → 100644
View file @
825c0587
from
hpp.corbaserver.rbprm.rbprmbuilder
import
Builder
from
hpp.gepetto
import
Viewer
rootJointType
=
'freeflyer'
packageName
=
'hpp-rbprm-corba'
meshPackageName
=
'hpp-rbprm-corba'
urdfName
=
'hrp2_trunk_flexible'
urdfNameRoms
=
[
'hrp2_larm_rom'
,
'hrp2_rarm_rom'
,
'hrp2_lleg_rom'
,
'hrp2_rleg_rom'
]
urdfSuffix
=
""
srdfSuffix
=
""
rbprmBuilder
=
Builder
()
rbprmBuilder
.
loadModel
(
urdfName
,
urdfNameRoms
,
rootJointType
,
meshPackageName
,
packageName
,
urdfSuffix
,
srdfSuffix
)
rbprmBuilder
.
setJointBounds
(
"base_joint_xyz"
,
[
0
,
2
,
-
1.4
,
1.01
,
0
,
1.01
])
rbprmBuilder
.
setFilter
([
'hrp2_larm_rom'
,
'hrp2_lleg_rom'
,
'hrp2_rleg_rom'
])
#~ rbprmBuilder.setFilter(['hrp2_lleg_rom','hrp2_rleg_rom'])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_rarm_rom'
,
[
'Support'
,
'Lean'
])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_larm_rom'
,
[
'Support'
,
'Lean'
])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_rleg_rom'
,
[
'Support'
])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_lleg_rom'
,
[
'Support'
])
rbprmBuilder
.
boundSO3
([
-
0.7
,
0.7
,
0
,
0
,
-
0.0
,
0.0
])
#~ from hpp.corbaserver.rbprm. import ProblemSolver
from
hpp.corbaserver.rbprm.problem_solver
import
ProblemSolver
ps
=
ProblemSolver
(
rbprmBuilder
)
r
=
Viewer
(
ps
)
q0
=
rbprmBuilder
.
getCurrentConfig
();
q_init
=
rbprmBuilder
.
getCurrentConfig
();
r
(
q_init
)
q_goal
=
q_init
[::]
q_init
=
rbprmBuilder
.
getCurrentConfig
();
q_init
[
0
:
3
]
=
[
1.1035428951774233
,
-
1.060021251429404
,
0.68
];
r
(
q_init
)
rbprmBuilder
.
setCurrentConfig
(
q_init
);
r
(
q_init
)
#~ q_goal[0:3] = [1.2,-1,0.5]; r(q_goal)
#~ q_goal[0:3] = [0.9, -1.1, 0.6]; r(q_goal)
q_goal
[
0
:
3
]
=
[
1.5
,
-
1.1
,
0.57
];
r
(
q_goal
)
#~ q_goal[0:3] = [0.36, -1, 0.9]; r(q_goal)
ps
.
addPathOptimizer
(
"RandomShortcut"
)
ps
.
setInitialConfig
(
q_init
)
ps
.
addGoalConfig
(
q_goal
)
from
hpp.corbaserver.affordance.affordance
import
AffordanceTool
afftool
=
AffordanceTool
()
afftool
.
setAffordanceConfig
(
'Support'
,
[
0.2
,
0.03
,
0.00005
])
afftool
.
setAffordanceConfig
(
'Lean'
,
[
0.5
,
0.05
,
0.00005
])
afftool
.
loadObstacleModel
(
packageName
,
"polaris"
,
"planning"
,
r
)
#~ afftool.analyseAll()
#~ afftool.visualiseAffordances('Support', r, [0.25, 0.5, 0.5])
#~ afftool.visualiseAffordances('Lean', r, [1, 0, 0])
ps
.
client
.
problem
.
selectConFigurationShooter
(
"RbprmShooter"
)
ps
.
client
.
problem
.
selectPathValidation
(
"RbprmPathValidation"
,
0.01
)
t
=
ps
.
solve
()
print
(
t
)
if
isinstance
(
t
,
list
):
t
=
t
[
0
]
*
3600000
+
t
[
1
]
*
60000
+
t
[
2
]
*
1000
+
t
[
3
]
f
=
open
(
'log.txt'
,
'a'
)
f
.
write
(
"path computation "
+
str
(
t
)
+
"
\n
"
)
f
.
close
()
#~ print ("solving time " + str(t));
from
hpp.gepetto
import
PathPlayer
pp
=
PathPlayer
(
rbprmBuilder
.
client
.
basic
,
r
)
#~ pp (0)
#~ pp (1)
for
i
in
range
(
1
,
10
):
rbprmBuilder
.
client
.
basic
.
problem
.
optimizePath
(
i
)
rob
=
rbprmBuilder
.
client
.
basic
.
robot
r
(
q_init
)
q_loin
=
q_init
[::]
q_loin
[
0
:
3
]
=
[
100
,
100
,
100
]
r
(
q_loin
)
#~ configs = []
#~ problem = ps.client.problem
#~ length = problem.pathLength (0)
#~ t = 0
#~ i = 0
#~ configs = []
#~ dt = 0.1 / length
#~ while t < length :
#~ q = rbprmBuilder.getCurrentConfig()
#~ q[0:9]= problem.configAtParam (0, t)[0:9]
#~ configs.append(q)
#~ t += dt
#~ i = i+1
#~
#~ i = 0;
#~ r(configs[i]); i = +1
script/scenarios/polaris/polaris_hrp2_path_no_step.py
0 → 100644
View file @
825c0587
from
hpp.corbaserver.rbprm.rbprmbuilder
import
Builder
from
hpp.gepetto
import
Viewer
rootJointType
=
'freeflyer'
packageName
=
'hpp-rbprm-corba'
meshPackageName
=
'hpp-rbprm-corba'
urdfName
=
'hrp2_trunk_flexible'
urdfNameRoms
=
[
'hrp2_larm_rom'
,
'hrp2_rarm_rom'
,
'hrp2_lleg_rom'
,
'hrp2_rleg_rom'
]
urdfSuffix
=
""
srdfSuffix
=
""
rbprmBuilder
=
Builder
()
rbprmBuilder
.
loadModel
(
urdfName
,
urdfNameRoms
,
rootJointType
,
meshPackageName
,
packageName
,
urdfSuffix
,
srdfSuffix
)
rbprmBuilder
.
setJointBounds
(
"base_joint_xyz"
,
[
0
,
2
,
-
1.4
,
1.01
,
0
,
1.01
])
rbprmBuilder
.
setFilter
([
'hrp2_larm_rom'
,
'hrp2_lleg_rom'
,
'hrp2_rleg_rom'
])
#~ rbprmBuilder.setFilter(['hrp2_lleg_rom','hrp2_rleg_rom'])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_rarm_rom'
,
[
'Support'
])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_larm_rom'
,
[
'Support'
,
'Lean'
])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_rleg_rom'
,
[
'Support'
])
rbprmBuilder
.
setAffordanceFilter
(
'hrp2_lleg_rom'
,
[
'Support'
])
rbprmBuilder
.
boundSO3
([
-
0.7
,
0.7
,
0
,
0
,
-
0.0
,
0.0
])
#~ from hpp.corbaserver.rbprm. import ProblemSolver
from
hpp.corbaserver.rbprm.problem_solver
import
ProblemSolver
ps
=
ProblemSolver
(
rbprmBuilder
)
r
=
Viewer
(
ps
)
q0
=
rbprmBuilder
.
getCurrentConfig
();
q_init
=
rbprmBuilder
.
getCurrentConfig
();
r
(
q_init
)
q_goal
=
q_init
[::]
q_init
=
rbprmBuilder
.
getCurrentConfig
();
#~ q_init[0:3] = [0.36, -0.32, 1.01]; r(q_init)
q_init
[
0
:
3
]
=
[
0.36
,
0
,
1.01
];
r
(
q_init
)
rbprmBuilder
.
setCurrentConfig
(
q_init
);
r
(
q_init
)
#~ q_goal[0:3] = [1.2,-1,0.5]; r(q_goal)
#~ q_goal[0:3] = [0.9, -1.1, 0.6]; r(q_goal)
#~ q_goal[0:3] = [1.5, -1.1, 0.5]; r(q_goal)
q_goal
[
0
:
3
]
=
[
0.36
,
-
1
,
0.9
];
r
(
q_goal
)
ps
.
addPathOptimizer
(
"RandomShortcut"
)
ps
.
setInitialConfig
(
q_init
)
ps
.
addGoalConfig
(
q_goal
)
from
hpp.corbaserver.affordance.affordance
import
AffordanceTool
afftool
=
AffordanceTool
()
afftool
.
setAffordanceConfig
(
'Support'
,
[
0.2
,
0.03
,
0.00005
])
afftool
.
setAffordanceConfig
(
'Lean'
,
[
0.5
,
0.05
,
0.00005
])
afftool
.
loadObstacleModel
(
packageName
,
"polaris"
,
"planning"
,
r
)
#~ afftool.analyseAll()
#~ afftool.visualiseAffordances('Support', r, [0.25, 0.5, 0.5])
#~ afftool.visualiseAffordances('Lean', r, [1, 0, 0])
ps
.
client
.
problem
.
selectConFigurationShooter
(
"RbprmShooter"
)
ps
.
client
.
problem
.
selectPathValidation
(
"RbprmPathValidation"
,
0.01
)
t
=
ps
.
solve
()
print
(
t
)
if
isinstance
(
t
,
list
):
t
=
t
[
0
]
*
3600000
+
t
[
1
]
*
60000
+
t
[
2
]
*
1000
+
t
[
3
]
f
=
open
(
'log.txt'
,
'a'
)
f
.
write
(
"path computation "
+
str
(
t
)
+
"
\n
"
)
f
.
close
()
#~ print ("solving time " + str(t));
from
hpp.gepetto
import
PathPlayer
pp
=
PathPlayer
(
rbprmBuilder
.
client
.
basic
,
r
)
#~ pp (0)
#~ pp (1)
for
i
in
range
(
1
,
10
):
rbprmBuilder
.
client
.
basic
.
problem
.
optimizePath
(
i
)
rob
=
rbprmBuilder
.
client
.
basic
.
robot
r
(
q_init
)
q_loin
=
q_init
[::]
q_loin
[
0
:
3
]
=
[
100
,
100
,
100
]
r
(
q_loin
)
#~ configs = []
#~ problem = ps.client.problem
#~ length = problem.pathLength (0)
#~ t = 0
#~ i = 0
#~ configs = []
#~ dt = 0.1 / length
#~ while t < length :
#~ q = rbprmBuilder.getCurrentConfig()
#~ q[0:9]= problem.configAtParam (0, t)[0:9]
#~ configs.append(q)
#~ t += dt
#~ i = i+1
#~
#~ i = 0;
#~ r(configs[i]); i = +1
script/scenarios/polaris/poralis_hrp2_interp.py
0 → 100644
View file @
825c0587
from
hpp.corbaserver.rbprm.rbprmbuilder
import
Builder
from
hpp.corbaserver.rbprm.rbprmfullbody
import
FullBody
from
hpp.gepetto
import
Viewer
import
polaris_hrp2_path_no_step
as
tp
packageName
=
"hrp2_14_description"
meshPackageName
=
"hrp2_14_description"
rootJointType
=
"freeflyer"
##
# Information to retrieve urdf and srdf files.
urdfName
=
"hrp2_14"
urdfSuffix
=
"_reduced"
srdfSuffix
=
""
fullBody
=
FullBody
()
fullBody
.
loadFullBodyModel
(
urdfName
,
rootJointType
,
meshPackageName
,
packageName
,
urdfSuffix
,
srdfSuffix
)
fullBody
.
setJointBounds
(
"base_joint_xyz"
,
[
-
1
,
2
,
-
2
,
1
,
0.5
,
2.5
])
ps
=
tp
.
ProblemSolver
(
fullBody
)
r
=
tp
.
Viewer
(
ps
)
#~ AFTER loading obstacles
#~ AFTER loading obstacles
rLegId
=
'hrp2_rleg_rom'
rLeg
=
'RLEG_JOINT0'
rLegOffset
=
[
0
,
-
0.105
,
0
,]
rLegNormal
=
[
0
,
1
,
0
]
rLegx
=
0.09
;
rLegy
=
0.05
fullBody
.
addLimb
(
rLegId
,
rLeg
,
''
,
rLegOffset
,
rLegNormal
,
rLegx
,
rLegy
,
10000
,
"manipulability"
,
0.03
)
lLegId
=
'hrp2_lleg_rom'
lLeg
=
'LLEG_JOINT0'
lLegOffset
=
[
0
,
-
0.105
,
0
]
lLegNormal
=
[
0
,
1
,
0
]
lLegx
=
0.09
;
lLegy
=
0.05
fullBody
.
addLimb
(
lLegId
,
lLeg
,
''
,
lLegOffset
,
rLegNormal
,
lLegx
,
lLegy
,
10000
,
"manipulability"
,
0.03
)
rarmId
=
'hrp2_rarm_rom'
rarm
=
'RARM_JOINT0'
rHand
=
'RARM_JOINT5'
rArmOffset
=
[
-
0.05
,
-
0.050
,
-
0.050
]
rArmNormal
=
[
1
,
0
,
0
]
rArmx
=
0.024
;
rArmy
=
0.024
fullBody
.
addLimb
(
rarmId
,
rarm
,
rHand
,
rArmOffset
,
rArmNormal
,
rArmx
,
rArmy
,
20000
,
"EFORT"
,
0.05
,
"_6_DOF"
,
True
)
larmId
=
'hrp2_larm_rom'
larm
=
'LARM_JOINT0'
lHand
=
'LARM_JOINT5'
lArmOffset
=
[
-
0.05
,
-
0.050
,
-
0.050
]
lArmNormal
=
[
1
,
0
,
0
]
lArmx
=
0.024
;
lArmy
=
0.024
fullBody
.
addLimb
(
larmId
,
larm
,
lHand
,
lArmOffset
,
lArmNormal
,
lArmx
,
lArmy
,
20000
,
"EFORT"
,
0.05
,
"_6_DOF"
,
True
)
#~
q_0
=
fullBody
.
getCurrentConfig
();
#~ fullBody.createOctreeBoxes(r.client.gui, 1, larmId, q_0,)
#~ fullBody.client.basic.robot.setJointConfig('LARM_JOINT0',[1])
#~ fullBody.client.basic.robot.setJointConfig('RARM_JOINT0',[-1])
confsize
=
len
(
tp
.
q_init
)
q_init
=
[
#~ 0.12, -0.45, 0.95, 1.0, 0.0 , 0.0, 0.0, # Free flyer 0-6
0.36
,
0
,
1.01
,
1.0
,
0.0
,
0.0
,
0.0
,
# Free flyer 0-6
0.0
,
0.0
,
0.0
,
0.0
,
# CHEST HEAD 7-10
0.261799388
,
0.174532925
,
0.0
,
-
0.523598776
,
0.0
,
0.0
,
0.17
,
# LARM 11-17
0.261799388
,
-
0.174532925
,
0.0
,
-
1
,
0.0
,
0.0
,
0.17
,
# RARM 18-24
0.0
,
0.0
,
-
0.453785606
,
0.872664626
,
-
0.41887902
,
0.0
,
# LLEG 25-30
0.0
,
0.0
,
-
0.453785606
,
0.872664626
,
-
0.41887902
,
0.0
,
# RLEG 31-36
];
r
(
q_init
);
q_init
[
0
:
confsize
]
=
tp
.
q_init
[
0
:
confsize
]
q_goal
=
fullBody
.
getCurrentConfig
();
q_goal
[
0
:
confsize
]
=
tp
.
q_goal
[
0
:
confsize
]
fullBody
.
setCurrentConfig
(
q_init
)
#~ q_0 = fullBody.getCurrentConfig();
q_init
=
fullBody
.
generateContacts
(
q_init
,
[
0
,
0
,
-
1
]);
r
(
q_init
)
fullBody
.
setCurrentConfig
(
q_goal
)
#~ r(q_goal)
q_goal
=
fullBody
.
generateContacts
(
q_goal
,
[
0
,
0
,
1
])
#~ r(q_goal)
#~ gui = r.client.gui
#~ fullBody.setStartState(q_init,[rLegId,lLegId,rarmId,larmId])
fullBody
.
setStartState
(
q_init
,[
rLegId
,
lLegId
,
larmId
])
fullBody
.
setEndState
(
q_goal
,[
rLegId
,
lLegId
])
#~
#~ r(q_init)
configs
=
fullBody
.
interpolate
(
0.02
,
10
,
5
,
False
)
#~ r.loadObstacleModel ('hpp-rbprm-corba', "polaris", "contact")
#~ configs = fullBody.interpolate(0.09)
#~ configs = fullBody.interpolate(0.08)
i
=
0
;
r
(
configs
[
i
]);
i
=
i
+
1
;
i
-
1
#~ q_init = fullBody.generateContacts(q_init, [0,0,-1]); r (q_init)
#~ fullBody.draw(q_0,r)
#~ fullBody.client.rbprm.rbprm.getOctreeTransform(larmId, q_0)
#~ problem = ps.client.problem
#~ length = problem.pathLength (0)
#~ t = 0
#~ i = 0
#~ configs = []
#~ dt = 0.1 / length
#~ while t < length :
#~ q = fullBody.getCurrentConfig()
#~ q[0:confsize] = problem.configAtParam (0, t)[0:confsize]
#~ configs.append(q)
#~ t += dt
#~ i = i+1
#~
i
=
0
;
fullBody
.
draw
(
configs
[
i
],
r
);
i
=
i
+
1
;
i
-
1
import
datetime
now
=
datetime
.
datetime
.
now
()
#~
f1
=
open
(
"polaris_hrp2"
+
str
(
now
),
"w+"
)
f1
.
write
(
str
(
configs
))
f1
.
close
()
#~ import hpp.gepetto.blender.exportmotion as em
#~ fullBody.exportAll(r, configs, "polaris_hrp2_OK"+str(now));
from
hpp.gepetto
import
PathPlayer
pp
=
PathPlayer
(
fullBody
.
client
.
basic
,
r
)
from
hpp.corbaserver.rbprm.tools.cwc_trajectory_helper
import
step
,
clean
,
stats
,
saveAllData
,
play_traj
limbsCOMConstraints
=
{
rLegId
:
{
'file'
:
"hrp2/RL_com.ineq"
,
'effector'
:
'RLEG_JOINT5'
},
lLegId
:
{
'file'
:
"hrp2/LL_com.ineq"
,
'effector'
:
'LLEG_JOINT5'
},
rarmId
:
{
'file'
:
"hrp2/RA_com.ineq"
,
'effector'
:
rHand
},
larmId
:
{
'file'
:
"hrp2/LA_com.ineq"
,
'effector'
:
lHand
}
}
#~ fullBody.limbRRTFromRootPath(0,len(configs)-1,0,2)
from
hpp.corbaserver.rbprm.tools.cwc_trajectory_helper
import
step
,
clean
,
stats
,
saveAllData
,
play_traj
from
hpp.gepetto
import
PathPlayer
pp
=
PathPlayer
(
fullBody
.
client
.
basic
,
r
)
def
act
(
i
,
numOptim
=
0
,
use_window
=
0
,
friction
=
0.5
,
optim_effectors
=
True
,
verbose
=
False
,
draw
=
False
):
return
step
(
fullBody
,
configs
,
i
,
numOptim
,
pp
,
limbsCOMConstraints
,
0.4
,
optim_effectors
=
optim_effectors
,
time_scale
=
20.
,
useCOMConstraints
=
True
,
use_window
=
use_window
,
verbose
=
verbose
,
draw
=
draw
)
def
play
(
frame_rate
=
1.
/
24.
):
play_traj
(
fullBody
,
pp
,
frame_rate
)
def
saveAll
(
name
):
saveAllData
(
fullBody
,
r
,
name
)
for
i
in
range
(
10
,
30
):
act
(
i
,
numOptim
=
0
,
use_window
=
0
,
friction
=
1
,
optim_effectors
=
False
,
verbose
=
False
,
draw
=
False
)
script/scenarios/polaris/poralis_hrp2_interp_2.py
0 → 100644
View file @
825c0587
from
hpp.corbaserver.rbprm.rbprmbuilder
import
Builder
from
hpp.corbaserver.rbprm.rbprmfullbody
import
FullBody
from
hpp.gepetto
import
Viewer
import
polaris_hrp2_path_2
as
tp
packageName
=
"hrp2_14_description"
meshPackageName
=
"hrp2_14_description"
rootJointType
=
"freeflyer"
##
# Information to retrieve urdf and srdf files.
urdfName
=
"hrp2_14"