Medulla: Hardware Communication Skills
WARNING
All the cameras were tested on Windows 11 only.
SUMMARY
Medulla is a module in the Telekinesis SDK for connecting to cameras and sensors. It provides tools to interface with various 2D and 3D cameras, and integrate them into Telekinesis applications.
Install Telekinesis Skill Library
Create an API key, install
telekinesis-ai and module specific installations and dependencies in a Python environment. Go to the Quickstart
Pick a starter and run your first Skill end-to-end - 2D / 3D vision, webcam capture, robot motion, or a full vision-to-robot pipeline, all visualized in Rerun.
When to Use Medulla?
Use Medulla for robotics applications that require camera and sensor connectivity, such as:
- Streaming camera data for vision pipelines
- Orchestrating multiple cameras for robot perception and control
- Connecting cameras to Physical AI agents
What Does Medulla Provide?
Medulla includes a collection of modular skills for:
- 2D and 3D camera interfacing
- Data acquisition and preprocessing
- Time-synchronized sensor streams
- Integration with Telekinesis modules (Vitreous, Retina, Cornea, Pupil, Neuroplan)
How to Use Medulla?
To use the skills from Medulla, simply use:
python
from telekinesis.medulla.cameras import webcamHere is a minimal example:
python
from telekinesis.medulla.cameras import webcam
camera = webcam.Webcam(name="my_webcam_camera", camera_id=0)
camera.connect()
image = camera.capture_color_image()
print(image)
camera.disconnect()Overview of Skills
| SDK Call | Description |
|---|---|
| connect | Open a connection to the camera hardware. |
| disconnect | Cleanly release the camera connection. |
| capture_color_image | Capture a single color frame as a NumPy array. |
| capture_depth_image | Capture a single depth frame in metres. |
| capture_pointcloud | Capture a single colour-mapped 3D point cloud. |
| stream_live_color_video | Stream continuous color frames in a loop. |
| stream_live_depth_video | Stream continuous depth frames in a loop. |
| stream_pointcloud | Stream a continuous colour-mapped point cloud. |
| get_parameter | Read a camera parameter (exposure, frame rate, etc.). |
| set_parameter | Write a camera parameter. |
| publish_video_with_babyros | Stream live video over BabyROS using a server/client split. |

