# Ray-tracing to simulate mesh-networks

Hey all,

We want to simulate a meshed network in Isaac Sim, and we were considering using raytracing to estimate the RSSI of a signal between two endpoints. The RSSI would be a function of the number of bounces and the distance traveled. However, performing this operation in Isaac Sim does not sim to be trivial. The python snippets have this example which sorts of do that : Frequently Used Python Snippets — Omniverse Robotics documentation

But I do not know where to find the documentation for omni.physx. There used to be a physx guide included inside the old version of Isaac, but the latest seems to have ditched it.

Conceptually, the idea is just to cast a set of ray and get their end positions. If a robot is close to one of the rays’ end position, then we compute the RSSI between the two end-points. This sounds like it would be simple enough provided the right functions are open in python API, could someone point me to the right direction?

Regards,

Antoine

Hi Antoine,

From a conceptual standpoint this raycast_all() command should suffice to implement your idea. The command allows you to define a start point and a direction to cast your ray in. And it takes as additional input the scene.

Cheers,

Markus

Thanks! Any ideas on how to make it bounce multiple times?

You’re welcome.
Bouncing rays sounds like switching from raycasting (no bounces) to raytracing (with bounces) to me. But I haven’t done this nor do I know commands for that.

Simplest solution would be: Apply an additional raycast in direaction of the emergence angle at the intersection point. The raycastAll() function should return at least the surface normal at the intersection point, if not even the emergence angle of the reflected ray. If it does not return the emergence angle, you could calculate it by calculating the incidence angle (equal to the emergence angle) from ray-direction and surface normal.
Hope this helps. Cheers

Markus

Yes, that’s what I had in mind! Just wanted to know if there was some sort of recursion possible, that would alleviate the need to deal with that from python. Thanks again!
Best,
Antoine

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