What is CTRL+R?
CTRL+R is making robot operations easy. Experience one unified interface for full robotic control, designed to be intuitive for first-time operators, yet powerful and customizable for advanced robotics teams managing diverse fleets.
For robotics teams: CTRL+R is your one-stop-shop to operate, manage, and monitor your entire robot fleet. No more building in-house software or switching between tools — CTRL+R has everything baked in to help your fleet scale as your company grows.
For retail, construction, and more: CTRL+R gives teams real-time visibility into physical operations, helping them monitor site conditions, verify execution, and make faster decisions from anywhere.
What makes us different?
CTRL+R allows individuals and teams to operate and manage robotic fleets without building extensive software stacks. There is no vendor lock-in and our agent works on any robot running ROS or a manufacturer ROS SDK. CTRL+R is extremely easy to integrate with an existing software stack, taking just minutes to get up and running.
Ready to get started?
Use Cases
Coming soon.
Supported Platforms
Operating System
The CTRL+R agent requires Ubuntu 18.04 or newer.
ROS
The agent is compatible with both ROS1 and ROS2. For smoother operations we recommend using ROS2 (Foxy or newer).
Architectures
| Architecture | Example Hardware |
|---|---|
ARMv7 | Older embedded compute boards |
AArch64 | NVIDIA Jetson, newer Raspberry Pi models |
x86_64 | Standard desktop / server (Intel and AMD) |
Before You Begin
The following prerequisites apply to both individuals and organizations.
Docker
Your robot must have Docker installed. Install via apt — do not install via the Snap Store, as snap Docker has filesystem and permission restrictions that break bind mounts.
See the official Docker install guide.
ROS (recommended)
We recommend your robot is running ROS. The agent is compatible with both ROS1 and ROS2 — for smoother operations we recommend ROS2 (Foxy or newer). See for more information.
rosbridge_server
If you plan to use ROS to control your robot, you must have rosbridge_server installed on your robot.
Zenoh (optional)
Zenoh can be used as an alternative video source to ROS. See the Zenoh installation guide for setup instructions.
Getting Started
For Individuals
This section contains instructions for individuals getting set up operating robots. For organizations, please see .
Please read the section before completing the following steps.
- Go to the CTRL+R client from our website
- From the dashboard, click the Add Robot button
- Follow the webapp instructions and create your robot listing
- Once you reach the Robot Setup page, connect to your robot via SSH and follow the displayed instructions
Configuring Your Robot
Overview
Configuration can be updated at any time while the robot is connected, including ROS topic names and video parameters. There are two places in the webapp to do this:
- Robot Setup page — available during initial setup
- Edit Robot page — available at any time after setup
When the CTRL+R agent is installed, a configuration file is saved locally on the robot at:
/etc/ctrlr_agent/config.jsonThis file contains four main parameter sections:
- Core — These parameters should not be changed. They are essential for identifying the robot.
- Robot — These parameters relate to your robot's video feed.
- ROS Topics — These topics are used by the agent to communicate with your robot's ROS stack.
- Metrics — Controls whether the agent streams CPU and battery usage to the webapp.
Robot Parameters
| Parameter | Default |
|---|---|
| Image Format | Jpeg |
| Resolution | 640×480 |
| Video Source | Ros |
ROS Topics
These topics are used by the agent to communicate with your robot's ROS stack.
| Parameter | Default | Message Type | Description |
|---|---|---|---|
| Camera Raw | /camera/image_raw | sensor_msgs/Image | Raw camera frames |
| Camera JPEG | /camera/image_raw/compressed | sensor_msgs/CompressedImage | Compressed camera frames |
| Velocity | /cmd_vel | geometry_msgs/Twist | Movement commands published by the agent |
| Nav Goal | /ctrlr/nav/goal | geometry_msgs/PoseStamped | Autonomous navigation goals |
| Nav Cancel | /ctrlr/nav/cancel | std_msgs/Empty | Cancel active navigation |
| Nav Home | /ctrlr/nav/home | std_msgs/Empty | Send robot home |
| Nav Status | /ctrlr/nav/status | std_msgs/String | Navigation status published by the robot |
"started", "completed", or "failed". Anything else is ignored with a warning.Locations
Coming soon.
Command HQ
Coming soon.
FoxGlove Data Integration
Coming soon.
Troubleshooting
Coming soon.
