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.1.0.tar.gz
(26.5 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.1.0.tar.gz.
File metadata
- Download URL: oculus_robotics-1.1.0.tar.gz
- Upload date:
- Size: 26.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa03f19dd4c1ec2abe1dbc1d3333118b6f766d495124ae4c6f224c993976c835
|
|
| MD5 |
015675239b16f3bf06f1e3af3527a1e8
|
|
| BLAKE2b-256 |
55e914e1345f3bb93a4c1bc8a58da19a50258bc082c5309b30b14d40591c7d53
|
File details
Details for the file oculus_robotics-1.1.0-py3-none-any.whl.
File metadata
- Download URL: oculus_robotics-1.1.0-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18f49cf45b6a789bb79c2202e1530fd1a105e5c031879b71a9421e40fde9c74c
|
|
| MD5 |
5202e9ca27d3f8618a7dd30bbd3beca9
|
|
| BLAKE2b-256 |
4f3c759d3692be94a78f221305a0a1f485b54902bdac6c0f79a6c976cac81d17
|