# Scry — debug your ROS 2 robot from your phone, with an AI assistant

**URL:** https://discourse.openrobotics.org/t/scry-debug-your-ros-2-robot-from-your-phone-with-an-ai-assistant/55593
**Category:** Projects
**Tags:** ros2
**Created:** [June 21, 2026, 12:26am UTC](https://discourse.openrobotics.org/t/scry-debug-your-ros-2-robot-from-your-phone-with-an-ai-assistant/55593 "2026-06-21T00:26:19Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![deep-zspace](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/deep-zspace/32/25594_2.png) [@deep-zspace](https://discourse.openrobotics.org/u/deep-zspace)
#### Post date: [June 21, 2026, 12:26am UTC](https://discourse.openrobotics.org/t/scry-debug-your-ros-2-robot-from-your-phone-with-an-ai-assistant/55593/1 "2026-06-21T00:26:19Z")

</div>

After 6+ years in robotics, the pattern that kept frustrating me was field debugging. When a deployed robot stops doing what it should, whoever is standing next to it is often stuck with a laptop on one knee, several terminals open, `ros2 topic echo` scrolling past, and logs to tail across a dozen nodes, services, and processes, all while trying to find the cause before it becomes a customer problem.

So I built **Scry** : an AI-first debugging tool for ROS 2 robots that runs on your phone.

 ![feature_graphic_v7_diagnose](https://us1.discourse-cdn.com/flex022/uploads/ros/original/3X/b/1/b1c41b36f0c02d0ecc5caabdf188022e7b158d6c.png)

**How it works**

Scry is two pieces:

- **scry-connect** — a small Python server you run on the robot (`pip install scry-connect`). It uses `rclpy`, so it’s RMW/middleware-agnostic and works with Fast-DDS, CycloneDDS, Zenoh, and Connext. It exposes the robot’s ROS 2 graph to the phone over your own network (no cloud).
- **The Scry Android app** — the thick client. It runs the AI loop, renders results, and talks to the robot.

You ask a question in plain English — _“why isn’t the robot moving?”_ — and the AI inspects topics, nodes, services, parameters, lifecycle, TF, and logs live, then reports the likely root cause. Reads are free; anything that changes the robot (publishing, setting a parameter, calling a service, lifecycle changes) requires explicit on-screen approval first.

**What it can do**

- Browse every ROS 2 entity from your phone: topics, nodes, services, actions, lifecycle, parameters, components, TF frames, logs, and processes — each as a searchable list with one-tap detail.
- Live visualizations: camera, LiDAR, plots, behavior trees, and a top-down 3D scene.
- Background monitors (e.g. “alert me if `/odom` drops below 10 Hz”).
- Multi-robot fleet view.

**AI providers**

Bring an OpenRouter key for cloud inference (300+ models including Claude, GPT, Gemini, Llama, DeepSeek), or run fully offline against a local **Ollama** server. Your key, your robot, your network — no telemetry, no cloud backend.

**Supported ROS 2 distros:** #humble, #iron, #jazzy, #kilted, #lyrical, #rolling.

It’s still early and I’d really value feedback from this community — especially on the tool coverage and where it falls short on real robots.

- App (Google Play): [https://play.google.com/store/apps/details?id=com.phaneronrobotics.scry](https://play.google.com/store/apps/details?id=com.phaneronrobotics.scry)
- Robot server (PyPI): [scry-connect · PyPI](https://pypi.org/project/scry-connect/)
- Docs: [Scry — debug your ROS 2 robot from your phone - Scry](https://phaneron-robotics.github.io/scry/)
- Demos: [Scry demos — see it in action - Scry](https://phaneron-robotics.github.io/scry/demos/)
- Video playlist: [Scry — Demos - YouTube](https://www.youtube.com/playlist?list=PLyorFDAYdKhSwHnjT1jQQy-Y-6_6wA7Kq)
- GitHub: [GitHub - phaneron-robotics/scry: ros2 ros robotics mcp model-context-protocol android ai llm debugging rclpy jetpack-compose kotlin python developer-tools robot · GitHub](https://github.com/phaneron-robotics/scry)
