Own implementation of Obstacle avoidance

Hi all,
native implementation of obstacle avoidance seems a little lagged to us, so we decided to change it with own implementation using YDG4Lidar data.
Should we use ObstaclesProto message API for this purpose or how it could be done better?
Should we connect edges to “subgraph/interface/flatscan_for_obstacles” or similar?
I didn’t find any examples of using ObstaclesProto and/or ObstacleAtlas, with e.g. flatscan. To which node (target in edges) I need to send obstaclesProto filling result?
Also, in ObstacleAtlas description see next: “can be accessed from other components without message passing”. How exactly it’s going and via what, if it’s not msg passing?
I’m a little newbie is ISAAC SDK, maybe don’t understand some things properly.
Thanks for all suggested tips and tricks.

Hi,

Unfortunately there is no way for you to use the ObstacleAtlas at the moment, we are refactoring to improve this part of the code, and that’s partially the reason why the API was not open.
In the meantime, the easiest way for you to create new obstacle would be to represent it as:

  • either a polygon and add PolygonMapLayer, it will automatically add the obstacle to Atlas
  • or represent it as a binary map, then you can use BinaryToDistanceMap to create a distance map and add it automatically to the Atlas.

Hopefully once the new interface is ready, it will be easier for you to interact with custom obstacles, for the moment you will need to use one of the two approaches above.

Regards,

Ben

1 Like