robotic 0.2.9.dev2__cp312-cp312-manylinux2014_x86_64.whl → 0.3.0__cp312-cp312-manylinux2014_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- robotic/__init__.py +1 -1
- robotic/_robotic.pyi +9 -9
- robotic/_robotic.so +0 -0
- robotic/include/rai/Algo/rungeKutta.h +1 -1
- robotic/include/rai/Control/TimingMPC.h +2 -2
- robotic/include/rai/Core/array.h +64 -40
- robotic/include/rai/Core/array.ipp +244 -80
- robotic/include/rai/Core/arrayDouble.h +10 -13
- robotic/include/rai/Core/graph.h +22 -2
- robotic/include/rai/Core/h5.h +3 -1
- robotic/include/rai/Geo/fclInterface.h +3 -1
- robotic/include/rai/Geo/geo.h +4 -1
- robotic/include/rai/Geo/mesh.h +11 -5
- robotic/include/rai/Geo/pairCollision.h +4 -4
- robotic/include/rai/Gui/RenderData.h +4 -3
- robotic/include/rai/Gui/opengl.h +1 -1
- robotic/include/rai/KOMO/komo.h +1 -0
- robotic/include/rai/KOMO/manipTools.h +1 -1
- robotic/include/rai/Kin/F_forces.h +1 -1
- robotic/include/rai/Kin/dof_forceExchange.h +4 -4
- robotic/include/rai/Kin/frame.h +4 -3
- robotic/include/rai/Kin/kin.h +24 -15
- robotic/include/rai/Kin/kin_physx.h +2 -2
- robotic/include/rai/Logic/folWorld.h +1 -1
- robotic/include/rai/Optim/testProblems_Opt.h +2 -2
- robotic/include/rai/Optim/utils.h +2 -2
- robotic/include/rai/PathAlgos/ConfigurationProblem.h +3 -2
- robotic/include/rai/PathAlgos/RRT_PathFinder.h +1 -1
- robotic/librai.so +0 -0
- robotic/meshTool +0 -0
- robotic/rai-robotModels/g1/g1.g +11 -2
- robotic/rai-robotModels/objects/shelf.g +1 -1
- robotic/rai-robotModels/panda/panda.g +1 -1
- robotic/rai-robotModels/panda/panda_arm_hand_conv.g +22 -22
- robotic/rai-robotModels/panda/panda_arm_hand_conv.yml +24 -0
- robotic/rai-robotModels/pr2/pr2.g +6 -6
- robotic/rai-robotModels/pr2/pr2_clean.g +114 -114
- robotic/rai-robotModels/pr2/pr2_modifications.g +2 -2
- robotic/rai-robotModels/ranger/ranger.g +3 -3
- robotic/rai-robotModels/robotiq/robotiq.g +1 -1
- robotic/rai-robotModels/scenarios/panda_fixRobotiq.g +3 -3
- robotic/rai-robotModels/tests/arm.g +11 -11
- robotic/rai-robotModels/ur10/ur10.g +1 -1
- robotic/rai-robotModels/ur10/ur10_clean.g +8 -8
- robotic/ry-h5info +2 -2
- robotic/ry-urdfConvert.py +3 -2
- robotic/{cleanMeshes.py → src/cleanMeshes.py} +0 -0
- robotic/src/meshlabFilters.mlx +20 -0
- robotic/src/{config_mujoco.py → mujoco_io.py} +18 -13
- robotic/test.py +15 -0
- robotic/version.py +1 -1
- {robotic-0.2.9.dev2.data → robotic-0.3.0.data}/scripts/ry-h5info +2 -2
- robotic-0.3.0.data/scripts/ry-urdfConvert.py +74 -0
- {robotic-0.2.9.dev2.dist-info → robotic-0.3.0.dist-info}/METADATA +3 -7
- {robotic-0.2.9.dev2.dist-info → robotic-0.3.0.dist-info}/RECORD +63 -65
- {robotic-0.2.9.dev2.dist-info → robotic-0.3.0.dist-info}/WHEEL +1 -1
- robotic/rai-robotModels/g1/g1_29dof_conv.g +0 -77
- robotic/rai-robotModels/robotiq/robotiq_arg2f_85_model_conv.g +0 -21
- robotic/ry-urdf2rai +0 -222
- robotic/ry-urdf2yaml +0 -250
- robotic-0.2.9.dev2.data/scripts/ry-urdf2rai +0 -222
- robotic-0.2.9.dev2.data/scripts/ry-urdf2yaml +0 -250
- {robotic-0.2.9.dev2.data → robotic-0.3.0.data}/scripts/ry-bot +0 -0
- {robotic-0.2.9.dev2.data → robotic-0.3.0.data}/scripts/ry-info +0 -0
- {robotic-0.2.9.dev2.data → robotic-0.3.0.data}/scripts/ry-meshTool +0 -0
- {robotic-0.2.9.dev2.data → robotic-0.3.0.data}/scripts/ry-test +0 -0
- {robotic-0.2.9.dev2.data → robotic-0.3.0.data}/scripts/ry-view +0 -0
- {robotic-0.2.9.dev2.dist-info → robotic-0.3.0.dist-info}/licenses/LICENSE +0 -0
- {robotic-0.2.9.dev2.dist-info → robotic-0.3.0.dist-info}/top_level.txt +0 -0
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
world: { }
|
|
2
|
-
world_joint_origin(world): {
|
|
2
|
+
world_joint_origin(world): { pose: [0, 0, 1, 1, 0, 0, 0] }
|
|
3
3
|
world_joint(world_joint_origin): { joint: rigid }
|
|
4
4
|
base_link(world_joint): { mass: 4, inertia: [0.00610633, 0.00610633, 0.01125] }
|
|
5
5
|
base_link_0(base_link): { shape: mesh, mesh: <ur_description/meshes/ur10/visual/Base.dae>, visual: True }
|
|
6
|
-
shoulder_pan_joint_origin(base_link): {
|
|
6
|
+
shoulder_pan_joint_origin(base_link): { pose: [0, 0, 0.1273, 1, 0, 0, 0] }
|
|
7
7
|
shoulder_pan_joint(shoulder_pan_joint_origin): { joint: hingeZ, limits: [-6.28319, 6.28319, 2.16, -1, 330], ctrl_limits: [2.16, -1, 330] }
|
|
8
8
|
shoulder_link(shoulder_pan_joint): { mass: 7.778, inertia: [0.0314743, 0.0314743, 0.0218756] }
|
|
9
9
|
shoulder_link_0(shoulder_link): { shape: mesh, mesh: <ur_description/meshes/ur10/visual/Shoulder.dae>, visual: True }
|
|
10
|
-
shoulder_lift_joint_origin(shoulder_link): {
|
|
10
|
+
shoulder_lift_joint_origin(shoulder_link): { pose: [0, 0.220941, 0, 0.707107, 0, 0.707107, 0] }
|
|
11
11
|
shoulder_lift_joint(shoulder_lift_joint_origin): { joint: hingeY, limits: [-6.28319, 6.28319, 2.16, -1, 330], ctrl_limits: [2.16, -1, 330] }
|
|
12
12
|
upper_arm_link(shoulder_lift_joint): { mass: 12.93, inertia: [0.421754, 0.421754, 0.0363656] }
|
|
13
13
|
upper_arm_link_0(upper_arm_link): { shape: mesh, mesh: <ur_description/meshes/ur10/visual/UpperArm.dae>, visual: True }
|
|
14
|
-
elbow_joint_origin(upper_arm_link): {
|
|
14
|
+
elbow_joint_origin(upper_arm_link): { pose: [0, -0.1719, 0.612, 1, 0, 0, 0] }
|
|
15
15
|
elbow_joint(elbow_joint_origin): { joint: hingeY, limits: [-6.28319, 6.28319, 3.15, -1, 150], ctrl_limits: [3.15, -1, 150] }
|
|
16
16
|
forearm_link(elbow_joint): { mass: 3.87, inertia: [0.11107, 0.11107, 0.0108844] }
|
|
17
17
|
forearm_link_0(forearm_link): { shape: mesh, mesh: <ur_description/meshes/ur10/visual/Forearm.dae>, visual: True }
|
|
18
|
-
wrist_1_joint_origin(forearm_link): {
|
|
18
|
+
wrist_1_joint_origin(forearm_link): { pose: [0, 0, 0.5723, 0.707107, 0, 0.707107, 0] }
|
|
19
19
|
wrist_1_joint(wrist_1_joint_origin): { joint: hingeY, limits: [-6.28319, 6.28319, 3.2, -1, 54], ctrl_limits: [3.2, -1, 54] }
|
|
20
20
|
wrist_1_link(wrist_1_joint): { mass: 1.96, inertia: [0.00510825, 0.00510825, 0.0055125] }
|
|
21
21
|
wrist_1_link_0(wrist_1_link): { shape: mesh, mesh: <ur_description/meshes/ur10/visual/Wrist1.dae>, visual: True }
|
|
22
|
-
wrist_2_joint_origin(wrist_1_link): {
|
|
22
|
+
wrist_2_joint_origin(wrist_1_link): { pose: [0, 0.1149, 0, 1, 0, 0, 0] }
|
|
23
23
|
wrist_2_joint(wrist_2_joint_origin): { joint: hingeZ, limits: [-6.28319, 6.28319, 3.2, -1, 54], ctrl_limits: [3.2, -1, 54] }
|
|
24
24
|
wrist_2_link(wrist_2_joint): { mass: 1.96, inertia: [0.00510825, 0.00510825, 0.0055125] }
|
|
25
25
|
wrist_2_link_0(wrist_2_link): { shape: mesh, mesh: <ur_description/meshes/ur10/visual/Wrist2.dae>, visual: True }
|
|
26
|
-
wrist_3_joint_origin(wrist_2_link): {
|
|
26
|
+
wrist_3_joint_origin(wrist_2_link): { pose: [0, 0, 0.1157, 1, 0, 0, 0] }
|
|
27
27
|
wrist_3_joint(wrist_3_joint_origin): { joint: hingeY, limits: [-6.28319, 6.28319, 3.2, -1, 54], ctrl_limits: [3.2, -1, 54] }
|
|
28
28
|
wrist_3_link(wrist_3_joint): { mass: 0.202, inertia: [0.000526462, 0.000526462, 0.000568125] }
|
|
29
29
|
wrist_3_link_0(wrist_3_link): { shape: mesh, mesh: <ur_description/meshes/ur10/visual/Wrist3.dae>, visual: True }
|
|
30
|
-
ee_fixed_joint_origin(wrist_3_link): {
|
|
30
|
+
ee_fixed_joint_origin(wrist_3_link): { pose: [0, 0.0922, 0, 0.707107, 0, 0, 0.707107] }
|
|
31
31
|
ee_fixed_joint(ee_fixed_joint_origin): { joint: rigid }
|
|
32
32
|
ee_link(ee_fixed_joint): { }
|
robotic/ry-h5info
CHANGED
|
@@ -12,9 +12,9 @@ def print_attrs(name, obj):
|
|
|
12
12
|
if isinstance(obj, h5py.Dataset):
|
|
13
13
|
print(' ', name, obj.name, obj.shape, obj.dtype, f'{obj.size*obj.dtype.itemsize/1024:.2f}kB')
|
|
14
14
|
if obj.dtype=='int8':
|
|
15
|
-
print(''.join([chr(x) for x in obj[()]]))
|
|
15
|
+
print(' ', ''.join([chr(x) for x in obj[()]]))
|
|
16
16
|
elif obj.size<20:
|
|
17
|
-
print(obj[()])
|
|
17
|
+
print(' ', obj[()])
|
|
18
18
|
else:
|
|
19
19
|
print('---', name)
|
|
20
20
|
|
robotic/ry-urdfConvert.py
CHANGED
|
@@ -16,6 +16,7 @@ parser.add_argument('file', type=str, help='urdf file', nargs='?', default='none
|
|
|
16
16
|
|
|
17
17
|
parser.add_argument('-view', help='view mesh', action="store_true", default=True)
|
|
18
18
|
parser.add_argument('-flipDaeYZ', help='view mesh', action="store_true", default=False)
|
|
19
|
+
parser.add_argument('-pruneRigidJoints', help='view mesh', action="store_true")
|
|
19
20
|
parser.add_argument('-recomputeInertias', help='view mesh', action="store_true")
|
|
20
21
|
parser.add_argument('-processMeshes', help='view mesh', action="store_true", default=True)
|
|
21
22
|
parser.add_argument('-meshlab', help='apply meshlab filters', action="store_true", default=False)
|
|
@@ -39,9 +40,9 @@ def main():
|
|
|
39
40
|
|
|
40
41
|
C = ry.URDFLoader(args.file, visualsOnly=True, meshPathRemove='package://').C
|
|
41
42
|
|
|
42
|
-
C.processStructure(
|
|
43
|
+
C.processStructure(args.pruneRigidJoints, True, False, False)
|
|
43
44
|
C.processInertias(args.recomputeInertias)
|
|
44
|
-
C.processStructure(
|
|
45
|
+
C.processStructure(args.pruneRigidJoints, True, False, False)
|
|
45
46
|
|
|
46
47
|
os.system('rm -Rf meshes/')
|
|
47
48
|
C.writeMeshes('meshes/', copyTextures=True)
|
|
File without changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!DOCTYPE FilterScript>
|
|
2
|
+
<FilterScript>
|
|
3
|
+
<filter name="Repair non Manifold Edges by removing faces"/>
|
|
4
|
+
<filter name="Simplification: Quadric Edge Collapse Decimation">
|
|
5
|
+
<Param tooltip="The desired final number of faces." type="RichInt" description="Target number of faces" value="20000" name="TargetFaceNum"/>
|
|
6
|
+
<Param tooltip="If non zero, this parameter specifies the desired final size of the mesh as a percentage of the initial size." type="RichFloat" description="Percentage reduction (0..1)" value="0" name="TargetPerc"/>
|
|
7
|
+
<Param tooltip="Quality threshold for penalizing bad shaped faces.<br>The value is in the range [0..1]
 0 accept any kind of face (no penalties),
 0.5 penalize faces with quality < 0.5, proportionally to their shape
" type="RichFloat" description="Quality threshold" value="0.3" name="QualityThr"/>
|
|
8
|
+
<Param tooltip="The simplification process tries to do not affect mesh boundaries during simplification" type="RichBool" description="Preserve Boundary of the mesh" value="false" name="PreserveBoundary"/>
|
|
9
|
+
<Param tooltip="The importance of the boundary during simplification. Default (1.0) means that the boundary has the same importance of the rest. Values greater than 1.0 raise boundary importance and has the effect of removing less vertices on the border. Admitted range of values (0,+inf). " type="RichFloat" description="Boundary Preserving Weight" value="1" name="BoundaryWeight"/>
|
|
10
|
+
<Param tooltip="Try to avoid face flipping effects and try to preserve the original orientation of the surface" type="RichBool" description="Preserve Normal" value="false" name="PreserveNormal"/>
|
|
11
|
+
<Param tooltip="Avoid all the collapses that should cause a topology change in the mesh (like closing holes, squeezing handles, etc). If checked the genus of the mesh should stay unchanged." type="RichBool" description="Preserve Topology" value="false" name="PreserveTopology"/>
|
|
12
|
+
<Param tooltip="Each collapsed vertex is placed in the position minimizing the quadric error.
 It can fail (creating bad spikes) in case of very flat areas. 
If disabled edges are collapsed onto one of the two original vertices and the final mesh is composed by a subset of the original vertices. " type="RichBool" description="Optimal position of simplified vertices" value="true" name="OptimalPlacement"/>
|
|
13
|
+
<Param tooltip="Add additional simplification constraints that improves the quality of the simplification of the planar portion of the mesh, as a side effect, more triangles will be preserved in flat areas (allowing better shaped triangles)." type="RichBool" description="Planar Simplification" value="false" name="PlanarQuadric"/>
|
|
14
|
+
<Param tooltip="How much we should try to preserve the triangles in the planar regions. If you lower this value planar areas will be simplified more." type="RichFloat" description="Planar Simp. Weight" value="0.001" name="PlanarWeight"/>
|
|
15
|
+
<Param tooltip="Use the Per-Vertex quality as a weighting factor for the simplification. The weight is used as a error amplification value, so a vertex with a high quality value will not be simplified and a portion of the mesh with low quality values will be aggressively simplified." type="RichBool" description="Weighted Simplification" value="false" name="QualityWeight"/>
|
|
16
|
+
<Param tooltip="After the simplification an additional set of steps is performed to clean the mesh (unreferenced vertices, bad faces, etc)" type="RichBool" description="Post-simplification cleaning" value="true" name="AutoClean"/>
|
|
17
|
+
<Param tooltip="The simplification is applied only to the selected set of faces.
 Take care of the target number of faces!" type="RichBool" description="Simplify only selected faces" value="false" name="Selected"/>
|
|
18
|
+
</filter>
|
|
19
|
+
<filter name="Repair non Manifold Edges by removing faces"/>
|
|
20
|
+
</FilterScript>
|
|
@@ -7,8 +7,11 @@ from copy import copy
|
|
|
7
7
|
|
|
8
8
|
class MujocoLoader():
|
|
9
9
|
|
|
10
|
-
def __init__(self, file, visualsOnly=True):
|
|
10
|
+
def __init__(self, file, visualsOnly=True, defaultConType='0', basePos=[0,0,0], baseQuat=[0,0,0,1]):
|
|
11
|
+
ry.params_add({'cd_into_mesh_files': False})
|
|
12
|
+
|
|
11
13
|
self.visualsOnly = visualsOnly
|
|
14
|
+
self.defaultConType = defaultConType
|
|
12
15
|
self.debug_counter = 0
|
|
13
16
|
self.muj2rai_joint_map = {
|
|
14
17
|
'1 0 0': ry.JT.hingeX,
|
|
@@ -32,7 +35,8 @@ class MujocoLoader():
|
|
|
32
35
|
self.C = ry.Config()
|
|
33
36
|
self.base = self.C.addFrame('base')
|
|
34
37
|
self.base.addAttributes({'multibody':True})
|
|
35
|
-
self.base.
|
|
38
|
+
self.base.setPosition(basePos)
|
|
39
|
+
self.base.setQuaternion(baseQuat)
|
|
36
40
|
self.add_node(root, self.base, path, 0)
|
|
37
41
|
|
|
38
42
|
def as_floats(self, input_string):
|
|
@@ -104,7 +108,7 @@ class MujocoLoader():
|
|
|
104
108
|
for i, joint in enumerate(body.findall('./joint')):
|
|
105
109
|
axis = joint.attrib.get('axis', None)
|
|
106
110
|
limits = joint.attrib.get('range', None)
|
|
107
|
-
joint_name = joint.attrib.get('name', f'{body_name}_joint{i*
|
|
111
|
+
joint_name = joint.attrib.get('name', f'{body_name}_joint{i*"_"}')
|
|
108
112
|
f_origin = self.C.addFrame(f'{joint_name}_origin')
|
|
109
113
|
f_origin.setParent(f_body)
|
|
110
114
|
self.setRelativePose(f_origin, joint.attrib)
|
|
@@ -145,7 +149,7 @@ class MujocoLoader():
|
|
|
145
149
|
f_body.setParent(f_parent, True)
|
|
146
150
|
|
|
147
151
|
for i, geom in enumerate(body.findall('./geom')):
|
|
148
|
-
isColl =
|
|
152
|
+
isColl = geom.attrib.get('contype', self.defaultConType)!='0' or 'coll' in geom.attrib.get('class','')
|
|
149
153
|
if self.visualsOnly and isColl:
|
|
150
154
|
continue
|
|
151
155
|
|
|
@@ -185,23 +189,24 @@ class MujocoLoader():
|
|
|
185
189
|
|
|
186
190
|
elif geom.attrib['type']=='box':
|
|
187
191
|
assert len(size)==3
|
|
188
|
-
|
|
192
|
+
size = [2.*f for f in size]
|
|
193
|
+
f_shape.setShape(ry.ST.box, size)
|
|
189
194
|
if geom.attrib.get('material', None):
|
|
190
195
|
texture_path = self.materials[geom.attrib.get('material', None)]
|
|
191
196
|
if len(texture_path.split()) == 4: # Is a color rgba
|
|
192
197
|
f_shape.setColor(self.as_floats(texture_path))
|
|
193
198
|
else:
|
|
194
199
|
print('applying to box:', texture_path)
|
|
195
|
-
#TODO incorperate <texrepeat> tag correctly
|
|
200
|
+
#TODO incorperate <texrepeat> tag correctly
|
|
196
201
|
uv_coords = np.array([
|
|
197
202
|
[0, 0], # vertex 0
|
|
198
|
-
[
|
|
199
|
-
[
|
|
200
|
-
[0, 1], # vertex 3
|
|
201
|
-
[0, 0], # vertex
|
|
202
|
-
[
|
|
203
|
-
[
|
|
204
|
-
[0, 1]
|
|
203
|
+
[size[0], 0], # vertex 1
|
|
204
|
+
[size[0], size[1]], # vertex 2
|
|
205
|
+
[0, size[1]], # vertex 3
|
|
206
|
+
[0, 0], # vertex 0
|
|
207
|
+
[size[0], 0], # vertex 1
|
|
208
|
+
[size[0], size[1]], # vertex 2
|
|
209
|
+
[0, size[1]], # vertex 3
|
|
205
210
|
])
|
|
206
211
|
|
|
207
212
|
f_shape.setTextureFile(texture_path, uv_coords)
|
robotic/test.py
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import point_cloud_utils as pcu
|
|
2
|
+
|
|
3
|
+
# v is a [n, 3] shaped NumPy array of vertices
|
|
4
|
+
# f is a [m, 3] shaped integer NumPy array of indices into v
|
|
5
|
+
# n is a [n, 3] shaped NumPy array of vertex normals
|
|
6
|
+
v, f, n = pcu.load_mesh_vfn("bunny.ply")
|
|
7
|
+
|
|
8
|
+
# Generate barycentric coordinates of random samples
|
|
9
|
+
num_samples = 1000
|
|
10
|
+
fid, bc = pcu.sample_mesh_random(v, f, num_samples)
|
|
11
|
+
|
|
12
|
+
# Interpolate the vertex positions and normals using the returned barycentric coordinates
|
|
13
|
+
# to get sample positions and normals
|
|
14
|
+
rand_positions = pcu.interpolate_barycentric_coords(f, fid, bc, v)
|
|
15
|
+
rand_normals = pcu.interpolate_barycentric_coords(f, fid, bc, n)
|
robotic/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '0.
|
|
1
|
+
__version__ = '0.3.0'
|
|
@@ -12,9 +12,9 @@ def print_attrs(name, obj):
|
|
|
12
12
|
if isinstance(obj, h5py.Dataset):
|
|
13
13
|
print(' ', name, obj.name, obj.shape, obj.dtype, f'{obj.size*obj.dtype.itemsize/1024:.2f}kB')
|
|
14
14
|
if obj.dtype=='int8':
|
|
15
|
-
print(''.join([chr(x) for x in obj[()]]))
|
|
15
|
+
print(' ', ''.join([chr(x) for x in obj[()]]))
|
|
16
16
|
elif obj.size<20:
|
|
17
|
-
print(obj[()])
|
|
17
|
+
print(' ', obj[()])
|
|
18
18
|
else:
|
|
19
19
|
print('---', name)
|
|
20
20
|
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
#!python
|
|
2
|
+
|
|
3
|
+
# from config_mujoco import *
|
|
4
|
+
# from config_urdf import *
|
|
5
|
+
# from mesh_helper import *
|
|
6
|
+
from robotic.src.yaml_helper import *
|
|
7
|
+
import robotic as ry
|
|
8
|
+
import argparse
|
|
9
|
+
import glob
|
|
10
|
+
import os
|
|
11
|
+
|
|
12
|
+
parser = argparse.ArgumentParser(
|
|
13
|
+
description='Utility to clean meshes in meshes/')
|
|
14
|
+
|
|
15
|
+
parser.add_argument('file', type=str, help='urdf file', nargs='?', default='none')
|
|
16
|
+
|
|
17
|
+
parser.add_argument('-view', help='view mesh', action="store_true", default=True)
|
|
18
|
+
parser.add_argument('-flipDaeYZ', help='view mesh', action="store_true", default=False)
|
|
19
|
+
parser.add_argument('-pruneRigidJoints', help='view mesh', action="store_true")
|
|
20
|
+
parser.add_argument('-recomputeInertias', help='view mesh', action="store_true")
|
|
21
|
+
parser.add_argument('-processMeshes', help='view mesh', action="store_true", default=True)
|
|
22
|
+
parser.add_argument('-meshlab', help='apply meshlab filters', action="store_true", default=False)
|
|
23
|
+
|
|
24
|
+
def main():
|
|
25
|
+
args = parser.parse_args()
|
|
26
|
+
|
|
27
|
+
if args.file=='none':
|
|
28
|
+
# args.file = '/home/mtoussai/git/rai-robotModels/pr2/pr2.urdf'
|
|
29
|
+
args.file = '/home/mtoussai/git/rai-robotModels/panda/panda_arm_hand.urdf'
|
|
30
|
+
# args.file = '/home/mtoussai/git/rai-robotModels/g1/g1_description/g1_29dof.urdf'
|
|
31
|
+
# args.file = '/home/mtoussai/git/rai-robotModels/ranger/ranger_mini.urdf'
|
|
32
|
+
|
|
33
|
+
print('=== URDF CONVERT ===', args.file)
|
|
34
|
+
|
|
35
|
+
path, file = os.path.split(args.file)
|
|
36
|
+
filebase, _ = os.path.splitext(file)
|
|
37
|
+
|
|
38
|
+
if args.flipDaeYZ:
|
|
39
|
+
ry.params_add({'assimp/daeFlipYZ': False})
|
|
40
|
+
|
|
41
|
+
C = ry.URDFLoader(args.file, visualsOnly=True, meshPathRemove='package://').C
|
|
42
|
+
|
|
43
|
+
C.processStructure(args.pruneRigidJoints, True, False, False)
|
|
44
|
+
C.processInertias(args.recomputeInertias)
|
|
45
|
+
C.processStructure(args.pruneRigidJoints, True, False, False)
|
|
46
|
+
|
|
47
|
+
os.system('rm -Rf meshes/')
|
|
48
|
+
C.writeMeshes('meshes/', copyTextures=True)
|
|
49
|
+
|
|
50
|
+
print('#frames: ', C.getFrameDimension())
|
|
51
|
+
with open(f'{filebase}_conv.g', 'w') as fil:
|
|
52
|
+
#yaml.dump(C.asDict(), file, default_flow_style=False)
|
|
53
|
+
fil.write(C.write())
|
|
54
|
+
|
|
55
|
+
yaml_write_dict(C.asDict(), f'{filebase}_conv.yml')
|
|
56
|
+
|
|
57
|
+
C.view(True)
|
|
58
|
+
# C.animate()
|
|
59
|
+
|
|
60
|
+
if args.processMeshes:
|
|
61
|
+
for file in sorted(glob.glob('meshes/*.h5')):
|
|
62
|
+
|
|
63
|
+
M = ry.MeshHelper(file)
|
|
64
|
+
if M.mesh is None:
|
|
65
|
+
continue
|
|
66
|
+
|
|
67
|
+
M.repair(mergeTolerance=1e-4)
|
|
68
|
+
print(' watertight:', M.mesh.is_watertight)
|
|
69
|
+
print(' oriented:', M.mesh.is_winding_consistent)
|
|
70
|
+
M.report()
|
|
71
|
+
M.export_h5()
|
|
72
|
+
|
|
73
|
+
if __name__ == "__main__":
|
|
74
|
+
main()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: robotic
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Robotic Control Interface & Manipulation Planning Library
|
|
5
5
|
Home-page: https://github.com/MarcToussaint/robotic/
|
|
6
6
|
Author: Marc Toussaint
|
|
@@ -46,19 +46,15 @@ Lab](https://argmin.lis.tu-berlin.de/)) operate our robots.
|
|
|
46
46
|
* Tests:
|
|
47
47
|
|
|
48
48
|
ry-info
|
|
49
|
-
|
|
50
49
|
ry-test
|
|
51
50
|
|
|
52
|
-
python3 -c 'import robotic as ry; ry.test.RndScene()'
|
|
53
|
-
|
|
54
|
-
ry-view `python3 -m site --user-site`/robotic/rai-robotModels/scenarios/pandaSingle.g
|
|
55
|
-
|
|
56
51
|
* Run all tutorial notebooks as a test and showcase (takes long):
|
|
57
52
|
|
|
58
53
|
pip install jupyter nbconvert matplotlib ipympl
|
|
59
54
|
git clone https://github.com/MarcToussaint/rai-tutorials.git
|
|
60
55
|
cd rai-tutorials
|
|
61
56
|
make run -j1
|
|
57
|
+
make run_demos -j1
|
|
62
58
|
|
|
63
59
|
* Tested in latest ubuntu docker (using a venv):
|
|
64
60
|
|
|
@@ -74,7 +70,7 @@ Lab](https://argmin.lis.tu-berlin.de/)) operate our robots.
|
|
|
74
70
|
|
|
75
71
|
## Installation from source with real Franka & realsense support
|
|
76
72
|
|
|
77
|
-
This assumes a standard Ubuntu
|
|
73
|
+
This assumes a standard Ubuntu 24.04 (or 22.04, 20.04) machine.
|
|
78
74
|
|
|
79
75
|
* Install Ubuntu and python packages:
|
|
80
76
|
|
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
robotic/DataGen.pyi,sha256=Psut6_CMYC1lkRWIfpem1vjiHeDA1bDRYh5WmALUuDw,3239
|
|
2
|
-
robotic/__init__.py,sha256=
|
|
3
|
-
robotic/_robotic.pyi,sha256=
|
|
4
|
-
robotic/_robotic.so,sha256=
|
|
5
|
-
robotic/
|
|
6
|
-
robotic/librai.so,sha256=gEHvVF7zEMmq89zNpPWTLcS_yDzfUwLgCDCh3x7-aec,38787680
|
|
2
|
+
robotic/__init__.py,sha256=ohFobv0RbIeS22ItTjsBuEh2SCmcXAGuUwu5A2j-foA,418
|
|
3
|
+
robotic/_robotic.pyi,sha256=oJJcEuvL8aQGFTbdqmVdLNYTNIqz_KaxK8QYBVKBkrA,74164
|
|
4
|
+
robotic/_robotic.so,sha256=Ew_OudXnP0_5eZLkYY_8kdL_P6EsFt-JCbX13jAC6dg,1226528
|
|
5
|
+
robotic/librai.so,sha256=ZQ9kyklmvF399Nc97EguActdDxj3REaOcs-AwVxXxBQ,38705536
|
|
7
6
|
robotic/manipulation.py,sha256=EhM_Zuv3vl8H4SBNqqYMD3NT9AzFUpOhr4PIzM4U7tM,22374
|
|
8
|
-
robotic/meshTool,sha256=
|
|
7
|
+
robotic/meshTool,sha256=AWNp8WLaNlttZMHFyrBxy7eKkeTXUzxQP_38mjNyBcQ,52176
|
|
9
8
|
robotic/mujoco-import.py,sha256=6zZTUvl6GuxSQrTnMW2y4Iy8iL7RuRbfZET-KiqO1Fg,363
|
|
10
9
|
robotic/nlp.py,sha256=n9_hOj3i707DdL_r49Yd2eWyjsSOahW8DmJrEhQlNFw,3200
|
|
11
10
|
robotic/render.py,sha256=OE1dvyWHD7Oyzk4wlhXZ7m3v3xxa3zAL5_LCV1RgJXk,4662
|
|
12
11
|
robotic/ry-bot,sha256=nd2yWqaDsFbwAmr7ySdOjq06ek0E1FMHTxPRO-7e2Q8,2294
|
|
13
|
-
robotic/ry-h5info,sha256=
|
|
12
|
+
robotic/ry-h5info,sha256=BRBpQSkzO13rcEJx4hJ8vNm_HXPHlSL_lmx9qDn-9LA,824
|
|
14
13
|
robotic/ry-info,sha256=GRj4oMCgTCGRF2wxtYxiFvETROB92rwwtUFb6S_Eo7g,439
|
|
15
14
|
robotic/ry-meshTool,sha256=h4f4wFPNaey3ziz870SrEvy6SsQSL-ZnR_cH3UuAZxE,101
|
|
16
15
|
robotic/ry-test,sha256=yikBKckTos-lPTcazB5zCssW0H9qIj1-QPlRL39gQgs,981
|
|
17
|
-
robotic/ry-
|
|
18
|
-
robotic/ry-urdf2yaml,sha256=D36MR8Ui6Ry9V0TqJOBaPCWC89OZa43Fytz4P7Y4v0w,8543
|
|
19
|
-
robotic/ry-urdfConvert.py,sha256=0zJ9Y6ClrfHdEcBqHT39ZFz-ZntHu8fXgws25vc28a4,2444
|
|
16
|
+
robotic/ry-urdfConvert.py,sha256=8Efnq3PU202rrZrVEZiGwzFOJdvrLjTJ2q-gnY6-tiU,2556
|
|
20
17
|
robotic/ry-view,sha256=T1Omn1QS7cNAtjQhBjMJTNz7aW5FgoOf9vBIfW0mFME,613
|
|
18
|
+
robotic/test.py,sha256=8hiDRB2kB37hE5cZ7h26AJDnSGYb1y8DwOrcEGD_5Hc,620
|
|
21
19
|
robotic/test.pyi,sha256=vVxwRSerjUG4bpB7pIhof7ZatrBqwg3Bj5voywa-YTI,917
|
|
22
|
-
robotic/version.py,sha256=
|
|
20
|
+
robotic/version.py,sha256=3wVEs2QD_7OcTlD97cZdCeizd2hUbJJ0GeIO8wQIjrk,22
|
|
23
21
|
robotic/include/rai/Algo/MLcourse.h,sha256=TGkAJWC5ollGfPw0-gcYL0TZeDJiHtWFzkHSMK8_lqU,1828
|
|
24
22
|
robotic/include/rai/Algo/RidgeRegression.h,sha256=VXiv6-xr3j--CN7DJTzUg9Xb49zV9FZ9dwzxP1CmcPM,3730
|
|
25
23
|
robotic/include/rai/Algo/SplineCtrlFeed.h,sha256=9ZtYLHXx9sExj0lZV6F5ZWaCtkm0R4hMiYb-KJjktnc,3339
|
|
@@ -32,7 +30,7 @@ robotic/include/rai/Algo/hungarian.h,sha256=RcO0vEzy638pOCqKNv_xWJvOvB1XSAYYjj3C
|
|
|
32
30
|
robotic/include/rai/Algo/kalman.h,sha256=c3i6ebYHZtyT5ReTmpJVx8aJ26JWLymqK_QRDY4-7GU,744
|
|
33
31
|
robotic/include/rai/Algo/minimalSpanningTree.h,sha256=56zTSWdMi4TMjtQDVv7tHo4ahivfidTXWN4zp9NX-Jw,512
|
|
34
32
|
robotic/include/rai/Algo/priorityQueue.h,sha256=nF-5_eSbGjXMmY2K3SpD-Hxwb3bhFA1ilr6IBsFq87Q,1938
|
|
35
|
-
robotic/include/rai/Algo/rungeKutta.h,sha256=
|
|
33
|
+
robotic/include/rai/Algo/rungeKutta.h,sha256=Kbqeu-MauQDQnmKXSRk3VnOLUY_ngKzy-rqSskBqR9k,1761
|
|
36
34
|
robotic/include/rai/Algo/spline.h,sha256=sc36vGI2Ypm1bAo1bgu1mB8D2I4pHlmvHKonmrQi4v4,4358
|
|
37
35
|
robotic/include/rai/Control/CtrlMsgs.h,sha256=61lxkvpcVB2ZAL7qmB35CJ1KkhZUB27lUJ4ZMiFH0Co,2406
|
|
38
36
|
robotic/include/rai/Control/CtrlObjective.h,sha256=fC-6cS0X0RR_7ooFm1xnAXlN2mgyF26qKfTjomUK45U,2591
|
|
@@ -43,17 +41,17 @@ robotic/include/rai/Control/CtrlTargets.h,sha256=FRjAi9KwDL2-5ziKYP5g_-uR234SdPw
|
|
|
43
41
|
robotic/include/rai/Control/RTControllerSimulation.h,sha256=iDpVRfivTlGS7DVWxVrS-xzCdVWrag1pUHsczZEb0po,1254
|
|
44
42
|
robotic/include/rai/Control/SecMPC.h,sha256=VpQBxibL9jI6bG31sm4U95vfJlYJDJxIqBDahppixN8,1916
|
|
45
43
|
robotic/include/rai/Control/ShortPathMPC.h,sha256=bZQ9I7fklqPOk-PwCTvi3xgnLVdVBoJ2j5i1iWwNxfE,938
|
|
46
|
-
robotic/include/rai/Control/TimingMPC.h,sha256=
|
|
44
|
+
robotic/include/rai/Control/TimingMPC.h,sha256=smnQ72mSk2_FQ_k-rEwGIMdjA50Wa_1FCttyk8Oo7pw,1706
|
|
47
45
|
robotic/include/rai/Control/WaypointMPC.h,sha256=Pa36-K1yMxszD9EFuLfLayaOe9pTK8cm1qAALLifdeM,811
|
|
48
46
|
robotic/include/rai/Control/control.h,sha256=_dJefR6WzvdQMaJIYIBuYP8NwoKgNeG4owhQWPxWXzo,765
|
|
49
47
|
robotic/include/rai/Control/ctrlMsg.h,sha256=uGuwAaKM1UsQW3hTNv4AihW99MJMuow4cxa9-AU9AmA,1121
|
|
50
48
|
robotic/include/rai/Control/timingOpt.h,sha256=Ne_IH8QuFCID0Sy88LS5i3qkp1nL1FbIgREqSjRctz0,2045
|
|
51
|
-
robotic/include/rai/Core/array.h,sha256=
|
|
52
|
-
robotic/include/rai/Core/array.ipp,sha256=
|
|
53
|
-
robotic/include/rai/Core/arrayDouble.h,sha256=
|
|
49
|
+
robotic/include/rai/Core/array.h,sha256=YcI48DcBMUYgdlXP4V1dV6juBUe1iCtbKoxWjp4nCxI,26125
|
|
50
|
+
robotic/include/rai/Core/array.ipp,sha256=DNmfosznj0jF-5lXTb8NUejfrVfs_Fw3O0IvvnDfF7M,63560
|
|
51
|
+
robotic/include/rai/Core/arrayDouble.h,sha256=9pr_9g50dFluF2dLgc29bl9o6ri9C84p69fNW2PYqXg,28724
|
|
54
52
|
robotic/include/rai/Core/defines.h,sha256=hBTgf5EiJ50rQYW1saGw8Ox87aKVFOYVKnFw0jojVW0,6894
|
|
55
|
-
robotic/include/rai/Core/graph.h,sha256=
|
|
56
|
-
robotic/include/rai/Core/h5.h,sha256=
|
|
53
|
+
robotic/include/rai/Core/graph.h,sha256=qIpLS_-ey89--kwJ1NbpQEJONTpWMV2FV90a_AgQRVw,20996
|
|
54
|
+
robotic/include/rai/Core/h5.h,sha256=cfs8cew5QYpOxbWFZHV9TXVh5_dEJdFF1-aGZVR54EY,1162
|
|
57
55
|
robotic/include/rai/Core/thread.h,sha256=wjwvXACwI8B6rhZSf2UDruWUb8kT9Xjm-VE-OnUQpwk,18248
|
|
58
56
|
robotic/include/rai/Core/util.h,sha256=qcP8KmyVZ1Ht8pmqfAme_SRjQX5mDpuV4iKl56zyG2o,19453
|
|
59
57
|
robotic/include/rai/Core/util.ipp,sha256=soCVdpzWTpLL9i6rilFPNGozHZP40yhkmuXul7gHC7o,2157
|
|
@@ -65,10 +63,10 @@ robotic/include/rai/DataGen/rndStableConfigs.h,sha256=bIz2RovkruMjYaaDwJIkyevsF6
|
|
|
65
63
|
robotic/include/rai/DataGen/shapenetGrasps.h,sha256=QWv85YMGtW_X9ldKu4eZuoRNdQeIYtVTx1XIsk3Pbvg,1589
|
|
66
64
|
robotic/include/rai/Geo/assimpInterface.h,sha256=2Jg7v2GZ83nz4kkgPLzbSWTIBmL9nZg-LhMlWcjiF_o,1055
|
|
67
65
|
robotic/include/rai/Geo/depth2PointCloud.h,sha256=0mXJnTk0sMB--KDE9CO_2gKgGw4gHXUe7xg6DcROhvk,1168
|
|
68
|
-
robotic/include/rai/Geo/fclInterface.h,sha256=
|
|
69
|
-
robotic/include/rai/Geo/geo.h,sha256=
|
|
70
|
-
robotic/include/rai/Geo/mesh.h,sha256=
|
|
71
|
-
robotic/include/rai/Geo/pairCollision.h,sha256=
|
|
66
|
+
robotic/include/rai/Geo/fclInterface.h,sha256=d89JFW3WKI64gOdQSGs6uFdE7NcMavNg89BMHhzMDac,984
|
|
67
|
+
robotic/include/rai/Geo/geo.h,sha256=9_hpJsINF7Fpc6hb41LPsz9A_tCp48QgfB1HqAAeklU,14858
|
|
68
|
+
robotic/include/rai/Geo/mesh.h,sha256=9tXbU-uuuBv56JUEHjZrGs_WZRCOC4HA2yd4Ex_P12g,6904
|
|
69
|
+
robotic/include/rai/Geo/pairCollision.h,sha256=DOrRoKrYFHM_--h1Ubcgc7tc3xt6KyxA0ezLRCn5IaM,4256
|
|
72
70
|
robotic/include/rai/Geo/qhull.h,sha256=dRAAHIdvujPPW1fXW4hXMjgixpBDajDg-y_OX1JMi_0,1890
|
|
73
71
|
robotic/include/rai/Geo/signedDistanceFunctions.h,sha256=hrC838CsYWQ6TXm536iNRwB8W5-62LNb-JPqPoDAFPE,4831
|
|
74
72
|
robotic/include/rai/Geo/stbImage.h,sha256=R5MRPs3KLL-GOipzAN_jdV-pdlBCTkUFaA5LnYEIElw,100
|
|
@@ -90,14 +88,14 @@ robotic/include/rai/Geo/ccd_rai/support.h,sha256=B9KBuOctG7Hx-e1TXpnkU667WVH7SP4
|
|
|
90
88
|
robotic/include/rai/Geo/ccd_rai/vec3.h,sha256=ARkNnQz8yWf_Cs3vgt22zclN1cLeGmwWPTVHVpvmfEA,8115
|
|
91
89
|
robotic/include/rai/Geo/ply/ply.h,sha256=_oAXgQ5CyHvUMtPDBxYtOBbnKDVoZf5PKMswisqvOeI,9384
|
|
92
90
|
robotic/include/rai/Geo/vhacd/VHACD.h,sha256=QT_cT6PPzec_mxKODsS9cJGr6nBt6S8cUJF7dCeBQCc,258343
|
|
93
|
-
robotic/include/rai/Gui/RenderData.h,sha256=
|
|
91
|
+
robotic/include/rai/Gui/RenderData.h,sha256=SQEJbq1lTdCBsbMx8Yo6Dk_EPpQ2pNxM5l9D9xVU-qk,4986
|
|
94
92
|
robotic/include/rai/Gui/color.h,sha256=4ElBkpWgwBuqQEFD4Mdhv_afZE4ul6NkptwFQ2oDS5o,2596
|
|
95
|
-
robotic/include/rai/Gui/opengl.h,sha256=
|
|
93
|
+
robotic/include/rai/Gui/opengl.h,sha256=d0Ww1xnRb0JMxzGNzVwQT0F2MDQuD5VJCWOvDXYudm8,9024
|
|
96
94
|
robotic/include/rai/Gui/plot.h,sha256=xhTBY84UN4KpgZsX7SJQGqVKd1jU7jojGVKFv02v0xU,2341
|
|
97
95
|
robotic/include/rai/KOMO/PathSmoother.h,sha256=y-t3yVEZvxfQIs8_EA-WI7FJ_RzfbG8TEfdiNAruuUI,813
|
|
98
|
-
robotic/include/rai/KOMO/komo.h,sha256=
|
|
96
|
+
robotic/include/rai/KOMO/komo.h,sha256=9p3lX7X1mr-EYclUzCWQDMagI_ac-Silo0LtTuOXoJY,13389
|
|
99
97
|
robotic/include/rai/KOMO/komo_NLP.h,sha256=kSzUMDmw4yzAXtpNB2v38dpw2tBS8n8R_op_T3yS3DQ,3681
|
|
100
|
-
robotic/include/rai/KOMO/manipTools.h,sha256=
|
|
98
|
+
robotic/include/rai/KOMO/manipTools.h,sha256=WMdCxQB2rTcb3kzbiW9CHDpmGJZcKRqAnT861_iTsH4,4233
|
|
101
99
|
robotic/include/rai/KOMO/objective.h,sha256=Cl4-KjheRMNWoh_xFas5tLWMKSMlJf-HLDihfqvfcSw,2704
|
|
102
100
|
robotic/include/rai/KOMO/pathTools.h,sha256=w0Wq6BGLBxG1LAZQBDmmPWTXzwxW3RHj2EX1cm92WeE,3288
|
|
103
101
|
robotic/include/rai/KOMO/skeleton.h,sha256=NPaMfUMC_sUd3AjlLHTFpxWH4QtnKP_zzvHb2YvEigI,4437
|
|
@@ -107,24 +105,24 @@ robotic/include/rai/KOMO/switch.h,sha256=teNNnHFe4h9W5rLlL3TFBsq97ni-RUEhcxw4uVP
|
|
|
107
105
|
robotic/include/rai/KOMO/testProblems_KOMO.h,sha256=zpujbYe9Q97Mx_m91LQcPhEW8YVSitzYO_7I8l7M3WI,2882
|
|
108
106
|
robotic/include/rai/Kin/F_LeapCost.h,sha256=wNAUNgAJjLirMurF67BlFLHtjyuXy1EPr--9XLBe6Wk,556
|
|
109
107
|
robotic/include/rai/Kin/F_collisions.h,sha256=Atq9LPVOkEuMF-kSHk78cGjaJYwDIbvrTxHmLBJw3yk,2092
|
|
110
|
-
robotic/include/rai/Kin/F_forces.h,sha256=
|
|
108
|
+
robotic/include/rai/Kin/F_forces.h,sha256=tHyBQcKhi4ZdsHoBU5bu7kLWVm611SfEYG_o-vMSDN0,6694
|
|
111
109
|
robotic/include/rai/Kin/F_geometrics.h,sha256=2yPFycgcmZjXLezxoRL_aaetrZusDgtGyx7GQbfbRrI,2146
|
|
112
110
|
robotic/include/rai/Kin/F_operators.h,sha256=Nxdk1dPSoN7lW0A5Ns-BSJ_YXFft4iZi9RDOmVn3BJ0,1608
|
|
113
111
|
robotic/include/rai/Kin/F_pose.h,sha256=QlZnpS4ZTNFBZlH-lpe6sTt2gdbxbjsZTHPqk0T_4AI,5252
|
|
114
112
|
robotic/include/rai/Kin/F_qFeatures.h,sha256=x4cfFGaVBQSmj9ZetcC25qiGxnvfNMPsWh9zbPa5owE,2212
|
|
115
113
|
robotic/include/rai/Kin/cameraview.h,sha256=byzJyTxP4Irh0A6gi8ZNndvJ0UFDD8leLfbW9B7laJI,2478
|
|
116
114
|
robotic/include/rai/Kin/dof_direction.h,sha256=9tio7VXxXAv-ZAxA6QskjD5rMH2LHU4hIGAG6TC0RaY,831
|
|
117
|
-
robotic/include/rai/Kin/dof_forceExchange.h,sha256=
|
|
115
|
+
robotic/include/rai/Kin/dof_forceExchange.h,sha256=TM-DHiGxaw9g3O5IcN7M7VDWF_8LKKtie3qvPn8Y1dA,1931
|
|
118
116
|
robotic/include/rai/Kin/dof_particles.h,sha256=PboLndC5a5extUKAfUPAIsJEGTTs6_ACDgnLrei2s8g,790
|
|
119
117
|
robotic/include/rai/Kin/dof_path.h,sha256=XRPj3bH90JUIdkTS4jxwbAb5n9yAsRoemWUWUV1xDtQ,792
|
|
120
118
|
robotic/include/rai/Kin/feature.h,sha256=xicsrElMcYnYXdIXdO5LBLmXxvCGVUVgZJY2NIarO5I,3935
|
|
121
119
|
robotic/include/rai/Kin/featureSymbols.h,sha256=JVXbXoW43PlEGOgwHPpULlbXUQzkl79F1EFnfl-0wyk,1984
|
|
122
|
-
robotic/include/rai/Kin/frame.h,sha256=
|
|
123
|
-
robotic/include/rai/Kin/kin.h,sha256=
|
|
120
|
+
robotic/include/rai/Kin/frame.h,sha256=p7uRLEqhrxwKkCOEykOX8GYgl4lQqjG3hheKEAAi4XI,14585
|
|
121
|
+
robotic/include/rai/Kin/kin.h,sha256=g-b4adXdOVmQcQ4gwQCWz1n-llhUCUVvm2JLBNa0DwA,16235
|
|
124
122
|
robotic/include/rai/Kin/kin_bullet.h,sha256=y8aApXpXY4bD5QN_WmDAU2vNEvvbdo1Rd4zY7qo-FKE,1970
|
|
125
123
|
robotic/include/rai/Kin/kin_feather.h,sha256=o-hOJA8UcmIBKx_qPzoG9R7fxzz-4zhBNMBmBTK21oA,1627
|
|
126
124
|
robotic/include/rai/Kin/kin_ode.h,sha256=zwB8Le1WMGRkQBc9bssndJICkjO1lZ_y1aZKCwP4c1Y,3686
|
|
127
|
-
robotic/include/rai/Kin/kin_physx.h,sha256=
|
|
125
|
+
robotic/include/rai/Kin/kin_physx.h,sha256=QfYi_-dIvVm7dFgG2SA3csHeb0peRMEhrf-I6pFOMPQ,1832
|
|
128
126
|
robotic/include/rai/Kin/proxy.h,sha256=jfFQrvokqvt8bGYEzGQoD2ZpnuWuLzCeOjFfUvdxcx0,1473
|
|
129
127
|
robotic/include/rai/Kin/simulation.h,sha256=rM08Epf72aiI26z2MPE0sZ6CrnNzolzdzZKhKxw5Zn8,5238
|
|
130
128
|
robotic/include/rai/Kin/viewer.h,sha256=GzObhDzEnIBYH0Yu_wCX8Cm2GAN5wuk-El09b2Vy_8w,2031
|
|
@@ -136,7 +134,7 @@ robotic/include/rai/LGP/LGP_tree.h,sha256=J6W4Qypr70g0EZg30tTZBuca_6_O0sDQAGGv6O
|
|
|
136
134
|
robotic/include/rai/LGP/Motif.h,sha256=-1cYCDDxJK3at3LKT2R-qRoum7o7CnziBg30yijt4Ls,592
|
|
137
135
|
robotic/include/rai/LGP/initFol.h,sha256=m67VqzKUQzMN0kBFL0lWACu0ls7eYj8ExyXVFjuLtDA,507
|
|
138
136
|
robotic/include/rai/Logic/fol.h,sha256=ubWsZacmrRPGeDPKQVGKDoGC_4GxYGdVLJ0K3a3eZu0,3598
|
|
139
|
-
robotic/include/rai/Logic/folWorld.h,sha256=
|
|
137
|
+
robotic/include/rai/Logic/folWorld.h,sha256=XpqTWOIvZbKlS_vsJkXOexrhjfy3_iywebFezJamhHA,6072
|
|
140
138
|
robotic/include/rai/Logic/treeSearchDomain.h,sha256=sO5Y6o9wRTQxfST9YyJw3P0KcqGX7ISqbIN-uGQ5abU,3882
|
|
141
139
|
robotic/include/rai/Optim/BayesOpt.h,sha256=GqOqGk5Y0USf513duMPtt--TBYGqujdsvY2qi17jVxI,1241
|
|
142
140
|
robotic/include/rai/Optim/GlobalIterativeNewton.h,sha256=WRaTFUrx0A1FO7d7shgZbJVaC5AWKZT5PTD8LnuPXiE,801
|
|
@@ -155,11 +153,11 @@ robotic/include/rai/Optim/opt-ipopt.h,sha256=1v147tZVY3MuNMRLaFFWxKC7fyNP5-59WJz
|
|
|
155
153
|
robotic/include/rai/Optim/opt-nlopt.h,sha256=R0ma9SjxcVU9nI7H39QOWUIPy95H4AiQwLRHz3DRe7k,970
|
|
156
154
|
robotic/include/rai/Optim/options.h,sha256=JSqHw6agqLkvfvw6kd54KHQ6Hz7xZyHeRkWAumYUag0,1876
|
|
157
155
|
robotic/include/rai/Optim/primalDual.h,sha256=xHXhAPbZWPVj17ZGpDr4OrLJLYj_G1Wr_k4TCPFBiHc,1272
|
|
158
|
-
robotic/include/rai/Optim/testProblems_Opt.h,sha256=
|
|
159
|
-
robotic/include/rai/Optim/utils.h,sha256=
|
|
160
|
-
robotic/include/rai/PathAlgos/ConfigurationProblem.h,sha256=
|
|
156
|
+
robotic/include/rai/Optim/testProblems_Opt.h,sha256=rYPVdz7y1pkmzJH6aIw3pQ6JqN2_HhJ50CAAdsL2r9A,6531
|
|
157
|
+
robotic/include/rai/Optim/utils.h,sha256=VMTSVUcg3UWN8RhBYSSyqoBCa_AcUrZ_7zvcz3XWEC0,3517
|
|
158
|
+
robotic/include/rai/PathAlgos/ConfigurationProblem.h,sha256=6Mr3MjD3T3lG3OCCDLKrPRA6WddIFpbRRl_O1gVFP5U,1329
|
|
161
159
|
robotic/include/rai/PathAlgos/PathResult.h,sha256=xxZiD8ClGKO719mQR50BsIzOlHeoH0UH4QNzWifoz6c,1070
|
|
162
|
-
robotic/include/rai/PathAlgos/RRT_PathFinder.h,sha256=
|
|
160
|
+
robotic/include/rai/PathAlgos/RRT_PathFinder.h,sha256=44ahBizEoW1HgXh5LPgIL9poCIgaaTiTUeHsfV8Q5kI,3282
|
|
163
161
|
robotic/include/rai/Perception/audio.h,sha256=HQPC8bmOv4Mdfl8f71eUmKFlRE0_N_spY3bg6YJzduo,1105
|
|
164
162
|
robotic/include/rai/Perception/avutil.h,sha256=RlxtNGw8mvKYrWI7Sy8neILBDb1SF2wuf4hFKjPx-4w,802
|
|
165
163
|
robotic/include/rai/Perception/colorseg.h,sha256=1zax9KZGSJcTZ7MTnLZBSbHlZsJqQ1NkvU6cStzQ4vc,2314
|
|
@@ -193,8 +191,7 @@ robotic/include/rai/ry/py-Simulation.h,sha256=Kc4e6pK1yQyxDMCQu1HvXOYt9IlUiojBYF
|
|
|
193
191
|
robotic/include/rai/ry/py-Spline.h,sha256=gR8Cvwt5PlzlolxegS1wUEEOQj9RydOp1gS67Zxm0jk,433
|
|
194
192
|
robotic/include/rai/ry/py-tests.h,sha256=-l_0V-yRqeOEztqCo_BAdcKCAMovyd8-9tnrytM5pQM,432
|
|
195
193
|
robotic/include/rai/ry/types.h,sha256=KQ_byer3O3iFnrtBNyg5sptEfCsujbEeo6edOHSNzaM,8495
|
|
196
|
-
robotic/rai-robotModels/g1/g1.g,sha256=
|
|
197
|
-
robotic/rai-robotModels/g1/g1_29dof_conv.g,sha256=JGWXXdtj2diFPjGAh7yZ5EBcFc_HsZK6eBafGO9EsEY,13288
|
|
194
|
+
robotic/rai-robotModels/g1/g1.g,sha256=9lA31eCRoFENw9Nbg04KoX3diIIQYKz981oRYNKLvO4,499
|
|
198
195
|
robotic/rai-robotModels/g1/g1_clean.g,sha256=jXlPAlL02pPSybl5DgazO0Qf96wAg2tbVwXKYh9e5XQ,11883
|
|
199
196
|
robotic/rai-robotModels/g1/meshes/head_link.h5,sha256=7Gnh6fTAHrUp_8O70hmKKGFVW3246-yUdHqCGEuzK14,253939
|
|
200
197
|
robotic/rai-robotModels/g1/meshes/left_ankle_pitch_link.h5,sha256=2LKu5c-bPbGf8Q0tys5cHS0c38A7Nm39Vpa2ZyyE_Qc,23677
|
|
@@ -233,10 +230,11 @@ robotic/rai-robotModels/g1/meshes/waist_roll_link.h5,sha256=n98tspx87SX7J0lcHZMG
|
|
|
233
230
|
robotic/rai-robotModels/g1/meshes/waist_support_link.h5,sha256=ixpmHi4U4F5Hl86aU4RwU13jBH_C_jEvbCkqkjEjMRM,45034
|
|
234
231
|
robotic/rai-robotModels/g1/meshes/waist_yaw_link.h5,sha256=GXkMr0tmYUvKPW5iKv8xdHYtTSppV1FLAzjv3538NtE,94546
|
|
235
232
|
robotic/rai-robotModels/objects/kitchen.g,sha256=PLi7un2u3I29Mcngc08-9J3ocTU_c5TYlXplYXTgQHU,1223
|
|
236
|
-
robotic/rai-robotModels/objects/shelf.g,sha256=
|
|
233
|
+
robotic/rai-robotModels/objects/shelf.g,sha256=ZZb8kTKrhIY9I4U_sFuGgf5V4GcNH_Zd-l7eHbAg54s,808
|
|
237
234
|
robotic/rai-robotModels/objects/tables.g,sha256=z9GifBjAaCbu3Y2ISmzhVyU9_mw2NlR87eAyj0vNYnI,455
|
|
238
|
-
robotic/rai-robotModels/panda/panda.g,sha256=
|
|
239
|
-
robotic/rai-robotModels/panda/panda_arm_hand_conv.g,sha256=
|
|
235
|
+
robotic/rai-robotModels/panda/panda.g,sha256=VNmWPo9s3GOeWXw7FAr8CeVL_R3W6GmDUgGFOu2A4dA,2677
|
|
236
|
+
robotic/rai-robotModels/panda/panda_arm_hand_conv.g,sha256=BVDQNIAwPB45rrvLX-WYw3Ys44jeqS9upi8RCV31UcY,2296
|
|
237
|
+
robotic/rai-robotModels/panda/panda_arm_hand_conv.yml,sha256=_YP4vVVKeScSPNLRRkkiH2fnHuFUQgt12O1RnWV5mTY,2486
|
|
240
238
|
robotic/rai-robotModels/panda/panda_clean.g,sha256=6EShzBmEa2R5sJRhnGRXwLWcyjRybFY3Su-hdwz55yw,3168
|
|
241
239
|
robotic/rai-robotModels/panda/panda_deformable.g,sha256=DvkhnJYSXc1S_GRBM3iJOm6WovKYrsckzAW-rXxLqH8,6037
|
|
242
240
|
robotic/rai-robotModels/panda/panda_gripper.g,sha256=CB_rY6PUTdpgNsSvvAQ967t2Sm6r0B59rUqaVCZCmvA,862
|
|
@@ -251,10 +249,10 @@ robotic/rai-robotModels/panda/meshes/link4.h5,sha256=BLYmj5sOiAAfKGNJdoXII0Sl2Ie
|
|
|
251
249
|
robotic/rai-robotModels/panda/meshes/link5.h5,sha256=TbrDtvaUYwrFJO8KKhCSF0fOZ8e6rC7GQ5xGtMrxud4,254542
|
|
252
250
|
robotic/rai-robotModels/panda/meshes/link6.h5,sha256=vWc78TMcfY5l8_dTLmypJiKsQx9Llb47BcfACXd2tOA,309727
|
|
253
251
|
robotic/rai-robotModels/panda/meshes/link7.h5,sha256=x-xcLQT0g3vrvdYhaVbX57LRrz9DT8nZFW6YN6oT0-0,172303
|
|
254
|
-
robotic/rai-robotModels/pr2/pr2.g,sha256=
|
|
255
|
-
robotic/rai-robotModels/pr2/pr2_clean.g,sha256=
|
|
252
|
+
robotic/rai-robotModels/pr2/pr2.g,sha256=h1bQcK6_BjriokfVyae-T3i774Mm5Wo8-5Lpu0Ap1W8,2352
|
|
253
|
+
robotic/rai-robotModels/pr2/pr2_clean.g,sha256=Ng1MRoWuf1dUVSyA_KfA9Nfg0IVRSRVIHcT6GE3Rsgw,26874
|
|
256
254
|
robotic/rai-robotModels/pr2/pr2_conv.g,sha256=XIxIBSz5h_luzKBga2ZP2rKOLi0Cp2w0Z65NpdFUFf8,25950
|
|
257
|
-
robotic/rai-robotModels/pr2/pr2_modifications.g,sha256=
|
|
255
|
+
robotic/rai-robotModels/pr2/pr2_modifications.g,sha256=3CgSjGVbO-T-RNCSqAXJJuyQxwZTNNPoYgr73iA-EyI,4659
|
|
258
256
|
robotic/rai-robotModels/pr2/pr2_modify_fixGrippers.g,sha256=kgMG39nOyMoBoBPZLlzvjm0bIa10KB8g8y5nskt1onc,712
|
|
259
257
|
robotic/rai-robotModels/pr2/pr2_modify_fixHead.g,sha256=iRlRNiCFbf6w7Qu0tn0j0qbfSTTQw59L857c7UYLsqs,152
|
|
260
258
|
robotic/rai-robotModels/pr2/pr2_modify_fixLeft.g,sha256=ZKceDnAvEaxIBX0eraFrUddhlEdP7pfIeNeGCVMXp08,364
|
|
@@ -294,14 +292,13 @@ robotic/rai-robotModels/pr2/meshes/wheel_color.png,sha256=TTnLNSv7bJ6o4Qoip3WLTC
|
|
|
294
292
|
robotic/rai-robotModels/pr2/meshes/wrist_color.png,sha256=b_6yenGLjF7OI0PbvD6KlSEnrE-8COO7Mr7IYqxhN5s,24950
|
|
295
293
|
robotic/rai-robotModels/pr2/meshes/wrist_flex.h5,sha256=mxKzkKpspBdM1Vl9sOJYas1HepMy0M4rwa4NtvEYHOU,23886
|
|
296
294
|
robotic/rai-robotModels/pr2/meshes/wrist_roll.h5,sha256=XRDDvGdLSinKxFzdygRRBMW6zLubDqHGqH6CP77kBRw,17980
|
|
297
|
-
robotic/rai-robotModels/ranger/ranger.g,sha256=
|
|
295
|
+
robotic/rai-robotModels/ranger/ranger.g,sha256=wOkVUoZZMUzFLreAT-5-9SfLweZB83MNDyk-h02_hgE,1269
|
|
298
296
|
robotic/rai-robotModels/ranger/ranger_clean.g,sha256=Ps3u1n0gBorsqs_dfKnXmI-pfOEmB6QY6FWP_MskZmY,2093
|
|
299
297
|
robotic/rai-robotModels/ranger/ranger_mini_conv.g,sha256=6jNaqgtUuyOMgOTD-SazpsA-JcAz2pkj2Mw5TTzDxd4,2156
|
|
300
298
|
robotic/rai-robotModels/ranger/meshes/ranger_mini3.h5,sha256=Af2ppMf2YGOUkw7S0jHxFyvBTAsAZVFGeUcgaG5ArAU,235957
|
|
301
299
|
robotic/rai-robotModels/ranger/meshes/ranger_mini_v3_wheel.h5,sha256=zIiMDHGxqaztUyGNeCa-XBBbSoq6Kme0dy4gA7IkWl4,268465
|
|
302
300
|
robotic/rai-robotModels/ranger/meshes/ranger_mini_v3_wheel_right.h5,sha256=Rs3a7mj3SHgRa31iNNa5RmOMGBdXrpr73GrqaIqRmqs,270937
|
|
303
|
-
robotic/rai-robotModels/robotiq/robotiq.g,sha256=
|
|
304
|
-
robotic/rai-robotModels/robotiq/robotiq_arg2f_85_model_conv.g,sha256=hIHNm6Ic4kEQhqMR7SRGj8n76_bBxIXZkDUIsD88N8g,4008
|
|
301
|
+
robotic/rai-robotModels/robotiq/robotiq.g,sha256=3m_n4NjH7Gfp_ztWIDb-ruR74q9WhElzqkT76KPeToQ,1066
|
|
305
302
|
robotic/rai-robotModels/robotiq/robotiq_clean.g,sha256=0EyQ_jt7YCRqGqrtXiWKhUcp7LBEmE_9KcWIj17LqV8,3899
|
|
306
303
|
robotic/rai-robotModels/robotiq/meshes/robotiq_arg2f_85_base_link.h5,sha256=papTdqkLlRzo_svqTXwd9Cp2qJHw2Wnt-Ct31lQCAKQ,331303
|
|
307
304
|
robotic/rai-robotModels/robotiq/meshes/robotiq_arg2f_85_inner_finger.h5,sha256=TYBns07SFdffSCNRZNh45_jOtprZAAIAO1WDHbvMMi0,34288
|
|
@@ -321,7 +318,7 @@ robotic/rai-robotModels/scenarios/mobileMini.g,sha256=I7SE9YUUciZ1JrJG6BIAZ9Oho_
|
|
|
321
318
|
robotic/rai-robotModels/scenarios/pandaFloatingGripper.g,sha256=zYo9T6aFWREpP2gnME0iFwOErKR8Ram2gndnZ9s-xXA,1498
|
|
322
319
|
robotic/rai-robotModels/scenarios/pandaSingle.g,sha256=H_UnXdMUbk16os9StOZB0PZMPL3FaGbCAZy0uUAKEKA,1147
|
|
323
320
|
robotic/rai-robotModels/scenarios/panda_fixGripper.g,sha256=bhkRey6igLb18HlOFj7CpAjqF6R7Z3saxevipHAn4W0,337
|
|
324
|
-
robotic/rai-robotModels/scenarios/panda_fixRobotiq.g,sha256=
|
|
321
|
+
robotic/rai-robotModels/scenarios/panda_fixRobotiq.g,sha256=QVLpZCchSnoouayhIoVQcaWYHaZGVn4pIlj6nkFDHjs,1564
|
|
325
322
|
robotic/rai-robotModels/scenarios/panda_mobile.g,sha256=Om5rU2C6_GBKcZcRBZ0cTsk2gKxzwoSE-32dxBMQa-8,713
|
|
326
323
|
robotic/rai-robotModels/scenarios/panda_moveGripper.g,sha256=HyyzCAg8ksvqGxjVrAqh6r16lvifGyjQd7Txa0wkR-Q,1920
|
|
327
324
|
robotic/rai-robotModels/scenarios/panda_noGripper.g,sha256=FL5vq3ysYJl7f_y9xOBfSTYuB6btJO22f6g2Z-HU1tw,670
|
|
@@ -336,12 +333,12 @@ robotic/rai-robotModels/scenarios/walker1.g,sha256=FTi0HxqU2fsKgqLCkdq5VCuc3Q9py
|
|
|
336
333
|
robotic/rai-robotModels/scenarios/walker3.g,sha256=zODCp1jzoFNLWs5f98qCkKeEcXxm8TKZ0RzPBFH1qq4,796
|
|
337
334
|
robotic/rai-robotModels/scenarios/workshop.g,sha256=2Xjh6cPk2xKbdvtDC89eDHZcRv8CxCnvDB2qR7AQWyY,5633
|
|
338
335
|
robotic/rai-robotModels/scenarios/workshopTable.g,sha256=zDvlVXHQlZV5Ppc9XbUJ6q5XjW1Fni-OsE2NHMdkGpY,4440
|
|
339
|
-
robotic/rai-robotModels/tests/arm.g,sha256=
|
|
336
|
+
robotic/rai-robotModels/tests/arm.g,sha256=wflvWkI0vHApK3XTWIgBgqMMPJkvmsO2wOOsE_QCcRU,1556
|
|
340
337
|
robotic/rai-robotModels/tests/compound.g,sha256=kwI7G0K5M-EEJDsEq37aEBR-BQGSIzroFUPD2OZGrcU,555
|
|
341
338
|
robotic/rai-robotModels/tests/pr2Shelf.g,sha256=axlVxDwuLMsNGdOga40nbzK3e6dWEthQEXm25XewNTw,329
|
|
342
339
|
robotic/rai-robotModels/tests/thin.g,sha256=1bWARayk8TJutfO8CZs3GWCcBwr_oL2SRLLCP1lDMRQ,222
|
|
343
|
-
robotic/rai-robotModels/ur10/ur10.g,sha256=
|
|
344
|
-
robotic/rai-robotModels/ur10/ur10_clean.g,sha256=
|
|
340
|
+
robotic/rai-robotModels/ur10/ur10.g,sha256=kdY50ure-vbOONtoeeRh7XMgoNY8qM1Vv0zzRtwChAU,316
|
|
341
|
+
robotic/rai-robotModels/ur10/ur10_clean.g,sha256=3DnKD69vgV6ybr_W7s6hsFI7witEE6TxsOQ8lvcKwbc,2984
|
|
345
342
|
robotic/rai-robotModels/ur10/ur10_conv.g,sha256=2Ohq3b3UpA31-4f431zt0YUyYl9Jlh3TJh3kfGcFp30,2301
|
|
346
343
|
robotic/rai-robotModels/ur10/meshes/base.h5,sha256=sbQdK1120CLJI_LDR5asAq9b1IGu1WfK1SbDb12IbCI,31330
|
|
347
344
|
robotic/rai-robotModels/ur10/meshes/forearm.h5,sha256=yuIHTdkov2nXep2mOKlSSXRDHk5urpfw86yH5hm30J4,359953
|
|
@@ -350,20 +347,21 @@ robotic/rai-robotModels/ur10/meshes/upperarm.h5,sha256=7EscqPPAzKSzbtSCMrgbI_uGh
|
|
|
350
347
|
robotic/rai-robotModels/ur10/meshes/wrist1.h5,sha256=4r7yAEKKx5zYoC2NbqL0yjGvX4ilafjrpuNP3oDKsU8,185725
|
|
351
348
|
robotic/rai-robotModels/ur10/meshes/wrist2.h5,sha256=fJSQ4Jh-ChmwvRYfDobqXssVaBZj8GhpvmPNp1UTrN0,498733
|
|
352
349
|
robotic/rai-robotModels/ur10/meshes/wrist3.h5,sha256=F8FrYVVp8YBdkgJ6EHKb5r_rm0kyhxf6b8KbwHjeegk,20770
|
|
353
|
-
robotic/src/
|
|
350
|
+
robotic/src/cleanMeshes.py,sha256=42T9WwN_cn4u_s_BzN2eRfBQxmZTEQ6ZYPBtsesA5BM,1678
|
|
354
351
|
robotic/src/config_urdf.py,sha256=bbPcJWS9rnYk8CWgEZTmx1XJRBIDrfwgCj-S_RFxl9U,8800
|
|
355
352
|
robotic/src/mesh_helper.py,sha256=AMSOz3Eew9uJkDm5tFThbfJKcEQCmGyRLN4bZphISNk,16691
|
|
353
|
+
robotic/src/meshlabFilters.mlx,sha256=SCIiIk7XZusvKEKY62pHSem_R3TcMUP8BFaLTVUcnEg,3833
|
|
354
|
+
robotic/src/mujoco_io.py,sha256=6LpOcqQ61Ihwg1BpSIu4YrQGxpR4dvhSt0QuGglgIx0,9477
|
|
356
355
|
robotic/src/yaml_helper.py,sha256=eCUK6w4FCRpBqNgP7FdVDbJf2H7Y1bfIGzs89nOrAsY,637
|
|
357
|
-
robotic-0.
|
|
358
|
-
robotic-0.
|
|
359
|
-
robotic-0.
|
|
360
|
-
robotic-0.
|
|
361
|
-
robotic-0.
|
|
362
|
-
robotic-0.
|
|
363
|
-
robotic-0.
|
|
364
|
-
robotic-0.
|
|
365
|
-
robotic-0.
|
|
366
|
-
robotic-0.
|
|
367
|
-
robotic-0.
|
|
368
|
-
robotic-0.
|
|
369
|
-
robotic-0.2.9.dev2.dist-info/RECORD,,
|
|
356
|
+
robotic-0.3.0.data/scripts/ry-bot,sha256=LBNbbQeNNNd_tupI5463Xe-RKSD6xy4HGTbJloisCGk,2280
|
|
357
|
+
robotic-0.3.0.data/scripts/ry-h5info,sha256=eh9McT5Ury7bbTudxkSOLWo-tZ6heiSEpGStM07N-Dc,810
|
|
358
|
+
robotic-0.3.0.data/scripts/ry-info,sha256=fL5QXJL4Xx-Q42L2C29HHbj1XsmWdWiKIv9rVfc5sm4,425
|
|
359
|
+
robotic-0.3.0.data/scripts/ry-meshTool,sha256=h4f4wFPNaey3ziz870SrEvy6SsQSL-ZnR_cH3UuAZxE,101
|
|
360
|
+
robotic-0.3.0.data/scripts/ry-test,sha256=wM2TpyuPGCVtulIi3ux7Okc2beiljTH29lsETCLEKq8,967
|
|
361
|
+
robotic-0.3.0.data/scripts/ry-urdfConvert.py,sha256=762MIDmAhdCCj55QftY7wsy9gOEs-TDEWcRPt5dECyc,2542
|
|
362
|
+
robotic-0.3.0.data/scripts/ry-view,sha256=_GjUbVS2X3AWnlXqIHwU5dofLmUKA2-NUPySgS-QJNI,599
|
|
363
|
+
robotic-0.3.0.dist-info/licenses/LICENSE,sha256=oT-pAsUSXiuMq2_3omR87-GFBeBnegQYixH4Bm_7wag,1071
|
|
364
|
+
robotic-0.3.0.dist-info/METADATA,sha256=4jjtY7o-EynoKj07x60u2I2ryL9M_6p0inKlCAzaW94,6578
|
|
365
|
+
robotic-0.3.0.dist-info/WHEEL,sha256=wyNsZZiAPZ_31mmQFQIExwR_yjYlxnCvmv6Al6m-fRQ,104
|
|
366
|
+
robotic-0.3.0.dist-info/top_level.txt,sha256=x5A4haAZ18y9FpO1IhXSVJ2TFdhVAgT5JMkejHUg_9U,8
|
|
367
|
+
robotic-0.3.0.dist-info/RECORD,,
|