Problem about Force Sensor in Parallel Env

Hi, currently, I am using the force sensor for my robot.

The force sensor is working well.
But in the parallel environment (Orbit), the sensors only return zero values.
May I know how to solve the problem?

I am using this API to listen to the force sensor;
prims_utils.get_prim_property(prim_path=path, property_name=“physxArticulationForceSensor:force”

Thank you.

Hi @berternats - The issue you’re experiencing might be due to the fact that the Orbit parallel environment runs physics simulations on the server side, and the client side (where your script is running) might not have access to the real-time physics data.

To solve this issue, you might need to modify your script to run on the server side. This can be done by using the omni.isaac.dynamic_control API to send commands to the server and receive responses. Here’s an example of how you might do this:

from omni.isaac.dynamic_control import _dynamic_control

dc = _dynamic_control.acquire_dynamic_control_interface()

# Get the force sensor data
force_sensor_data = dc.get_articulation_force_sensor_data(articulation_handle, link_index)

# Extract the force and torque from the data
force = force_sensor_data.m_force
torque = force_sensor_data.m_torque

In this example, articulation_handle is the handle of the articulation that the force sensor is attached to, and link_index is the index of the link that the force sensor is attached to. You can get these values using the dc.get_articulation_handle and dc.get_link_index methods, respectively.

Please note that this is just a general suggestion and might need to be adapted to your specific setup.

1 Like

Hi, May I know where is the docs of those APIs?

I checked this website, but I could not find any related information.

Thank you.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.