This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 5.6.13 instead.
Reason given by maintainers: incompatible
Robotics Application Manager (RAM) Documentation
Table of Contents
Project Overview
The Robotics Application Manager (RAM) is an advanced manager for executing robotic applications. It operates as a state machine, managing the lifecycle of robotic applications from initialization to termination and uses the following ports to communicate:
- 7063: Connexion with other applications (Robotics Academy, BT Studio, Unibotics)
- 6080-6090: Tools VNC
Main Class: Manager
Purpose and Functionality
The Manager class is the core of RAM, orchestrating operations and managing transitions between various application states.
States and Transitions
- States:
idle: The initial state, waiting for a connection.connected: Connected and ready to initiate processes.world_ready: The world environment is set up and ready.tools_ready: Tools are prepared and ready.application_running: A robotic application is actively running.paused: The application is paused.
- Transitions:
connect: Moves fromidletoconnected.launch_world: Initiates the world setup fromconnected.prepare_tools: Prepares the tools inworld_ready.run_application: Starts the application intools_readyorpaused.pause: Pauses the running application.resume: Resumes a paused application.terminate: Stops the application and goes back totools_ready.stop: Completely stops the application.disconnect: Disconnects from the current session and returns toidle.
- Stateless Transitions:
gui: Redirects content to the gui webserver.style_check: Triggers on_style_check.code_analysis: Triggers on_code_analysis.code_format: Triggers on_code_format.code_autocomplete: Triggers on_code_autocomplete.
Key Methods
on_connect(self, event): Manages the transition to the 'connected' state.on_launch_world(self, event): Prepares and launches the robotic world.on_prepare_tools(self, event): Sets up tools.on_run_application(self, event): Executes the robotic application.on_pause(self, msg): Pauses the running application.on_resume(self, msg): Resumes the paused application.on_terminate(self, event): Terminates the running application.on_disconnect(self, event): Handles disconnection and cleanup.on_style_check(self, event): Check the style of the user code.on_code_analysis(self, event): Analyzes the style and format of the user code using pylint.on_code_format(self, event): Formats the user code using black.on_code_autocomplete(self, event): Searches for all available code completions using Jedi.- Exception Handling: Details how specific errors are managed in each method.
Interactions with Other Components
Interaction Between Manager and ManagerConsumer
- Message Queue Integration:
ManagerConsumerputs received messages intomanager_queueforManagerto process. - State Updates and Commands:
Managersends state updates or commands to the client throughManagerConsumer. - Client Connection Handling:
Managerrelies onManagerConsumerfor client connection and disconnection handling. - Error Handling:
ManagerConsumercommunicates exceptions back to the client andManager. - Lifecycle Management:
Managercontrols the start and stop of theManagerConsumerWebSocket server.
Interaction Between Manager and LauncherScene
- World Initialization and Launching:
ManagerinitializesLauncherScenewith specific configurations, such as world type (e.g.,gazebo,drones) and the launch file path. - Dynamic Module Management:
LauncherScenedynamically launches modules based on the world configuration and ROS version, as dictated byManager. - State Management and Transition: The state of
Manageris updated in response to the actions performed byLauncherScene. For example, once the world is ready,Managermay transition to theworld_readystate. - Termination and Cleanup:
Managercan instructLauncherSceneto terminate the world environment through itsterminatemethod.LauncherSceneensures a clean and orderly shutdown of all modules and resources involved in the world setup. - Error Handling and Logging:
Managerhandles exceptions and errors that may arise during the world setup or termination processes, ensuring robust operation.
Interaction Between Manager and LauncherTools
- Visualization Setup:
ManagerinitializesLauncherToolswith a specific tools configuration, which can include tools likeconsole,simulator,web_gui, etc. - Module Launching for Tools:
LauncherToolsdynamically launches tools modules based on the configuration provided byManager. - State Management and Synchronization: Upon successful setup of the tools,
Managercan update its state (e.g., totools_ready) to reflect the readiness of the tools. - Termination of Tools:
Managercan instructLauncherToolsto terminate the current tools setup using itsterminatemethod. - Error Handling and Logging:
Manageris equipped to manage exceptions and errors that might occur during the setup or termination of the tools.
Interaction Between Manager and application_process
- Application Execution:
Managerinitiates theapplication_processwhen transitioning to theapplication_runningstate. - Application Configuration and Launching: Before launching the
application_process,Managerconfigures the necessary parameters. - Process Management:
Managermonitors and controls theapplication_process. - Error Handling and Logging:
Manageris responsible for handling any errors or exceptions that occur during the execution of theapplication_process. - State Synchronization: The state of the
application_processis closely synchronized with the state machine inManager.
Interaction Between Manager and Server (Specific to RoboticsAcademy Applications) (Now inside tool web_gui)
- Dedicated WebSocket Server for GUI Updates:
Serveris used exclusively for RoboticsAcademy applications that require real-time interaction with a web-based GUI. - Client Communication for GUI Module: For RoboticsAcademy applications with a GUI module,
Serverhandles incoming and outgoing messages. - Real-time Interaction and Feedback:
Serverallows for real-time feedback and interaction within the browser-based GUI. - Conditional Operation Based on Application Type:
Managerinitializes and controlsServerbased on the specific needs of the RoboticsAcademy application being executed. - Error Handling and Logging:
Managerensures robust error handling forServer.
Usage Example
-
Connecting to RAM:
- Initially, the RAM is in the
idlestate. - A client (e.g., a user interface or another system) connects to RAM, triggering the
connecttransition and moving RAM to theconnectedstate.
- Initially, the RAM is in the
-
Launching the World:
- Once connected, the client can request RAM to launch a robotic world by sending a
launch_worldcommand. - RAM transitions to the
world_readystate after successfully setting up the world environment.
- Once connected, the client can request RAM to launch a robotic world by sending a
-
Setting Up Tools:
- After the world is ready, the client requests RAM to prepare the tools with a
prepare_toolscommand. - RAM transitions to the
tools_readystate, indicating that the tools are set up and ready.
- After the world is ready, the client requests RAM to prepare the tools with a
-
Running an Application:
- The client then requests RAM to run a specific robotic application, moving RAM into the
application_runningstate. - The application executes, and RAM handles its process management, including monitoring and error handling.
- The client then requests RAM to run a specific robotic application, moving RAM into the
-
Pausing and Resuming Application:
- The client can send
pauseandresumecommands to RAM to control the application's execution. - RAM transitions to the
pausedstate when paused and returns toapplication_runningupon resumption.
- The client can send
-
Stopping the Application:
- Finally, the client can send a
stopcommand to halt the application. - RAM stops the application and transitions back to the
tools_readystate, ready for new commands.
- Finally, the client can send a
-
Disconnecting:
- Once all tasks are completed, the client can disconnect from RAM, which then returns to the
idlestate, ready for a new session.
- Once all tasks are completed, the client can disconnect from RAM, which then returns to the
Metadata
Release files for robotics-application-manager 5.6.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| robotics_application_manager-5.6.14.tar.gz | 55.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| robotics_application_manager-5.6.14-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 119.4 kB
Release files / robotics_application_manager-5.6.14.tar.gz
| Download URL | robotics_application_manager-5.6.14.tar.gz |
|---|---|
| Size | 55.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
241998a553b9a28d50db10fa53152484cee4e3d5bf45fcef4826d875401d0269
|
|
BLAKE2b-256 checksum How to use checksums |
720b574f28801855d7e8efad1171eb2c4da8e92c69dc828c208d60c8d7cad814
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / robotics_application_manager-5.6.14-py3-none-any.whl
| Download URL | robotics_application_manager-5.6.14-py3-none-any.whl |
|---|---|
| Size | 64.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b171096a8aac64dc51991ac0bfa5f0ee37f3bb82951dd846c1bc44aa52a08f97
|
|
BLAKE2b-256 checksum How to use checksums |
9de3a8db946a8da6849709cb8f13b5c5dc4b3c3ec1b7163c1c576e6ca2e08d4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency log