I am currently testing a new USD file with a custom class for in hand objects manipulation based off the ShadowHand example. However, I am sitting on a new set of errors that I am unsure to solve:
File "~/.local/share/ov/pkg/isaac_sim-2022.2.1/exts/omni.isaac.core/omni/isaac/core/articulations/articulation_view.py", line 2748, in set_fixed_tendon_properties
current_stiffnesses = self._physics_view.get_fixed_tendon_stiffnesses()
File "~/.local/share/ov/pkg/isaac_sim-2022.2.1/kit/extsPhysics/omni.physics.tensors-104.2.4-5.1/omni/physics/tensors/impl/api.py", line 709, in get_fixed_tendon_stiffnesses
raise Exception("Failed to get articulation fixed tendon stiffnesses from backend")
Exception: Failed to get articulation fixed tendon stiffnesses from backend
Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.
2023-09-27 15:55:50 [12,611ms] [Error] [omni.client.python] TypeError: 'NoneType' object is not callable
~/.local/share/ov/pkg/isaac_sim-2022.2.1/python.sh: line 41: 10000 Segmentation fault (core dumped) $python_exe "$@" $args
There was an error running python
I am unsure whether this issue is likely due to the provided USD file that is being read or this issue being from the setup of the object class. Is there a massive oversight for how I set my program up or is this a matter of incorrect USD instancing or needing to readjust the USD file?
Hi @n10518975 - The error messages you’re seeing suggest that there might be an issue with the way your custom class is interacting with the physics system, specifically with the fixed tendon properties of the articulation. The “Failed to get articulation fixed tendon stiffnesses from backend” error indicates that the physics system is unable to retrieve the stiffness properties of the tendons in your articulation. This could be due to the tendons not being properly set up in your USD file or in your custom class.
The “TypeError: ‘NoneType’ object is not callable” error suggests that a function or method is being called on a None object somewhere in your code. This could be due to an object not being properly initialized or a return value not being checked before being used.
The segmentation fault at the end is a more serious error that typically indicates an attempt to access memory that the program doesn’t have permission to access. This could be due to a bug in your code, but it could also be due to a bug in the underlying libraries or even in the Python interpreter itself.
Without more information about your custom class and the specifics of your USD file, it’s hard to provide a more specific diagnosis. However, here are a few things you could try:
Check the setup of your articulation in your USD file. Make sure that all the required properties for the tendons are properly set up.
Check your custom class for any places where you’re calling a method or function on an object. Make sure that the object is properly initialized and not None before calling the method or function.
Try running your code with a different version of Python or on a different machine to see if the segmentation fault still occurs. This could help you determine whether the issue is with your code or with your environment.
Hey @rthaker ! I finally resolved the issue with the fixed tendon stiffness. I added the custom values and tested with the values from the ShadowHand example. The rest of the program was just adjusting the appropriate configs and some views and now the custom robot is working. Thank you and @AlesBorovicka for the help with resolving this issue.