I'm Attempting to generate a spherized urdf for the Boston Dynamics Spot robot. using the urdfs available here as the source.
when I invoke generate_sphere_urdf.py I get errors when attempting to increasing the number of spheres. for example
python generate_sphere_urdf.py --branch=1 standalone_arm.urdf works but produces a urdf with only 18 spheres. If I attempt to increase this
python generate_sphere_urdf.py --branch=2 standalone_arm.urdf I get the following error.
Spherizing arm_link_fngr::spot_description/meshes/arm/collision/right_tooth.obj
Processing pre-loaded mesh
Traceback (most recent call last):
File "/workspaces/no-crash/ext/foam/scripts/generate_sphere_urdf.py", line 144, in
Fire(main)
File "/home/mbrauckmann/.local/lib/python3.10/site-packages/fire/core.py", line 135, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "/home/mbrauckmann/.local/lib/python3.10/site-packages/fire/core.py", line 468, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "/home/mbrauckmann/.local/lib/python3.10/site-packages/fire/core.py", line 684, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "/workspaces/no-crash/ext/foam/scripts/generate_sphere_urdf.py", line 133, in main
mesh_spheres = {mesh.name: sh.get_spherization(mesh.name, depth, branch) for mesh in meshes}
File "/workspaces/no-crash/ext/foam/scripts/generate_sphere_urdf.py", line 133, in
mesh_spheres = {mesh.name: sh.get_spherization(mesh.name, depth, branch) for mesh in meshes}
File "/workspaces/no-crash/ext/foam/foam/init.py", line 256, in get_spherization
spherization = self.ps.get(name)
File "/workspaces/no-crash/ext/foam/foam/init.py", line 131, in get
return self.waiting[name].result()
KeyError: 'arm_link_sh0::spot_description/meshes/arm/collision/arm_link_sh0_left_motor.obj'
A similar issue occurs with the armless urdf. which has worked for branch value up to the default of 8, but fails when changing the depth value
python generate_sphere_urdf.py --depth=2 spot.urdf generates this error which indicated the mesh is invalid. but it works with the same mesh and --depth=1
Traceback (most recent call last):
File "/workspaces/no-crash/ext/foam/foam/__init__.py", line 81, in spherize_mesh
spheres = compute_spheres(loaded_mesh, **spherization_kwargs)
File "/workspaces/no-crash/ext/foam/foam/external/__init__.py", line 225, in compute_spheres
return compute_spheres_helper(mesh, command, method)
File "/workspaces/no-crash/ext/foam/foam/external/__init__.py", line 63, in compute_spheres_helper
raise RuntimeError(f"Failed to create spheres for mesh. Mesh is probably invalid. {sphere_output.stdout}")
see attached file for the rest of the output.
depth3_full_output.txt
I'm Attempting to generate a spherized urdf for the Boston Dynamics Spot robot. using the urdfs available here as the source.
when I invoke
generate_sphere_urdf.pyI get errors when attempting to increasing the number of spheres. for examplepython generate_sphere_urdf.py --branch=1 standalone_arm.urdfworks but produces a urdf with only 18 spheres. If I attempt to increase thispython generate_sphere_urdf.py --branch=2 standalone_arm.urdfI get the following error.A similar issue occurs with the armless urdf. which has worked for branch value up to the default of 8, but fails when changing the depth value
python generate_sphere_urdf.py --depth=2 spot.urdfgenerates this error which indicated the mesh is invalid. but it works with the same mesh and --depth=1see attached file for the rest of the output.
depth3_full_output.txt