Skip to main content

A Python library for processing sensor data on Dexmate Robots

Project description

DexSensor

A unified sensor management system for Dexmate robots. DexSensor provides automatic robot detection and configuration for cameras, IMU, LiDAR, and other sensors through an easy-to-use command line interface.

License Python

Features

  • Automatic Robot Detection: Detects robot model and loads appropriate sensor configuration
  • Multiple Robot Variants: Support for different robot models with optimized sensor configurations
  • Unified Sensor Management: Consistent interface for cameras, IMU, LiDAR, and other sensors
  • Real-time Communication: High-performance sensor data streaming
  • Flexible Configuration: Easy configuration management with YAML files
  • Command Line Interface: Simple CLI for sensor control and configuration

Installation

DexSensor is distributed as a pre-built package for Dexmate robot systems.

# Install DexSensor package
pip install dexsensor

# Verify installation
dexsensor --help

Quick Start

Automatic Robot Detection

Set your robot model and launch sensors:

# Set robot name environment variable
export ROBOT_NAME=vg-rc2    # for vega-rc2
export ROBOT_NAME=vg-1      # for vega-1

# Launch sensors with automatic detection
dexsensor launch

Manual Robot Selection

# Specify robot model explicitly
dexsensor launch --robot vega-rc2

# Launch specific sensors only
dexsensor launch --sensor head_camera base_front_camera

# Override configuration values
dexsensor launch --set head_camera.fps=60 lidar.enable=true

Supported Robot Variants

Variant Description Default Sensors
vega-rc1 Development setup All sensors disabled
vega-rc2 Basic operation Head camera + front camera
vega-1 Production setup Head camera only
base Full configuration All sensors available

Command Line Interface

Launch Sensors

# Basic usage
dexsensor launch

# With specific robot model
dexsensor launch --robot vega-rc2

# Launch specific sensors
dexsensor launch --sensor head_camera lidar

# Launch all sensors (enables all sensors regardless of default config)
dexsensor launch --sensor all

# Launch all base cameras (base_left, base_right, base_front, base_back)
dexsensor launch --sensor base_camera

# Override configuration
dexsensor launch --set head_camera.fps=60 lidar.enable=true

# Use custom configuration file
dexsensor launch --config /path/to/config.yaml

# Combine options
dexsensor launch --robot vega-1 --set head_camera.fps=30 --sensor head_camera

Configuration Management

# Generate configuration template
dexsensor gen-cfg

# Generate for specific robot model
dexsensor gen-cfg --robot vega-rc2

# Save to custom location
dexsensor gen-cfg --robot vega-1 --output /path/to/config.yaml

Command Options

Option Description Example
--robot Specify robot variant --robot vega-rc2
--sensor Launch specific sensors, "all", or "base_camera" --sensor head_camera lidar, --sensor all, or --sensor base_camera
--config Use custom config file --config config.yaml
--set Override config values --set head_camera.fps=60
--zenoh Custom Zenoh config --zenoh zenoh.json5

Configuration

Configuration Files

DexSensor uses YAML configuration files with the following precedence:

  1. Command line overrides (--set key=value)
  2. Custom configuration files (--config file.yaml)
  3. Default configuration file (~/.dexmate/sensors/default_config.yaml)
  4. Robot variant defaults (based on detected/specified robot model)

Configuration Example

head_camera:
  enable: true
  fps: 30
  resolution: HD1080
  depth_mode: NEURAL

base_front_camera:
  enable: true
  width: 640
  height: 480
  fps: 30
  format: MJPG

lidar:
  enable: false
  ip_address: "192.168.50.41"
  udp_port: 8089

base_imu:
  enable: true

head_imu:
  enable: true

Environment Variables

Variable Description Example
ROBOT_NAME Robot model for auto-detection export ROBOT_NAME=vg-rc2

Sensor Types

DexSensor supports the following sensor types:

  • Cameras: RGB cameras, stereo cameras (ZED), RGBD cameras
  • IMU: Inertial measurement units for head and base
  • LiDAR: 2D laser range finders
  • Additional sensors: Extensible for future sensor types

System Requirements

  • Operating System: Linux (Ubuntu 20.04+ recommended)
  • Python: 3.10 or higher
  • Hardware: Compatible Dexmate robot hardware
  • Network: Ethernet connection for sensor communication

Troubleshooting

Common Issues

Sensors not detected:

# Check robot name is set
echo $ROBOT_NAME

# Verify configuration
dexsensor gen-cfg --robot vega-rc2

Permission errors:

# Check USB device permissions
sudo usermod -a -G dialout $USER
# Log out and back in

Network connectivity:

# Test sensor network connectivity
ping 192.168.50.41  # Example LiDAR IP

Log Files

DexSensor logs are available at:

  • System logs: /var/log/dexsensor/
  • User logs: ~/.dexmate/logs/

Support

For technical support and documentation:

License

DexSensor is proprietary software licensed exclusively for use with Dexmate robot systems.

Copyright © 2024 Dexmate. All rights reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dexsensor-0.1.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dexsensor-0.1.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

dexsensor-0.1.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dexsensor-0.1.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

dexsensor-0.1.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

dexsensor-0.1.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

dexsensor-0.1.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

dexsensor-0.1.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file dexsensor-0.1.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dexsensor-0.1.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b18206846ecf3d00cfe07fab04c4a53825127e6edb8cb0b05a99a907cabeef9e
MD5 4d72d8e44ada4cbf7c3b8579744d8bfd
BLAKE2b-256 ad06fa5800aac3ea0657f1e4b01ea10a72f09dd9afab61439b5850ae9e091add

See more details on using hashes here.

File details

Details for the file dexsensor-0.1.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dexsensor-0.1.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2d251742e8fed4216fe8218c8d40a8396ff676fb23c1312d13dd28a19d7128f3
MD5 2a23c784398b80042a545f4f60b363b3
BLAKE2b-256 98d3f2dfb059d74686c82518c867ea91b1fae95f6a28f4a01e48dcf4a8b46983

See more details on using hashes here.

File details

Details for the file dexsensor-0.1.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dexsensor-0.1.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5c9842b9f45d130927d71bc83dcfa70037d7a6dd38e03938546d7126270f991b
MD5 72725e66701d38b6d3b18ce4c9a2b092
BLAKE2b-256 2e6db6b5481d4245c9f42519aade506b465cf1a09bfc57469acae48247c810cf

See more details on using hashes here.

File details

Details for the file dexsensor-0.1.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dexsensor-0.1.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eda8c0eb6848ee251ce085e01ec7d3eabd8580ea0bac8859ce8ecb7df6b5b1b2
MD5 4969435f94c00ea904928d95ead34198
BLAKE2b-256 857ccdd7dfd5d05219e51f552c8d6393d9da9288c9b8b73835d79ded86446de9

See more details on using hashes here.

File details

Details for the file dexsensor-0.1.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dexsensor-0.1.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 154e06277ce3d9939924bdd2aa782b74e7167a05e4e330c6eed55754db8708f9
MD5 6e4ba47009c0d8d43c8bfabdf4f6915d
BLAKE2b-256 d7de5b13eae8eb054beba1c7b81b146d26a382e39adde857434e65d426490986

See more details on using hashes here.

File details

Details for the file dexsensor-0.1.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dexsensor-0.1.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c39cc45f928be4ba5aeeedde46687dc065ae5585cfe15a9f64a18e32fbc7abd3
MD5 d1c90cac99556692777c9d3671792246
BLAKE2b-256 96d481f3cc1b973c538ca8a3ac1496b724cd533c11df546814ead68f8d860d1f

See more details on using hashes here.

File details

Details for the file dexsensor-0.1.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dexsensor-0.1.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d06da791a6b90214d9775bd0f7286933051bd205c64da25c2b74ac67c7a4f2c
MD5 fde6233b8344264b979f7c11629d2f9a
BLAKE2b-256 96da41d240d621dd301c7b3b580e2046f4d73c106369f66314dc5411a7101763

See more details on using hashes here.

File details

Details for the file dexsensor-0.1.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dexsensor-0.1.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0fe8e5e6b355b76ea1e74765ba9a7e2a157e40e85add6b19a2a19374310edcb8
MD5 f11152b6c645eb422c43af3ab2704757
BLAKE2b-256 305b11ce92f7af8f381c4ebe8d4f8ca2c9a348cd5ee5c319b669c450ef13b602

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page