The main idea behind click is to enable a non-OpenPLX controller talking to an OpenPLX enabled AGX Dynamics Simulation in a way configurable by OpenPLX.
There are three main considerations
- How the controller can send controls and receive sensor values in a similar fashion regardless of environment, ie real or sim.
- How OpenPLX adds sensors or topology on top of urdf, and how this is communicated to the controller.
- How to communicate controls and sensors in an effective way.
The current solution is to introduce a Handshake, which enables the simulation to tell the controller what to expect in terms of how to control and what sensor data is being sent.
A typical flow is
- Client controller connects and sends HandshakeInit
- Server responds with Handshake
- Client receives Handshake and validates the setup.
- Client sends Controls
- Server responds with Sensors
- The loop 4-5 is repeated.
python3.9 -m pclick.demo.server --tracepython3 -m pclick.demo.clientimport pclickVisit the GitHub repo for more info and usage examples.