diff --git a/Cargo.lock b/Cargo.lock index 88fb6004..02aef736 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1492,7 +1492,7 @@ dependencies = [ name = "benchmark-example-node" version = "0.3.11" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "eyre", "futures", "rand 0.8.5", @@ -1505,7 +1505,7 @@ dependencies = [ name = "benchmark-example-sink" version = "0.3.11" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "eyre", "tracing", "tracing-subscriber", @@ -3070,19 +3070,6 @@ dependencies = [ "num", ] -[[package]] -name = "dora-arrow-convert" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65f654a79d32d436400dd15ef5b6ef02bf4913037e61d0de5a037118b6c2a02" -dependencies = [ - "arrow 54.2.1", - "chrono", - "eyre", - "half", - "num", -] - [[package]] name = "dora-cli" version = "0.3.11" @@ -3093,14 +3080,14 @@ dependencies = [ "communication-layer-request-reply", "ctrlc", "dora-coordinator", - "dora-core 0.3.11", + "dora-core", "dora-daemon", "dora-download", - "dora-message 0.4.4", + "dora-message", "dora-node-api-c", "dora-operator-api-c", "dora-runtime", - "dora-tracing 0.3.11", + "dora-tracing", "duration-str", "env_logger 0.11.6", "eyre", @@ -3128,9 +3115,9 @@ name = "dora-coordinator" version = "0.3.11" dependencies = [ "ctrlc", - "dora-core 0.3.11", - "dora-message 0.4.4", - "dora-tracing 0.3.11", + "dora-core", + "dora-message", + "dora-tracing", "eyre", "futures", "futures-concurrency", @@ -3148,28 +3135,7 @@ dependencies = [ name = "dora-core" version = "0.3.11" dependencies = [ - "dora-message 0.4.4", - "eyre", - "log", - "once_cell", - "schemars", - "serde", - "serde-with-expand-env", - "serde_json", - "serde_yaml 0.9.34+deprecated", - "tokio", - "tracing", - "uuid 1.16.0", - "which", -] - -[[package]] -name = "dora-core" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0b2d224efda6e1439574b56f85cf2b2ad02c821a8de64f427ac0390c4317dc1" -dependencies = [ - "dora-message 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "dora-message", "eyre", "log", "once_cell", @@ -3194,19 +3160,19 @@ dependencies = [ "crossbeam", "crossbeam-skiplist", "ctrlc", - "dora-arrow-convert 0.3.11", - "dora-core 0.3.11", + "dora-arrow-convert", + "dora-core", "dora-download", - "dora-message 0.4.4", - "dora-node-api 0.3.11", - "dora-tracing 0.3.11", + "dora-message", + "dora-node-api", + "dora-tracing", "eyre", "flume 0.10.14", "futures", "futures-concurrency", "serde_json", "serde_yaml 0.8.26", - "shared-memory-server 0.3.11", + "shared-memory-server", "sysinfo 0.30.13", "tokio", "tokio-stream", @@ -3224,7 +3190,7 @@ dependencies = [ "bitstream-io", "bytemuck", "dav1d", - "dora-node-api 0.3.11", + "dora-node-api", "eyre", "log", "pyo3", @@ -3246,10 +3212,10 @@ name = "dora-examples" version = "0.0.0" dependencies = [ "dora-coordinator", - "dora-core 0.3.11", + "dora-core", "dora-download", - "dora-message 0.4.4", - "dora-tracing 0.3.11", + "dora-message", + "dora-tracing", "dunce", "eyre", "futures", @@ -3264,7 +3230,7 @@ dependencies = [ name = "dora-kit-car" version = "0.3.11" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "dotenv", "eyre", "pyo3", @@ -3295,58 +3261,22 @@ dependencies = [ "uuid 1.16.0", ] -[[package]] -name = "dora-message" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1115e6526977ec91e61d5bb282af26c398cc7002317b3842176dff9dbd6961b" -dependencies = [ - "aligned-vec", - "arrow-data 54.3.1", - "arrow-schema 54.3.1", - "bincode", - "eyre", - "log", - "once_cell", - "schemars", - "semver 1.0.26", - "serde", - "serde-with-expand-env", - "serde_yaml 0.9.34+deprecated", - "tokio", - "uhlc 0.5.2", - "uuid 1.16.0", -] - [[package]] name = "dora-metrics" version = "0.3.11" dependencies = [ "eyre", "opentelemetry 0.29.1", - "opentelemetry-otlp 0.29.0", - "opentelemetry-system-metrics 0.4.1", + "opentelemetry-otlp", + "opentelemetry-system-metrics", "opentelemetry_sdk 0.29.0", ] -[[package]] -name = "dora-metrics" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7339d7be2f4cd7544cff7b30069514609fab4fb418a4ff9273ca1c6069db0f8c" -dependencies = [ - "eyre", - "opentelemetry 0.28.0", - "opentelemetry-otlp 0.28.0", - "opentelemetry-system-metrics 0.3.1", - "opentelemetry_sdk 0.28.0", -] - [[package]] name = "dora-mistral-rs" version = "0.1.0" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "eyre", "mistralrs", "tokio", @@ -3359,11 +3289,11 @@ dependencies = [ "aligned-vec", "arrow 54.2.1", "bincode", - "dora-arrow-convert 0.3.11", - "dora-core 0.3.11", - "dora-message 0.4.4", - "dora-metrics 0.3.11", - "dora-tracing 0.3.11", + "dora-arrow-convert", + "dora-core", + "dora-message", + "dora-metrics", + "dora-tracing", "eyre", "flume 0.10.14", "futures", @@ -3371,34 +3301,7 @@ dependencies = [ "futures-timer", "serde_json", "serde_yaml 0.8.26", - "shared-memory-server 0.3.11", - "shared_memory_extended", - "tokio", - "tracing", -] - -[[package]] -name = "dora-node-api" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b82429c204a8d22d3561980f14c7a10b746eebcfda57f5b63b2459488dcee2ec" -dependencies = [ - "aligned-vec", - "arrow 54.2.1", - "bincode", - "dora-arrow-convert 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", - "dora-core 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", - "dora-message 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "dora-metrics 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", - "dora-tracing 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", - "eyre", - "flume 0.10.14", - "futures", - "futures-concurrency", - "futures-timer", - "serde_json", - "serde_yaml 0.8.26", - "shared-memory-server 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", + "shared-memory-server", "shared_memory_extended", "tokio", "tracing", @@ -3409,7 +3312,7 @@ name = "dora-node-api-c" version = "0.3.11" dependencies = [ "arrow-array 54.2.1", - "dora-node-api 0.3.11", + "dora-node-api", "eyre", "tracing", ] @@ -3421,7 +3324,7 @@ dependencies = [ "arrow 54.2.1", "cxx", "cxx-build", - "dora-node-api 0.3.11", + "dora-node-api", "dora-ros2-bridge", "dora-ros2-bridge-msg-gen", "eyre", @@ -3439,7 +3342,7 @@ dependencies = [ "arrow 54.2.1", "dora-daemon", "dora-download", - "dora-node-api 0.3.11", + "dora-node-api", "dora-operator-api-python", "dora-ros2-bridge-python", "dora-runtime", @@ -3456,7 +3359,7 @@ dependencies = [ name = "dora-object-to-pose" version = "0.3.11" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "eyre", "pyo3", ] @@ -3466,7 +3369,7 @@ name = "dora-openai-proxy-server" version = "0.3.11" dependencies = [ "chrono", - "dora-node-api 0.3.11", + "dora-node-api", "eyre", "futures", "hyper 0.14.32", @@ -3486,7 +3389,7 @@ dependencies = [ name = "dora-operator-api" version = "0.3.11" dependencies = [ - "dora-arrow-convert 0.3.11", + "dora-arrow-convert", "dora-operator-api-macros", "dora-operator-api-types", ] @@ -3523,7 +3426,7 @@ dependencies = [ "aligned-vec", "arrow 54.2.1", "arrow-schema 54.3.1", - "dora-node-api 0.3.11", + "dora-node-api", "eyre", "flume 0.10.14", "futures", @@ -3537,7 +3440,7 @@ name = "dora-operator-api-types" version = "0.3.11" dependencies = [ "arrow 54.2.1", - "dora-arrow-convert 0.3.11", + "dora-arrow-convert", "safer-ffi", ] @@ -3547,7 +3450,7 @@ version = "0.3.11+fix1" dependencies = [ "avif-serialize", "bytemuck", - "dora-node-api 0.3.11", + "dora-node-api", "eyre", "log", "pyo3", @@ -3559,8 +3462,8 @@ name = "dora-record" version = "0.3.11" dependencies = [ "chrono", - "dora-node-api 0.3.11", - "dora-tracing 0.3.11", + "dora-node-api", + "dora-tracing", "eyre", "parquet 54.2.1", "tokio", @@ -3572,7 +3475,7 @@ version = "0.3.11" dependencies = [ "bytemuck", "chrono", - "dora-node-api 0.3.11", + "dora-node-api", "eyre", "k", "ndarray 0.15.6", @@ -3640,14 +3543,14 @@ version = "0.3.11" dependencies = [ "aligned-vec", "arrow 54.2.1", - "dora-core 0.3.11", + "dora-core", "dora-download", - "dora-message 0.4.4", - "dora-metrics 0.3.11", - "dora-node-api 0.3.11", + "dora-message", + "dora-metrics", + "dora-node-api", "dora-operator-api-python", "dora-operator-api-types", - "dora-tracing 0.3.11", + "dora-tracing", "eyre", "flume 0.10.14", "futures", @@ -3666,7 +3569,7 @@ dependencies = [ name = "dora-rustypot" version = "0.1.0" dependencies = [ - "dora-node-api 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", + "dora-node-api", "eyre", "rustypot", "serialport", @@ -3684,20 +3587,6 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "dora-tracing" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e50b8839c08b2ab87fd299b76d5a741647a76a22681a855d37ae099bdd77003f" -dependencies = [ - "eyre", - "opentelemetry 0.18.0", - "opentelemetry-jaeger", - "tracing", - "tracing-opentelemetry", - "tracing-subscriber", -] - [[package]] name = "dotenv" version = "0.15.0" @@ -7167,7 +7056,7 @@ dependencies = [ name = "multiple-daemons-example-node" version = "0.3.11" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "eyre", "futures", "rand 0.8.5", @@ -7185,7 +7074,7 @@ dependencies = [ name = "multiple-daemons-example-sink" version = "0.3.11" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "eyre", ] @@ -8066,20 +7955,6 @@ dependencies = [ "opentelemetry_sdk 0.18.0", ] -[[package]] -name = "opentelemetry" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "236e667b670a5cdf90c258f5a55794ec5ac5027e960c224bff8367a59e1e6426" -dependencies = [ - "futures-core", - "futures-sink", - "js-sys", - "pin-project-lite", - "thiserror 2.0.12", - "tracing", -] - [[package]] name = "opentelemetry" version = "0.29.1" @@ -8094,20 +7969,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "opentelemetry-http" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8863faf2910030d139fb48715ad5ff2f35029fc5f244f6d5f689ddcf4d26253" -dependencies = [ - "async-trait", - "bytes", - "http 1.3.1", - "opentelemetry 0.28.0", - "reqwest 0.12.15", - "tracing", -] - [[package]] name = "opentelemetry-http" version = "0.29.0" @@ -8139,27 +8000,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "opentelemetry-otlp" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bef114c6d41bea83d6dc60eb41720eedd0261a67af57b66dd2b84ac46c01d91" -dependencies = [ - "async-trait", - "futures-core", - "http 1.3.1", - "opentelemetry 0.28.0", - "opentelemetry-http 0.28.0", - "opentelemetry-proto 0.28.0", - "opentelemetry_sdk 0.28.0", - "prost", - "reqwest 0.12.15", - "thiserror 2.0.12", - "tokio", - "tonic", - "tracing", -] - [[package]] name = "opentelemetry-otlp" version = "0.29.0" @@ -8169,8 +8009,8 @@ dependencies = [ "futures-core", "http 1.3.1", "opentelemetry 0.29.1", - "opentelemetry-http 0.29.0", - "opentelemetry-proto 0.29.0", + "opentelemetry-http", + "opentelemetry-proto", "opentelemetry_sdk 0.29.0", "prost", "reqwest 0.12.15", @@ -8180,18 +8020,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "opentelemetry-proto" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f8870d3024727e99212eb3bb1762ec16e255e3e6f58eeb3dc8db1aa226746d" -dependencies = [ - "opentelemetry 0.28.0", - "opentelemetry_sdk 0.28.0", - "prost", - "tonic", -] - [[package]] name = "opentelemetry-proto" version = "0.29.0" @@ -8213,21 +8041,6 @@ dependencies = [ "opentelemetry 0.18.0", ] -[[package]] -name = "opentelemetry-system-metrics" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "febe29a01146e142a724009278d86d80e6924acc91cedb0f508e7e14ddd06670" -dependencies = [ - "eyre", - "indexmap 2.8.0", - "nvml-wrapper", - "opentelemetry 0.28.0", - "sysinfo 0.33.1", - "tokio", - "tracing", -] - [[package]] name = "opentelemetry-system-metrics" version = "0.4.1" @@ -8280,27 +8093,6 @@ dependencies = [ "tokio-stream", ] -[[package]] -name = "opentelemetry_sdk" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84dfad6042089c7fc1f6118b7040dc2eb4ab520abbf410b79dc481032af39570" -dependencies = [ - "async-trait", - "futures-channel", - "futures-executor", - "futures-util", - "glob", - "opentelemetry 0.28.0", - "percent-encoding", - "rand 0.8.5", - "serde_json", - "thiserror 2.0.12", - "tokio", - "tokio-stream", - "tracing", -] - [[package]] name = "opentelemetry_sdk" version = "0.29.0" @@ -11228,7 +11020,7 @@ name = "receive_data" version = "0.3.11" dependencies = [ "chrono", - "dora-node-api 0.3.11", + "dora-node-api", "eyre", ] @@ -11696,7 +11488,7 @@ dependencies = [ name = "rust-dataflow-example-node" version = "0.3.11" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "eyre", "futures", "rand 0.8.5", @@ -11707,7 +11499,7 @@ dependencies = [ name = "rust-dataflow-example-sink" version = "0.3.11" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "eyre", ] @@ -11715,7 +11507,7 @@ dependencies = [ name = "rust-dataflow-example-sink-dynamic" version = "0.3.11" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "eyre", ] @@ -11723,7 +11515,7 @@ dependencies = [ name = "rust-dataflow-example-status-node" version = "0.3.11" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "eyre", ] @@ -11742,7 +11534,7 @@ dependencies = [ name = "rust-ros2-dataflow-example-node" version = "0.3.11" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "dora-ros2-bridge", "eyre", "futures", @@ -12617,20 +12409,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "shared-memory-server" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7bc3a6490bf74045c4eb9fce4374ca217ec0363ee6a76ba9b2dbc7c1f87da88" -dependencies = [ - "bincode", - "eyre", - "raw_sync_2", - "serde", - "shared_memory_extended", - "tracing", -] - [[package]] name = "shared_memory_extended" version = "0.13.0" @@ -13479,7 +13257,7 @@ dependencies = [ name = "terminal-print" version = "0.3.11" dependencies = [ - "dora-node-api 0.3.11", + "dora-node-api", "eyre", ] diff --git a/examples/so100-remote/follower.right.json b/examples/so100-remote/follower.right.json deleted file mode 100644 index 6219a71b..00000000 --- a/examples/so100-remote/follower.right.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "shoulder_pan": { - "id": 1, - "model": "sts3215", - "torque": true, - "pwm_to_logical": { "90": 0, "180": 90, "0": -90, "270": 180, "360": -90 }, - "logical_to_pwm": { "0": 90, "90": 180, "-180": -90, "-90": 0, "180": 270 } - }, - "shoulder_lift": { - "id": 2, - "model": "sts3215", - "torque": true, - "pwm_to_logical": { "270": -90, "180": 0, "0": 180, "90": 90, "360": -180 }, - "logical_to_pwm": { "-90": 270, "0": 180, "-180": 360, "90": 90, "180": 0 } - }, - "elbow_flex": { - "id": 3, - "model": "sts3215", - "torque": true, - "pwm_to_logical": { "90": 90, "180": 0, "0": 180, "270": -90, "360": -180 }, - "logical_to_pwm": { "90": 90, "0": 180, "-180": 360, "-90": 270, "180": 0 } - }, - "wrist_flex": { - "id": 4, - "model": "sts3215", - "torque": true, - "pwm_to_logical": { "180": 0, "270": 90, "0": -180, "90": -90, "360": 180 }, - "logical_to_pwm": { "0": 180, "90": 270, "-180": 0, "-90": 90, "180": 360 } - }, - "wrist_roll": { - "id": 5, - "model": "sts3215", - "torque": true, - "pwm_to_logical": { "270": -90, "0": 0, "90": -90, "180": -180, "360": 0 }, - "logical_to_pwm": { - "-90": 270, - "0": 360, - "-180": 180, - "90": 450, - "180": 540 - } - }, - "gripper": { - "id": 6, - "model": "sts3215", - "torque": true, - "pwm_to_logical": { "180": 0, "270": -90, "0": 180, "90": 90, "360": -180 }, - "logical_to_pwm": { "0": 180, "-90": 270, "-180": 360, "90": 90, "180": 0 } - } -} diff --git a/examples/so100-remote/parse_keyboard.py b/examples/so100-remote/parse_keyboard.py deleted file mode 100644 index 2e0d84cb..00000000 --- a/examples/so100-remote/parse_keyboard.py +++ /dev/null @@ -1,95 +0,0 @@ -"""TODO: Add docstring.""" - -import time - -import pyarrow as pa -from dora import Node - -node = Node() - -target_y = -0.02 -target_x = 0.00 - -place_x = -0.02 -place_y = 0.2 -place_z = -0.48 -top_z = -0.44 -low_z = -0.57 - -roll = 1.86 -pitch = 1.43 -yaw_open = 0.8 -yaw_close = -0.5 - - -def grab(target_x, target_y, low_z, top_z, roll, pitch, yaw_open, yaw_close): - node.send_output( - "action", - pa.array([target_x, target_y, top_z, roll, pitch, yaw_open]), - metadata={"encoding": "xyzrpy"}, - ) - - time.sleep(0.8) - - node.send_output( - "action", - pa.array([target_x, target_y, low_z, roll, pitch, yaw_open]), - metadata={"encoding": "xyzrpy"}, - ) - time.sleep(0.2) - - - node.send_output( - "action", - pa.array([target_x, target_y, low_z, roll, pitch, yaw_close]), - metadata={"encoding": "xyzrpy"}, - ) - - time.sleep(1.0) - - node.send_output( - "action", - pa.array([target_x, target_y, top_z, roll, pitch, yaw_close]), - metadata={"encoding": "xyzrpy"}, - ) - - -def place(place_x, place_y, place_z, top_z, roll, pitch, yaw_open, yaw_close): - - node.send_output( - "action", - pa.array([place_x, place_y, top_z, roll, pitch, yaw_close]), - metadata={"encoding": "xyzrpy"}, - ) - - time.sleep(1.0) - - node.send_output( - "action", - pa.array([place_x, place_y, place_z, roll, pitch, yaw_close]), - metadata={"encoding": "xyzrpy"}, - ) - - time.sleep(1.0) - - node.send_output( - "action", - pa.array([place_x, place_y, place_z, roll, pitch, yaw_open]), - metadata={"encoding": "xyzrpy"}, - ) - time.sleep(0.5) - - node.send_output( - "action", - pa.array([place_x, place_y, place_z, roll, pitch, yaw_close]), - metadata={"encoding": "xyzrpy"}, - ) - - time.sleep(0.5) - - node.send_output( - "action", - pa.array([place_x, place_y, top_z, roll, pitch, yaw_close]), - metadata={"encoding": "xyzrpy"}, - ) - diff --git a/examples/so100-remote/qwenvl-remote.yml b/examples/so100-remote/qwenvl-remote.yml new file mode 100644 index 00000000..38e3ce72 --- /dev/null +++ b/examples/so100-remote/qwenvl-remote.yml @@ -0,0 +1,185 @@ +nodes: + - id: so100 + path: dora-rustypot + _unstable_deploy: + machine: local + inputs: + tick: dora/timer/millis/33 + pose: + source: pytorch-kinematics/action + queue_size: 100 + outputs: + - pose + env: + PORT: /dev/ttyACM0 + TORQUE: 2000 + IDS: 1 2 3 4 5 6 + + - id: camera + build: pip install -e ../../node-hub/dora-pyrealsense + path: dora-pyrealsense + _unstable_deploy: + machine: local + inputs: + tick: dora/timer/millis/33 + outputs: + - image + - depth + + - id: pytorch-kinematics + build: pip install node-hub/dora-pytorch-kinematics + path: dora-pytorch-kinematics + _unstable_deploy: + machine: gpu + git: https://github.com/dora-rs/dora.git + rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate + inputs: + pose: so100/pose + action: + source: parse_pose/action + queue_size: 100 + outputs: + - pose + - action + env: + URDF_PATH: so100.urdf + END_EFFECTOR_LINK: "Moving Jaw" + TRANSFORM: -0.18 0.02 -0.65 0.7 0 0 0.7 + + - id: plot + build: pip install -e ../../node-hub/dora-rerun + path: dora-rerun + _unstable_deploy: + machine: local + inputs: + #series_so100: so100/pose + # series_pose: pytorch-kinematics/pose + jointstate_so100: so100/pose + jointstate_so100_inference: pytorch-kinematics/action + camera/image: camera/image + camera/depth: camera/depth + text_whisper: dora-distil-whisper/text + text_vlm: dora-qwenvl/text + camera/boxes2d: parse_bbox/bbox + camera/masks: sam2/masks + env: + so100_urdf: so100.urdf + so100_inference_urdf: so100_inference.urdf + so100_transform: -0.18 0.02 -0.65 0.7 0 0 0.7 + so100_inference_transform: -0.18 0.02 -0.65 0.7 0 0 0.7 + CAMERA_PITCH: -3.1415 + + - id: dora-microphone + build: pip install node-hub/dora-microphone + path: dora-microphone + git: https://github.com/dora-rs/dora.git + rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate + _unstable_deploy: + machine: local + inputs: + tick: dora/timer/millis/2000 + outputs: + - audio + + - id: parse_whisper + path: examples/remote-so100/parse_whisper.py + git: https://github.com/dora-rs/dora.git + rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate + _unstable_deploy: + machine: gpu + inputs: + text: dora-distil-whisper/text + outputs: + - text + + - id: dora-qwenvl + build: pip install node-hub/dora-qwen2-5-vl + path: dora-qwen2-5-vl + git: https://github.com/dora-rs/dora.git + rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate + _unstable_deploy: + machine: gpu + inputs: + image: camera/image + text: parse_whisper/text + outputs: + - text + env: + DEFAULT_QUESTION: Output the bounding box of the suitcase. + IMAGE_RESIZE_RATIO: "1.0" + + - id: parse_bbox + path: examples/remote-so100/parse_bbox.py + git: https://github.com/dora-rs/dora.git + rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate + _unstable_deploy: + machine: gpu + inputs: + text: dora-qwenvl/text + outputs: + - bbox + env: + IMAGE_RESIZE_RATIO: "1.0" + + - id: sam2 + build: pip install node-hub/dora-sam2 + path: dora-sam2 + git: https://github.com/dora-rs/dora.git + rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate + _unstable_deploy: + machine: gpus + inputs: + image: camera/image + boxes2d: parse_bbox/bbox + outputs: + - masks + + - id: box_coordinates + build: pip install node-hub/dora-object-to-pose + path: dora-object-to-pose + git: https://github.com/dora-rs/dora.git + rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate + _unstable_deploy: + machine: gpu + inputs: + depth: camera/depth + masks: sam2/masks + outputs: + - pose + env: + CAMERA_PITCH: -3.1415 + + - id: parse_pose + path: examples/remote-so100/parse_pose.py + _unstable_deploy: + machine: gpu + inputs: + pose: box_coordinates/pose + outputs: + - action + + - id: dora-vad + build: pip install node-hub/dora-vad + path: dora-vad + git: https://github.com/dora-rs/dora.git + rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate + _unstable_deploy: + machine: gpu + inputs: + audio: dora-microphone/audio + outputs: + - audio + + - id: dora-distil-whisper + build: pip install node-hub/dora-distil-whisper + path: dora-distil-whisper + git: https://github.com/dora-rs/dora.git + rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate + _unstable_deploy: + machine: gpu + inputs: + input: dora-vad/audio + outputs: + - text + env: + TARGET_LANGUAGE: english diff --git a/examples/so100-remote/test.yml b/examples/so100-remote/test.yml deleted file mode 100644 index 05cfb161..00000000 --- a/examples/so100-remote/test.yml +++ /dev/null @@ -1,57 +0,0 @@ -nodes: - - id: so100 - path: dora-rustypot - inputs: - tick: dora/timer/millis/33 - pose: pytorch-kinematics/action - outputs: - - pose - env: - PORT: /dev/ttyACM0 - TORQUE: true - IDS: 1 2 3 4 5 6 - - - id: parse_keyboard - path: parse_keyboard.py - outputs: - - action - - - id: camera - build: pip install -e ../../node-hub/dora-pyrealsense - path: dora-pyrealsense - inputs: - tick: dora/timer/millis/33 - outputs: - - image - - depth - - - id: pytorch-kinematics - build: pip install -e ../../node-hub/dora-pytorch-kinematics - path: dora-pytorch-kinematics - inputs: - pose: so100/pose - action: parse_keyboard/action - outputs: - - pose - - action - env: - URDF_PATH: so100.urdf - END_EFFECTOR_LINK: "Moving Jaw" - TRANSFORM: -0.18 0.02 -0.65 0.7 0 0 0.7 - - - id: plot - build: pip install -e ../../node-hub/dora-rerun - path: dora-rerun - inputs: - # series_pose: pytorch-kinematics/pose - series_so100_inference: pytorch-kinematics/action - jointstate_so100: so100/pose - jointstate_so100_inference: pytorch-kinematics/action - camera/image: camera/image - camera/depth: camera/depth - env: - so100_urdf: so100.urdf - so100_inference_urdf: so100_inference.urdf - so100_transform: -0.18 0.02 -0.65 0.7 0 0 0.7 - so100_inference_transform: -0.18 0.02 -0.65 0.7 0 0 0.7 - CAMERA_PITCH: -3.1415 diff --git a/node-hub/dora-rustypot/Cargo.toml b/node-hub/dora-rustypot/Cargo.toml index 26ef058b..995cd808 100644 --- a/node-hub/dora-rustypot/Cargo.toml +++ b/node-hub/dora-rustypot/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -dora-node-api = "0.3.11" +dora-node-api = { workspace = true } eyre = "0.6.12" rustypot = { git = "https://github.com/pollen-robotics/rustypot", branch = "next-release-1.0" } serialport = { version = "4.7.1", default-features = false } diff --git a/node-hub/feetech-client/README.md b/node-hub/feetech-client/README.md index 1c878127..4665a122 100644 --- a/node-hub/feetech-client/README.md +++ b/node-hub/feetech-client/README.md @@ -1,5 +1,9 @@ ## FeetechClient for SCS/STS motors +> [!WARNING] +> As of 02.05.2025, this node is no more supported and is replaced in favor of dora-rustypot for higher performance +> with the possibility of being able to handle more servomotors. + This node is a client for the Feetech motors. It is based on the Dynamixel SDK and is used to control the motors. It is a Python node that communicates with the motors via the USB port. @@ -97,4 +101,4 @@ the goal current for the motor at the beginning, null if you don't want to set i ## License -This library is licensed under the [Apache License 2.0](../../LICENSE). \ No newline at end of file +This library is licensed under the [Apache License 2.0](../../LICENSE).