Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 40 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,60 @@ This is my current tech stacks.

## Features

This repository contains a _collection_ of Features.
This repository contains a _collection_ of DevContainer Features for robotics and computer vision development.

| Name | URL | Description |
| --- | --- | --- |
| zivid | https://support.zivid.com/en/latest/getting-started/software-installation.html | The SDK and software for Zivid 3D color cameras. |
| Name | Description |
| --- | --- |
| [zivid](./src/zivid/README.md) | The SDK and software for Zivid 3D color cameras. |
| [realsense](./src/realsense/README.md) | Intel RealSense SDK 2.0 for depth cameras. |
| [robotpkg](./src/robotpkg/README.md) | Robotpkg repository with robotics software packages. |

## Quick Start

### zivid
Add any of these features to your `devcontainer.json`:

Zivid camera SDK and software.
### Zivid 3D Camera

```jsonc
{
"image": "mcr.microsoft.com/devcontainers/base:noble",
"features": {
"zivid": {
"ubuntuVersion": "24",
"zividVersion": "2.16.0+46cdaba6-1"
"zividVersion": "2.17.1+7516d437-1"
}
}
}
```

```bash
ZividListCameras
### Intel RealSense

```jsonc
{
"image": "mcr.microsoft.com/devcontainers/base:noble",
"features": {
"realsense": {
"packages": "utils,dev,dbg"
}
}
}
```

### Robotpkg

```jsonc
{
"image": "mcr.microsoft.com/devcontainers/base:noble",
"features": {
"robotpkg": {
"packages": "robotpkg-pinocchio"
}
}
}
```

## Repository Structure

- `src/<feature>/` - Feature source code and installation scripts
- `test/<feature>/` - Automated tests for each feature
- `.github/workflows/` - CI/CD for testing and releasing features
77 changes: 77 additions & 0 deletions src/realsense/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Intel RealSense SDK Feature

This feature installs the Intel RealSense SDK 2.0 for depth cameras on Ubuntu systems.

## Overview

Intel RealSense cameras provide depth perception and tracking capabilities for robotics and computer vision applications. This feature installs:
- RealSense SDK utilities (`librealsense2-utils`)
- RealSense development libraries (`librealsense2-dev`)
- RealSense debug symbols (`librealsense2-dbg`)

## Configuration Options

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `packages` | string | `utils,dev,dbg` | Comma-separated list of packages. Options: `utils`, `dev`, `dbg` |

## Package Options

- `utils`: Command-line tools and utilities (e.g., `realsense-viewer`)
- `dev`: Development headers and libraries
- `dbg`: Debug symbols for development
- ~~`dkms`: Since it is related to kernel, it might not be portable in devcontainer.~~

## Requirements

- Ubuntu 20.04, 22.04, or 24.04
- Network access to download packages from Intel's repository
- Compatible Intel RealSense camera hardware

## Features

- Configures Intel's official apt repository
- Selective package installation based on your needs
- Non-interactive installation suitable for automated builds
- Automatic cleanup to minimize image size

## Usage Example

```json
{
"features": {
"ghcr.io/your-org/realsense": {
"packages": "utils,dev,dbg"
}
}
}
```

Or install only specific packages:

```json
{
"features": {
"ghcr.io/your-org/realsense": {
"packages": "utils"
}
}
}
```

## Verification

After installation, verify with:

```bash
# List connected RealSense cameras
realsense-viewer &

# Or use command-line tools
rs-enumerate-devices
```

## Links

- [Intel RealSense SDK Documentation](https://github.com/IntelRealSense/librealsense)
- [Official Debian Package Installation](https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md)
96 changes: 96 additions & 0 deletions src/robotpkg/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Robotpkg Feature

This feature sets up the robotpkg repository and installs robotics software packages on Ubuntu systems.

## Overview

Robotpkg is a package management system for robotics software maintained by the Gepetto team at LAAS-CNRS. It provides easy access to pre-built robotics libraries and tools, including:
- Pinocchio (rigid body dynamics)
- HPP (motion planning)
- SOT (stack of tasks)
- And many more robotics packages

## Configuration Options

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `packages` | string | `robotpkg-pinocchio` | Comma-separated list of robotpkg packages to install |

## Requirements

- Ubuntu 20.04, 22.04, or 24.04
- Network access to http://robotpkg.openrobots.org
- Sufficient disk space for selected packages

## Features

- Automatically configures the robotpkg apt repository
- Installs the Gepetto team's robotics software collection
- Supports multiple package installation via comma-separated list
- Non-interactive installation for CI/CD pipelines
- Proper cleanup to minimize container image size

## Usage Example

Install the default package (Pinocchio):

```json
{
"features": {
"ghcr.io/your-org/robotpkg": {}
}
}
```

Install specific packages:

```json
{
"features": {
"ghcr.io/your-org/robotpkg": {
"packages": "robotpkg-pinocchio,robotpkg-hpp-pinocchio"
}
}
}
```

Or set up the repository only (empty package list):

```json
{
"features": {
"ghcr.io/your-org/robotpkg": {
"packages": ""
}
}
}
```

## Available Packages

Some popular robotpkg packages include:

- `robotpkg-pinocchio` - Rigid body dynamics algorithms
- `robotpkg-hpp-pinocchio` - Motion planning with Pinocchio
- `robotpkg-sot-core` - Stack of Tasks framework
- `robotpkg-qt4-python3` - Python bindings for Qt4
- `robotpkg-omniorb` - CORBA middleware

For a complete list, visit: http://robotpkg.openrobots.org

## Verification

After installation, verify packages are installed:

```bash
# Check installed robotpkg packages
dpkg -l | grep robotpkg

# Test Pinocchio installation (if installed)
python3 -c "import pinocchio; print(pinocchio.__version__)"
```

## Links

- [Robotpkg Installation Guide](http://robotpkg.openrobots.org/debian.html)
- [Pinocchio Documentation](https://gepettoweb.laas.fr/doc/stack-of-tasks/pinocchio/devel/doxygen-html/)