Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Gepetto
example-robot-data
Commits
f5883f2c
Commit
f5883f2c
authored
Aug 28, 2019
by
Carlos Mastalli
Browse files
[talos] Added the talos legs
parent
8d37abd9
Changes
1
Hide whitespace changes
Inline
Side-by-side
python/robots_loader.py
View file @
f5883f2c
...
...
@@ -66,6 +66,61 @@ def loadTalos():
addFreeFlyerJointLimits
(
robot
)
return
robot
def
loadTalosLegs
():
robot
=
loadTalos
()
URDF_FILENAME
=
"talos_reduced.urdf"
SRDF_FILENAME
=
"talos.srdf"
SRDF_SUBPATH
=
"/talos_data/srdf/"
+
SRDF_FILENAME
URDF_SUBPATH
=
"/talos_data/robots/"
+
URDF_FILENAME
modelPath
=
getModelPath
(
URDF_SUBPATH
)
legMaxId
=
14
m1
=
robot
.
model
m2
=
pinocchio
.
Model
()
for
j
,
M
,
name
,
parent
,
Y
in
zip
(
m1
.
joints
,
m1
.
jointPlacements
,
m1
.
names
,
m1
.
parents
,
m1
.
inertias
):
if
j
.
id
<
legMaxId
:
jid
=
m2
.
addJoint
(
parent
,
getattr
(
pinocchio
,
j
.
shortname
())(),
M
,
name
)
up
=
m2
.
upperPositionLimit
down
=
m2
.
lowerPositionLimit
up
[
m2
.
joints
[
jid
].
idx_q
:
m2
.
joints
[
jid
].
idx_q
+
j
.
nq
]
=
m1
.
upperPositionLimit
[
j
.
idx_q
:
j
.
idx_q
+
j
.
nq
]
down
[
m2
.
joints
[
jid
].
idx_q
:
m2
.
joints
[
jid
].
idx_q
+
j
.
nq
]
=
m1
.
lowerPositionLimit
[
j
.
idx_q
:
j
.
idx_q
+
j
.
nq
]
m2
.
upperPositionLimit
=
up
m2
.
lowerPositionLimit
=
down
assert
(
jid
==
j
.
id
)
m2
.
appendBodyToJoint
(
jid
,
Y
,
pinocchio
.
SE3
.
Identity
())
u
=
m2
.
upperPositionLimit
u
[:
7
]
=
1
m2
.
upperPositionLimit
=
u
limit
=
m2
.
lowerPositionLimit
limit
[:
7
]
=
-
1
m2
.
lowerPositionLimit
=
limit
# q2 = robot.q0[:19]
for
f
in
m1
.
frames
:
if
f
.
parent
<
legMaxId
:
m2
.
addFrame
(
f
)
g2
=
pinocchio
.
GeometryModel
()
for
g
in
robot
.
visual_model
.
geometryObjects
:
if
g
.
parentJoint
<
14
:
g2
.
addGeometryObject
(
g
)
robot
.
model
=
m2
robot
.
data
=
m2
.
createData
()
robot
.
visual_model
=
g2
# robot.q0=q2
robot
.
visual_data
=
pinocchio
.
GeometryData
(
g2
)
# Load SRDF file
robot
.
q0
=
np
.
matrix
(
np
.
resize
(
robot
.
q0
,
robot
.
model
.
nq
)).
T
readParamsFromSrdf
(
robot
,
modelPath
+
SRDF_SUBPATH
,
False
)
assert
((
m2
.
armature
[:
6
]
==
0.
).
all
())
# Add the free-flyer joint limits
addFreeFlyerJointLimits
(
robot
)
return
robot
def
loadHyQ
():
URDF_FILENAME
=
"hyq_no_sensors.urdf"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment