Real-time observability and safety for robotics simulations across all platforms
Project description
Oculus SDK - Research & Implementation
Modular, scalable SDK for robotics observability and safety.
Installation
# Basic (all platforms)
pip install oculus-robotics
# With platform-specific extras
pip install oculus-robotics[isaac-lab]
pip install oculus-robotics[ros2]
pip install oculus-robotics[mujoco]
Quick Start
from oculus.platforms.isaac_lab import IsaacLabTracer
with IsaacLabTracer(project="my_simulation") as tracer:
for step in range(1000):
# Your simulation code
state = get_robot_state()
tracer.auto_capture(state)
Development Setup
# Clone and install in dev mode
cd oculus-sdk
pip install -e ".[dev]"
# Run tests
pytest tests/
Package Structure
oculus/
├── core/ # Base tracer, connection, auth
├── platforms/ # Isaac Sim, Lab, ROS2, Mujoco, etc.
├── safety/ # Fall prevention, collision avoidance
├── prediction/ # Fall prediction, anomaly detection
└── research/ # Research paper implementations
Platform-Specific Usage
Isaac Sim
from oculus.platforms.isaac_sim import IsaacSimTracer
Isaac Lab
from oculus.platforms.isaac_lab import IsaacLabTracer
ROS 2
from oculus.platforms.ros2 import ROS2Tracer
Mujoco
from oculus.platforms.mujoco import MujocoTracer
Safety Algorithms
from oculus.safety.fall_prevention import QuadrupedSafeFall
from oculus.prediction import FallPredictor
safety = QuadrupedSafeFall(robot_type="unitree_go1")
predictor = FallPredictor()
result = safety.check_fall_risk(robot_state)
if result.intervention_needed:
correction = safety.prevent_fall(robot_state, result)
Research Implementations
See oculus/research/ for implementations of:
- Radium paper (Unitree safe fall)
- Custom algorithms from latest research
Contributing
- Study research paper
- Implement in
oculus/research/new_algorithm/ - Test in
oculus-testing/ - Submit PR with paper reference
Publishing
python -m build
twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
oculus_robotics-1.0.0.tar.gz
(38.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oculus_robotics-1.0.0.tar.gz.
File metadata
- Download URL: oculus_robotics-1.0.0.tar.gz
- Upload date:
- Size: 38.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f8c20861eeb2d2a745feb77832e90f0fcc735dee09dd0ed4814aa9a6cd3bc26
|
|
| MD5 |
61f091fe7846ccf88cf6bd38025deb42
|
|
| BLAKE2b-256 |
65f75fafaffa25d8c1fef38fc983c31a6afab09fa911508475672cbf8aee02dc
|
File details
Details for the file oculus_robotics-1.0.0-py3-none-any.whl.
File metadata
- Download URL: oculus_robotics-1.0.0-py3-none-any.whl
- Upload date:
- Size: 48.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b2e47751845f1647212f9a53c614b4c0fb24f4958e5f242dc6acce9a48a4ab6
|
|
| MD5 |
7cd6d5976bb82ac6a6277780924623dc
|
|
| BLAKE2b-256 |
c8399e010d6229f23a1319dceeb28fec337014cc0198ad153ccc8dfbc89a5e4e
|