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.
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. |

