Replies: 7 comments 9 replies
-
Regarding this Robotics-Academy-Execution-Engine (RAEE) I see three levels for any robotics application: Beyond execution of the robotics application, RoboticsAcademy also requires visualization capabilities (GUI), in order to help the user to debug the application and provide a better UX. Let's call RAEE Protocol to the set of messages to manage the execution of a robotics application in RoboticsAcademy. Regarding the Scenario and the robot Body I see several commands in the RAEE Protocol:
Regarding the robot Brain I see several commands in the RAEE Protocol:
Regarding the visualization (GUI) I see several commands in the RAEE Protocol, mainly to show standardized data (vectors, images, pointclouds), etc... |
Beta Was this translation helpful? Give feedback.
-
In my humble opinion, I think it would increase the performance and user experience.I would suggest the use of socket.io. Compatible with REACT also socket.io with react hooks |
Beta Was this translation helpful? Give feedback.
-
As far as I see, the exercise cycle can be modeled by this state machine, for all the exercises we have... |
Beta Was this translation helpful? Give feedback.
-
Client side, the exercise manager can keep the state of the exercise, so UI widgets should have only local state... client side exercise manager can follow an interface like this... |
Beta Was this translation helpful? Give feedback.
-
In next days I am updating the new architecture branch with a small prototype of RAM (Robotics Applications Manager) with launcher functionality that follows this idea, trying to follow SOLID principles as much as possible. Any ideas are welcome. |
Beta Was this translation helpful? Give feedback.
-
We have a new class diagram that includes the actual situation of the new manager (RAM - Robotics Application Manager)... |
Beta Was this translation helpful? Give feedback.
-
This is the state machine after our last meeting to discuss this ideas. |
Beta Was this translation helpful? Give feedback.
-
@dmariaa and me are thinking about introducing more robustness in the execution of the exercises inside RoboticsAcademy. Currently there are FIVE connections between the RADI and the browser:
The WebServer, the VNCServer and the manager.py run inside the RADI. Manager itself starts on demand the corresponding exercise.py for each specific exercise when selected by the user, and it is also run inside the RADI.
In order to simplify the frontend development at the browser and to simplify the communications (3)(4) and (5) may be merged into a new (3'), a single websocket connection between the RADI and the browser. It should hold all the messages currently carried by (3)(4)(5). With this refactoring there would be THREE connections between the RADI and the browser: (1)(2) and (3').
It would be also good to standardize the message protocol for that websocket connection between the Manager.py and the browser. This way the implementation of the communications would be more clear and easier to develop or extend, both in the browser and in the Manager.py itself.
What do you think?
Beta Was this translation helpful? Give feedback.
All reactions