feat: add zeroclaw-robot-kit crate for AI-powered robotics
Standalone robot toolkit providing AI agents with physical world interaction. Features: - 6 tools: drive, look, listen, speak, sense, emote - Multiple backends: ROS2, serial, GPIO, mock - Independent SafetyMonitor with E-stop, collision avoidance - Designed for Raspberry Pi 5 + Ollama offline operation - 55 unit/integration tests - Complete Pi 5 hardware setup guide
This commit is contained in:
parent
431287184b
commit
0dfc707c49
18 changed files with 4444 additions and 9 deletions
65
crates/robot-kit/Cargo.toml
Normal file
65
crates/robot-kit/Cargo.toml
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
[package]
|
||||
name = "zeroclaw-robot-kit"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
authors = ["theonlyhennygod"]
|
||||
license = "MIT"
|
||||
description = "Robot control toolkit for ZeroClaw - drive, vision, speech, sensors, safety"
|
||||
repository = "https://github.com/theonlyhennygod/zeroclaw"
|
||||
readme = "README.md"
|
||||
keywords = ["robotics", "raspberry-pi", "ai", "agent", "ros2"]
|
||||
categories = ["science::robotics", "embedded", "hardware-support"]
|
||||
|
||||
[features]
|
||||
default = ["safety"]
|
||||
# Core features
|
||||
safety = [] # Safety monitor (recommended!)
|
||||
ros2 = [] # ROS2 integration
|
||||
gpio = ["dep:rppal"] # Direct GPIO control (Pi only)
|
||||
# Optional hardware
|
||||
lidar = [] # LIDAR support
|
||||
vision = [] # Camera + vision model
|
||||
|
||||
[dependencies]
|
||||
# Re-use zeroclaw's tool trait (optional - can also be standalone)
|
||||
# zeroclaw = { path = "../..", optional = true }
|
||||
|
||||
# Async runtime
|
||||
tokio = { version = "1.42", features = ["rt-multi-thread", "macros", "time", "sync", "process", "fs", "io-util"] }
|
||||
|
||||
# Serialization
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
toml = "0.8"
|
||||
|
||||
# HTTP client (for Ollama vision)
|
||||
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
|
||||
|
||||
# Base64 encoding (for image data)
|
||||
base64 = "0.22"
|
||||
|
||||
# Async traits
|
||||
async-trait = "0.1"
|
||||
|
||||
# Error handling
|
||||
anyhow = "1.0"
|
||||
thiserror = "2.0"
|
||||
|
||||
# Logging
|
||||
tracing = "0.1"
|
||||
|
||||
# Time handling
|
||||
chrono = { version = "0.4", features = ["clock", "std"] }
|
||||
|
||||
# User directories
|
||||
directories = "5.0"
|
||||
|
||||
# GPIO (Raspberry Pi only, optional)
|
||||
rppal = { version = "0.19", optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
tokio-test = "0.4"
|
||||
tempfile = "3.14"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
all-features = true
|
||||
Loading…
Add table
Add a link
Reference in a new issue