Implement blocking homing endpoint and refactor homing logic in mujoco_server.py
Georg
e9e2294
- Introduced a new blocking API endpoint (`/homing`) for UR5 that pauses jogging commands while executing homing, enhancing control during the homing process.
- Refactored the homing logic to remove the need for continuous home messages, improving efficiency and reducing potential drift.
- Updated the frontend to utilize the new blocking endpoint, simplifying the user interaction for homing.
- Removed deprecated home and stop_home message types from protocol_types.py to streamline the codebase.
- Enhanced tests to validate the new blocking homing functionality and ensure proper behavior during homing operations.
- Updated README.md to document the new homing endpoint and its usage.
Implement dynamic camera management and enhance overlay functionality in mujoco_server.py
Georg
2425670
- Introduced dynamic camera configuration capabilities, allowing users to register auxiliary cameras via a new API endpoint.
- Updated overlay camera state management to support dynamic camera states, improving the responsiveness of the UI to camera events.
- Enhanced the handling of camera events in the frontend, ensuring that the UI refreshes automatically when new cameras are added.
- Added comprehensive tests for the dynamic camera functionality, verifying state announcements and environment updates.
- Updated README.md to document the new dynamic camera API and its integration with the existing system.
multi-axes jogging
Georg
7e77839
tracking
Georg
25f4c68
Enhance homing functionality and client management in mujoco_server.py
Georg
0551bb3
- Updated the homing state management to include timeout checks, preventing drift when home messages cease.
- Improved the handling of identified and unidentified clients in the `broadcast_state()` function, ensuring accurate client status reporting.
- Introduced continuous command sending in the NovaJogger class for smoother joint movements during jogging.
- Enhanced the UI to display both identified and unidentified clients, improving user feedback on connection status.
- Added comprehensive tests for homing behavior, including drift prevention and overshoot detection, ensuring robust performance in various scenarios.
- Updated README.md to reflect changes in homing behavior and client management.
Enhance Nova API state management in frontend
Georg
18ba7d2
- Introduced a new state tracking mechanism for the Nova API to minimize unnecessary UI updates.
- Updated connection handling to only refresh UI elements when there are changes in the Nova API state.
- Improved error detection and notification for Nova connection issues, providing clearer feedback to users.
- Refactored badge visibility and controller indicators to reflect the current Nova API state more accurately.
- Enhanced mode text updates based on connection status, ensuring users receive timely information about the system's state.
Implement frontend integration and HTML template loading in mujoco_server.py
Georg
598c3a8
- Added a new HTML file for the frontend, establishing a structured layout for the Nova Sim interface.
- Updated the mujoco_server.py to load the HTML template dynamically, replacing inline HTML with a more maintainable approach.
- Enhanced the response handling to prevent browser caching, ensuring users receive the latest version of the frontend assets.
- This commit sets the foundation for future frontend enhancements and improves the overall project structure.
Refactor mujoco_server.py and protocol_types.py for external client support
Georg
223bbeb
- Replaced trainer-specific WebSocket handling with a more generic external client model, allowing for better integration of various client types.
- Updated message types and payload structures to reflect the new client identity and notification system, ensuring backward compatibility with legacy trainer messages.
- Enhanced the broadcast mechanisms to notify all connected clients about their connection status, improving the overall communication flow.
- Removed deprecated trainer-related code and tests, streamlining the server's functionality and focusing on external client interactions.
- Updated README.md to reflect changes in client messaging and connection handling, providing clearer guidance for developers.
Remove frontend and Makefile components from the project
Georg
11dd56c
- Deleted the entire frontend directory, including configuration files, source code, and styles, to streamline the project structure.
- Removed the Makefile, which contained development commands for building and running the frontend, as it is no longer needed.
- This cleanup aims to simplify the repository and focus on backend functionalities.
Update Docker configuration and add frontend build process
Georg
eaf03f4
- Changed the exposed port for the nova-sim service from 3004 to 5001 in both docker-compose files to avoid conflicts.
- Added a multi-stage build process in the Dockerfile to compile frontend assets using Node.js and Vite, improving deployment efficiency.
- Introduced a Makefile for simplified development commands, including `make dev` for starting backend and frontend servers with hot reload.
- Updated .gitignore to exclude frontend build artifacts and development logs, ensuring a cleaner repository.
- Enhanced README.md to reflect new setup instructions and project structure, emphasizing the use of the Makefile for development.