Skip to main content

Lightweight heartbeat agent for VnRobo Fleet Monitor

Project description

vnrobo-agent

PyPI version Python License: MIT Tests

Lightweight Python agent that sends robot telemetry to VnRobo Fleet Monitor — the open fleet monitoring dashboard for robotics teams.

from vnrobo_agent import VnRoboAgent

agent = VnRoboAgent(api_key="your-key", robot_id="robot-01")
agent.start()  # sends heartbeat every 60s in background

Install

pip install vnrobo-agent

Requires Python 3.8+. No dependencies beyond requests.

Quick Start

from vnrobo_agent import VnRoboAgent

agent = VnRoboAgent(
    api_key="your-key",   # or set VNROBO_API_KEY env var
    robot_id="robot-01",  # or set VNROBO_ROBOT_ID env var
    interval=30,          # heartbeat every 30s (default: 60)
)
agent.start()

# ... your robot code runs here ...

agent.stop()

Get your free API key at app.vnrobo.com — free for up to 3 robots.

Send Rich Telemetry

agent.send_heartbeat(
    status="busy",                               # online | idle | busy | error | offline
    battery=72.5,                                # battery % 0-100
    location={"lat": 21.0285, "lng": 105.8542}, # GPS or indoor coords
    metadata={"task": "picking", "payload_kg": 3.2},
)

ROS 2 Integration

# Zero-config ROS 2 monitoring (no code required):
# See github.com/VnRobo/ros2-fleet-bridge

# Or use the included example node:
ros2 run your_package vnrobo_heartbeat \
    --ros-args -p api_key:=YOUR_KEY -p robot_id:=my_robot

Full example: examples/ros2_heartbeat.py

Isaac Lab / RL Training

Track training robots in real-time on the dashboard:

agent = VnRoboAgent(api_key=os.environ["VNROBO_KEY"], robot_id="go2-train-01")

# In your training loop:
agent.send_heartbeat(
    status="training",
    metadata={"episode": ep, "reward": float(mean_reward), "step": total_steps},
)

CLI

# Test connectivity
vnrobo-agent ping --api-key YOUR_KEY --robot-id robot-01

# Run as daemon
vnrobo-agent start --api-key YOUR_KEY --robot-id robot-01 --interval 30

# Or via environment variables
export VNROBO_API_KEY=your-key
export VNROBO_ROBOT_ID=robot-01
vnrobo-agent start

Compatibility

Platform Support
ROS 2 (Humble / Iron / Jazzy)
Isaac Lab / Isaac Sim
Unitree SDK (Go2, G1, H1)
MuJoCo / Gymnasium
Bare Python / embedded

Contributing

git clone https://github.com/VnRobo/vnrobo-agent
cd vnrobo-agent
pip install -e .

Issues and PRs welcome.

License

MIT — see LICENSE.


Monitor your robots for free → app.vnrobo.com

Project details


Download files

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

Source Distribution

vnrobo_agent-0.1.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

vnrobo_agent-0.1.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file vnrobo_agent-0.1.0.tar.gz.

File metadata

  • Download URL: vnrobo_agent-0.1.0.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vnrobo_agent-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cfce1f8ad5a20f28c75e82d299dc39431dc28d67d9bc1d733f80edba72cfe538
MD5 7097bbe3c9c1f6d7fa9f5ccf152c956d
BLAKE2b-256 cb5b9424bf33ff36fb2d11cae89a4423c2b906a23c3792abe549c5136c1e521d

See more details on using hashes here.

Provenance

The following attestation bundles were made for vnrobo_agent-0.1.0.tar.gz:

Publisher: publish.yml on VnRobo/vnrobo-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vnrobo_agent-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: vnrobo_agent-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vnrobo_agent-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c5f143dc5cdc4f6a1d00a3ecfd58e6422e0193fcb40e42ba41c1b2201d417364
MD5 dc710dc607a8f0ef2e9f72c8e21a80ec
BLAKE2b-256 ffe065930c708631e6c96a209a4d07d434acc1c2445f8cc23b16696192df9c21

See more details on using hashes here.

Provenance

The following attestation bundles were made for vnrobo_agent-0.1.0-py3-none-any.whl:

Publisher: publish.yml on VnRobo/vnrobo-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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