Enhance episode control and jogging management in mujoco_server.py and nova_jogger.py
Georg
c1ce8c4
- Added episode duration tracking and watchdog functionality to automatically truncate episodes exceeding the maximum duration.
- Introduced timestamps for teleoperation commands to improve debugging and state management.
- Updated jogging state management to ensure proper handling of active jogging commands and WebSocket connection states in nova_jogger.py.
- Refactored episode control state initialization and reset logic for better clarity and functionality.
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.
Update UR5 home pose for Nova integration in environment and scene files
Georg
4f6eb67
- Modified the home position values in `ur5_env.py`, `scene_t_push.xml`, and `scene_with_gripper.xml` to reflect a custom configuration for improved integration with Nova.
- Adjusted joint angles to enhance the robot's initial state, ensuring better performance during simulations.
Update UR5 home pose in scene.xml for improved robot positioning
Georg
7ba9543
- Modified the home keyframe's qpos and ctrl values to reflect a more accurate home position for the UR5 robot.
- This change aims to enhance the robot's initial state configuration, ensuring better performance during simulations.
Update scene_t_push.xml for simulation stability improvements
Georg
044130b
- Added a timestep parameter to the simulation options for better time resolution.
- Adjusted solref and solimp values for the push stick and t_object geometries to enhance simulation stability and performance.
Add MUJOCO_LOG.TXT for simulation warnings and update UR5 environment for target positioning
Georg
a625bfc
- Created MUJOCO_LOG.TXT to log simulation warnings related to NaN and Inf values in QACC, indicating instability.
- Updated UR5 environment constants for table dimensions and object heights to improve target positioning and alignment with the end effector.
- Adjusted the spawn height for objects and targets in the UR5 environment to ensure proper placement on the table surface.
Implement episode control and enhance UR5 environment dynamics
Georg
c49a482
- Added episode control state management in mujoco_server.py to handle termination and truncation requests from the UI.
- Introduced functions to signal and consume episode control flags, allowing for better integration with the training process.
- Enhanced the UR5 environment's reward calculation by incorporating orientation penalties based on object alignment, improving target positioning accuracy.
- Updated the scene configuration for the UR5 model to include improved physical properties for better simulation behavior.
Enhance mujoco_server.py and documentation with camera and scene updates
Georg
e636f34
- Updated the UR5 overlay camera configuration to include a new look target and adjusted offsets for improved visualization.
- Enhanced the simulation loop to support dynamic camera positioning based on site IDs and offsets.
- Added a new endpoint for scheduling robot and scene switches, allowing for automated testing and integration.
- Updated README.md to reflect changes in camera functionality and added instructions for the new switch endpoint.
- Introduced tests for API endpoints, camera streams, and WebSocket interactions to ensure reliability and performance.
Enhance UR5 environment jogging functionality with internal fallback
Georg
d5b839c
- Introduced an internal jogging mechanism for cartesian and joint movements when Nova jogging is unavailable.
- Updated the start_jog method to handle both Nova and internal jogging commands, improving robustness.
- Enhanced stop_jog method to manage both Nova and internal jogging states.
- Modified the step function to apply internal jogging updates to target positions and joint targets, ensuring smooth operation.
Add environment configuration and Nova API integration support
Georg
dcf1b21
- Introduced .env.example and .env.local files for Nova API configuration, allowing users to set up their instance details easily.
- Enhanced mujoco_server.py to load environment variables for Nova API integration, enabling state streaming and inverse kinematics.
- Updated UR5 environment to conditionally handle gripper presence and control based on configuration.
- Added example scripts for discovering Nova API configuration and testing connections, improving user onboarding.
- Enhanced README.md to document the new Nova API integration features and setup instructions, including troubleshooting tips.
Update T-push tool geometry in scene_t_push.xml
Georg
c8e5c67
- Replaced the existing push stick geometry with a cylindrical design for the T-push task.
- Adjusted the position and size parameters of the new push stick to enhance task performance.
- Removed the previous capsule geometry definition to streamline the model.
Enhance mujoco_server.py and UR5 environment for new UR5e T-Push scene support
Georg
436f91f
- Added support for a new UR5e T-Push scene, including environment initialization and task reward calculation.
- Updated robot switching logic to accommodate the new robot type and scene.
- Enhanced WebSocket API to handle gym-style interactions for the new scene, including reset and step functionalities.
- Modified UI elements to reflect the addition of the UR5e T-Push robot and its specific controls.
- Updated README.md to document the new gym-style WebSocket API and example payloads for the T-Push scene.
Update UR5e robot configurations and UI for gripper control and home position
- Adjusted gripper control values in mujoco_server.py and UR5 environment to align with the Robotiq 2F-85 specifications (0=open, 255=closed).
- Updated the default home position for the UR5e to reflect the official MuJoCo Menagerie configuration.
- Enhanced UI elements for joint sliders and gripper display to synchronize with actual positions and improve user experience.
- Added functionality to restore saved robot selections from local storage in the UI.
Enhance UR5e robot control with orientation tracking and UI updates
- Added support for end-effector orientation control in the UR5e robot, allowing for 6-DOF inverse kinematics.
- Implemented new WebSocket messages for setting target orientation and toggling orientation usage.
- Updated mujoco_server.py to broadcast end-effector orientation and target orientation in state messages.
- Enhanced the UI to include orientation sliders and display for end-effector orientation.
- Refined README.md to document new features, including orientation control and updated JSON message structures.
Add UR5e robot support with inverse kinematics and environment setup
- Introduced a new UR5e robot model with 6 degrees of freedom and a Robotiq 2F-85 gripper.
- Implemented an inverse kinematics controller for the UR5e to compute joint positions based on target poses.
- Created a new Gymnasium environment for the UR5e, enabling simulation and control.
- Updated README.md to include UR5e specifications, control modes, and example JSON state data.
- Added various model assets and configurations for the UR5e robot, enhancing simulation capabilities.