#api-client #grpc #api-bindings #kachaka

kachaka-api

Unofficial Rust API client library for Kachaka Robot

1 unstable release

new 0.1.0 Jan 12, 2025

#55 in Robotics

Download history 114/week @ 2025-01-08

114 downloads per month

MIT license

5.5MB
20K SLoC

TypeScript 8K SLoC // 0.2% comments Python 6K SLoC // 0.0% comments C++ 2K SLoC // 0.1% comments Rust 1.5K SLoC // 0.0% comments TSX 1K SLoC Jupyter Notebooks 1K SLoC // 0.3% comments Shell 694 SLoC // 0.1% comments Forge Config 12 SLoC

kachaka-api

Kachaka用の非公式Rust APIクライアントライブラリです。

機能

公式では、PythonおよびROS 2向けのクライアントが用意されていますが、このリポジトリではRust向けのクライアントライブラリを提供します。

インストール

Cargo.tomlに以下を追加してください:

[dependencies]
kachaka-api = "0.1.0"

使用例

基本的な使用方法

use kachaka_api::{KachakaApiClient, StartCommandOptions};

#[tokio::main]
async fn main() {
    let mut client = KachakaApiClient::connect("http://kachaka-020.local:26400")
        .await
        .unwrap();
    let response = client
        .speak(
            "こんにちは、カチャカです",
            StartCommandOptions::default()
                .title("タイトル")
                .cancel_all(true),
        )
        .await
        .unwrap();
    println!("{:?}", response);
}

その他の例

examplesディレクトリには以下のサンプルコードが含まれています:

  • watch_camera_image.rs: カメラ画像のストリーミング
  • watch_compressed_camera_image.rs: 圧縮されたカメラ画像のストリーミング
  • shelf_location_resolver.rs: 棚と目的地の名前解決
  • simple_speak.rs: コマンド実行のサンプル (発話とそれをキャンセルするサンプルになっています)
  • watch_update.rs: ロボットの状態監視
  • watch_error.rs: エラー監視
  • get_latest_info.rs: 最新情報の取得

ライセンス

MIT License

貢献

Issue、プルリクエストは大歓迎です。

⚠注意

  • まだすべてのAPIがサポートされているわけではありません。

Dependencies

~8–15MB
~195K SLoC