AI Agent RoverGet in touch

AI AGENT ROVER / THE PROJECT

Giving an AI Agent
access to the world.

Can Grok Bot do more than talk about the world? Can it act in it? This rover is an experiment in what an AI can see, understand and control, and where it reaches its limits.

FROM SIMULATION TO PHYSICAL CONTROLAIAgentRover.com
MEET THE MACHINE / V8SPIN ME

Loading the rover…

Drag to rotate · Scroll to zoom · Double-click to reset

01 / PROJECT QUESTIONS

The six project questions

One rolling experiment, with a new capability to test at each step. The aim was to understand what Grok Bot could do in the physical world and where it reached its limits.

01

Camera input

Can it understand what the camera sees?

02

Servo control

Can it control a basic output?

03

Simulation

Can it navigate a simulated world?

04

Steering and movement

Can it steer and move the real car?

05

System integration

Can it use all the components together?

06

Untethered operation

Can it operate without bench power?

02 / DEVELOPMENT

Development approach

Increase the complexity in stages. Prove individual parts, combine them, then check whether the same behaviour holds up on a moving rover.

01

Prove the basics

Begin with the camera, then an unloaded servo. Check that Grok Bot can interpret an observation, issue a simple command and recognise the resulting change.

02

Test in a simulated world

Give Grok Bot a virtual rover and a house to explore. Test navigation, mapping and the search for a moving dog before introducing physical driving.

03

Build and test each component

Check the camera, servo board, range sensor, steering and ESC separately. Then assemble the rover and retest the complete system, including cable clearance, calibration and stop behaviour.

04

Test untethered

Replace bench power with the Pi power bank and the car battery. Run supervised tests with the mounted hardware, checking supply stability, movement and reliable stopping.

COMPONENT TEST NOTES

Component tests and findings

Select a component to see why it was tested separately.

TEST 01 / CAMERA ONLY

Camera input

Start the Pi helper with drive and servo output disabled. Check a fresh camera picture and real IMX500 detections before adding motion.

Lesson: A live image, a detection result and a timely observation are different things. Camera and network delay matter once the car starts moving.

03 / SIMULATION

Testing in a simulated world

A controlled environment for testing whether Grok Bot could turn observations and individual commands into useful navigation.

TEST OBJECTIVE

Test navigation before physical driving

Before asking Grok Bot to drive the real rover, the project gives it a virtual one. The bot can request a camera image, inspect detections, choose a short movement and observe the result without putting a physical car, furniture or pets in the experiment.

The challenge is more than spotting a dog. Can Grok Bot work out where it is, choose a route, cope when the dog moves and recover when an action does not do what it expected?

01 Observe the camera02 Choose the next move03 Act through the API04 Check what changed
PROJECT OUTCOME

Grok Bot mapped the house and found the dog

In the simulated environment, Grok Bot was able to map the house and locate the simulated dog. This demonstrated that it could combine observations, spatial reasoning and movement commands to complete the task.

The next question was whether those capabilities would transfer to real hardware, with camera delays, power constraints and imperfect movement.

TRY THE SIMULATION

Can you outperform Grok Bot?

Take the wheel and try the same type of navigation challenge. This visitor version runs locally in your browser and does not connect to Grok Bot or the real rover.

The three-minute limit is a visitor challenge, not Grok Bot’s recorded completion time. No matched timing comparison is available.

YOUR MISSION

You have three minutes to find the dog as it wanders through the house. Drive close enough to see it, then release the controls and stay still for two seconds before the countdown reaches zero. Pausing also pauses the clock.

MISSION 01 FIND THE DOG
TIME LEFT 03:00LIVING0 FOUND

SIMULATION CHALLENGE

Ready, rover?

Find the dog and stop nearby for two seconds. You have three minutes.

WASD or arrow keys · SPACE pause

The visitor game is inspired by the Grok Bot testing environment, with a wider dog route for exploration. The floor plan, movement and object visibility are simplified; the real-world missions described below tested those capabilities on the physical rover.

What does the Grok Bot test environment let us evaluate?

Perception & decisions

Does the bot use fresh observations, distinguish the target from other objects and choose a useful next action?

Navigation & recovery

Can it move between rooms, search for a moving dog and recover after a blocked or unhelpful movement?

Control & restraint

Does it use bounded commands, check the result before retrying and respect human takeover?

The mapping and dog-finding result is a project observation, not a controlled benchmark. The simulation’s object labels are synthetic ground truth; they do not validate the real camera’s detection accuracy. Real power, traction, braking and connection delays require separate physical tests.

04 / PHYSICAL TESTING

Real-world results

Component testing

Separate tests brought up the camera, camera pan and steering controls. The ESC responded to forward and braking commands, and the range sensor produced plausible standalone measurements after its protective film was removed.

Two missions completed

Grok Bot was given two real-world missions: map the house and find the dog. It successfully completed both.

These runs showed that Grok Bot could understand its real-world surroundings and control the rover with only a high-level mission outline.

Project video

Watch the rover adventure with commentary from the project.

Development challenges

PLOT TWIST 01

Power-bank dropouts

Power trouble was reported with the bank still showing 65%, and later 88%. Neither observation established a charge-level cutoff. The bank, cable, PD negotiation and connections needed checking as a complete chain.

PLOT TWIST 02

Failures after mounting

Mounting the power board above the Pi introduced a new clue. The next isolation test was to unmount it and compare the same power path, checking underside contact, spacers, button pressure and USB-C seating. A cause was not yet confirmed.

PLOT TWIST 03

Control signals and motor power

Stronger settings change the ESC control pulse. They cannot repair a weak supply or a loose connection. The thick battery-to-ESC-to-motor path carries the current; the PCA sends the instructions.

05 / HARDWARE AND BUILD

Building Grok Bot

The component layout, power arrangement and parts needed to build a similar rover.

Grok Bot rover with a blue printed chassis, Raspberry Pi, raised camera and four off-road wheels
The assembled Grok Bot rover, with its camera, on-board electronics and printed structure.

How the components work together

Grok Bot exchanges observations and commands with the Pi helper. The camera and range sensor provide input to the Pi. The Pi controls the PCA9685, which sends channel 0 to camera pan, channel 1 to steering and channel 2 to the ESC. The ESC drives the motor.
Functional control schematic. Blue arrows show observations and control signals; pink shows the motor-current path. Supply power is shown separately below. Download schematic
01 / THINK

Raspberry Pi 5

On-board computing

Runs the rover helper, handles camera observations and passes commands to the control hardware. The current software does not need the separate AI HAT.

02 / LOOK

IMX500 AI camera

On-camera detection

The camera runs the object-detection model. A pan servo lets it look left and right. Grok Bot can reason about observations, but the camera’s detection is local.

03 / SIGNAL

PCA9685 board

Camera, steering and ESC signals

Channel 0 pans the camera. Channel 1 steers. Channel 2 sends commands to the ESC. It generates timed pulses; it does not supply the drive motor’s high current.

04 / POWER THE PI

52Pi PD board

USB-C power conversion

The RPi5 PD Power board sits between the USB-C power bank and the Pi. It handles power conversion and provides the PowerON button and Always-ON setting.

05 / POWER THE SERVOS

5 V UBEC

A separate regulated supply

A branch from the car battery feeds the DC/DC converter. Its regulated output supplies the PCA’s V+ servo rail. The discussed 3 A rating is a total budget, not 3 A for each servo.

06 / DRIVE

WP-1040 ESC

Brushed motor control

The electronic speed controller takes power from the 7.2 V car battery and controls the brushed motor. The Pi and PCA take over the radio receiver’s command role; the ESC stays.

07 / MEASURE

VL53L1X sensor

Forward distance readings

A forward-facing distance sensor adds another observation. Testing uncovered protective film and a settings mismatch. A missing reading means distance unknown.

08 / EXPLORE

Grok Bot + the API

Agent observation and control

Grok Bot uses authenticated tools to observe and request actions. Simulation access and real hardware access are separate, and a human chooses when AI control is allowed.

THE CONTROL LINE-UPCH 0 Camera panCH 1 SteeringCH 2 ESC command

Power sources and distribution

The Pi has its own USB-C power bank. The car battery supplies the ESC and a regulated branch for both servos. Select a path to see how power reaches each part.

SOURCE A
USB-C PDPower bank
CONVERT & SWITCH52Pi PD board
COMPUTE & VISIONRaspberry Pi 5
SOURCE B
7.2 VCar battery
HIGH-CURRENT CONTROLWP-1040 ESC
THE DRIVETRAINBrushed motor
B / BRANCH
FROM CAR BATTERYBattery takeoff
REGULATE TO 5 VUBEC converter
PCA V+ RAILCamera + steering
A / KEEP THE BRAIN AWAKE

Bank → board → Pi.

The power bank connects to the PD board’s INPUT. A second USB-C cable connects OUTPUT to the Pi. A blue light on the board alone does not confirm that the Pi is receiving usable power.

Functional overview of the selected arrangement, not a pin-by-pin wiring diagram. Logic and servo power are different rails with a common ground. The ESC’s red BEC output stays isolated from the separate UBEC-powered rail. Combined servo load still needs checking.

The electrical details that made a difference

The PD board documentation describes a default 15 V USB-PD input and a regulated output for the Pi. Its INPUT and OUTPUT have distinct jobs. PowerON and Always-ON also affect startup; an illuminated board is not the same thing as a booted Pi. 52Pi board documentation.

On the PCA board, VCC is the 3.3 V logic supply; V+ is the separate servo supply. Shared ground gives control signals a common reference. It does not mean connecting positive supplies together. Adafruit power and wiring guide.

The battery takeoff also means the ESC switch does not necessarily turn off the UBEC branch. The real build’s power-off procedure has to account for both batteries and every branch.

Full parts list

Retain the existing RC components where suitable, then add the computer, sensors and control hardware. Camera pan and steering use separate servos.

38 line items · 6 categories · 2 very different servos

This is a reference for a similar build, not a guaranteed plug-and-play kit. Quantities are starting points. Match connectors, dimensions, ratings and the actual hardware before buying.

Download shopping list
CAMERA PAN / CH 0

MG996R

An added positional servo that rotates the camera. Match the holder, horn and travel to the unit you actually buy.

WHEEL STEERING / CH 1

B7104 “3kg”

The retained RC steering servo, as recorded in the close-up discussion. Verify its label and specifications; the torque marking does not tell us current draw.

0 of 38 items checked · Tick items you already own or have sourced. Checks last for this page visit.

RC platform 6 items
Got itPartQtyWhat to check
RC car chassis and drivetrainRetain1Use the existing rolling chassis, suspension, wheels and body fixings. A different car needs fresh measurements.
Brushed drive motorRetain1Keep the motor matched to the ESC and battery. Do not buy a brushless replacement for a brushed ESC.
WP-1040 brushed ESCRetain1Existing controller; verify its exact label, battery compatibility, startup and reverse behaviour.
Steering servo - B7104, marked “3kg”Retain / verify1Existing car servo, recorded as B7104 in the close-up discussion. Verify the actual label, voltage, spline and linkage; “3kg” is torque shorthand, not current.
7.2 V car batteryRetain / verify1Confirm chemistry, capacity, condition, connector and ESC compatibility on the actual pack.
Battery chargerMatch to pack1Use the charger and settings for the actual battery chemistry and cell count; not the Pi power-bank charger.
Compute & vision 6 items
Got itPartQtyWhat to check
Raspberry Pi 5Add / reuse1RAM capacity was not confirmed in the project record. Choose after checking your intended workload. Reference / source
Pi 5 cooling assemblyAdd / reuse1The build retains active cooling. Leave airflow and clearance beneath stacked boards. Reference / source
microSD card or supported boot storageAdd / reuse1For Raspberry Pi OS and the rover helper; capacity/model to suit your installation.
Raspberry Pi AI Camera - IMX500Add1Runs object detection on the camera. The separate AI HAT is not required by this project’s current software. Reference / source
Pi 5-compatible camera ribbon cableCheck included1Match both connectors and allow the camera to pan without pulling or sharply folding the ribbon. Reference / source
VL53L1X distance-sensor breakoutAdd1Confirm the exact breakout and logic compatibility. The linked board is a sourcing example, not a claim about the installed brand. Reference / source
Control & power 8 items
Got itPartQtyWhat to check
Camera-pan servo - MG996RAdd1Positional servo matched to the camera holder. Check actual dimensions, horn spline, travel and current; do not substitute a continuous-rotation version. Reference / source
Matching servo horn and retaining screwCheck included1 setMust fit the actual MG996R shaft and camera adapter. It may be included with the servo.
PCA9685 servo/PWM driver boardAdd1Camera CH0, steering CH1, ESC command CH2. Check board quality, headers and power rails. Linked Adafruit board is a sourcing example. Reference / source
52Pi RPi5 PD Power board - EP-0225Add1The power board used in the project. Match the bank’s USB-PD profile and distinguish INPUT from OUTPUT. Reference / source
USB-C PD power bankSelect & validate1Exact bank model not confirmed. Verify the PD profile needed by the board, sustained load, cable fit and mounted dimensions; battery percentage alone is not enough.
USB-C to USB-C power cablesCheck included2Bank → board INPUT and board OUTPUT → Pi. Match power ratings and plug clearance; a suitable board-to-Pi cable may already be included.
UBEC DC/DC converter - 5 V, 3 AAdd / validate load1Project converter: Adafruit 1385 / P1385A as discussed. The 3 A budget is shared by servos; combined peak demand still needs checking. Reference / source
Known-working Pi mains supplyBench tool1Useful as a reference supply when isolating portable-power problems. Match the Pi 5 requirements. Reference / source
Wiring & connectors 6 items
Got itPartQtyWhat to check
Battery splitter / power takeoff harnessMatch & rate1Branch the car battery to ESC and UBEC. Match actual connectors and polarity; the project used a Deans/T-style connection with an adapter.
Servo extension leadsMeasure route2 as neededFor camera and steering. Check plug orientation, wire rating, movement and access before choosing lengths.
ESC signal/ground adapter leadConfigure correctly1With a separate UBEC powering PCA V+, isolate the ESC red BEC output. Signal and ground retain their distinct roles.
I²C/GPIO jumper wires or secured harnessMatch headers1 setPi to PCA and sensor: power, ground, SDA and SCL. Use suitable retention; the motor current never goes through these jumpers.
Insulation and strain-relief suppliesWorkshop supplies1 setHeat-shrink, insulated connectors, cable ties and tie mounts. Keep exposed contacts away from boards and moving parts.
Accessible power isolationDesign for both sources1 arrangementAccount for the Pi bank, ESC and servo branch. The ESC switch alone does not cut every branch.
Prints & fixings 8 items
Got itPartQtyWhat to check
V8 front and rear shellsPrint1 eachTwo parts in the V8 download. Use supplied notes, inspect the slice and physically fit-check. Print files
V8 battery frame with five risersPrint1Supports the bank and electronics; included in V8 download. Check battery removal and strap clearance. Print files
V8 electronics platePrint1Included in V8 download. Check real board fixings, insulation and cable-plug access. Print files
Camera cradle, servo holder and horn adapterReuse / adapt1 eachSeparate fitted components, not included in the four-part V8 package. Match your camera, servo and horn.
Forward range-sensor mountPrint / fabricate1Keep the sensor fixed facing ahead, with the optical face unobstructed.
Camera screws and nuts - M2 × 6 mmVerify cradle4 eachSpecified for the camera cradle prototype. Confirm screw engagement and clearance on the actual printed assembly.
Shell screws, washers and board standoffsMeasure stack1 assortmentV8 notes specify HP0554 No.4 × 12 mm for shell features. Do not use them in small PCB holes. Select washers and standoffs for actual clearance.
Battery retaining straps and padsFit to assemblyAs neededSecure both packs without pressing a power button or blocking cooling, connectors or removal.
Tools & software 4 items
Got itPartQtyWhat to check
3D printer or print-service access + filamentWorkshop resource1 accessP1S was used as the design target; choose material and supports for the part. Files are unsliced.
Digital multimeter, calipers and hand toolsWorkshop resource1 setMeasure voltage, continuity, mounting dimensions and fastener fit. Include suitable drivers and wire/connector tools.
Raised-wheel test supportWorkshop resource1A stable support that keeps all driven wheels clear while testing steering and ESC behaviour.
Computer, Wi-Fi and software accessRequired1 setupPi OS, camera libraries, rover helper, protected interface and an AI agent able to call tools. Hosting and AI usage may have separate costs.

Product links are manufacturer references or clearly labelled sourcing examples, checked 6 October 2026. Availability and prices vary. The exact bank, battery and some mounting hardware still require identification. A separate AI HAT is not on the shopping list because the current detection model runs on the IMX500 camera.

Printed structure and model files

The printed assembly holds the electronics and battery above the RC chassis. Check physical fit, insulation and clearance as you build.

Earlier CAD review showing the rover electronics and battery support assemblyFROM THE WORKBENCH / EARLIER STACKED ASSEMBLYDownload the V8 print models

Four unsliced models, STL alternatives and print notes. The V8 revision still needs physical fit and load checks.

Plan a similar project

Grab the starter prompt, fill in your hardware and goals, and give it to your AI assistant. It walks through the same six questions, from camera input to untethered operation, with component checks and an honest test log at every stage.

A planning starting point, not a ready-to-run wiring guide. It asks the assistant to verify your parts before proposing connections or powered tests.

SAFE TESTING

Safety and human control

Access is deliberate. Commands are limited. A person keeps the final say. The public game never grants access to the physical rover.

OWNER-CONTROLLED ACCESS

Generated access token

A generated access token is part of the setup that lets Grok Bot use the project’s control tools. The owner creates and supplies it deliberately; visiting this website gives no access to the rover.

  1. Generate a dedicated token. The owner creates an access token within the private control setup for the intended environment. Simulation and physical hardware use separate credentials.
  2. Pass it securely to Grok Bot. Store the token in the tool configuration’s secret field so authenticated requests can use it. Keep it out of prompts, public pages, screenshots and URLs.
  3. Allow control explicitly. A token authenticates requests. Human approval, bounded actions and the ability to stop or take over remain separate requirements.
  4. Revoke access when needed. Revoke or replace the token when access is no longer required or the token may have been exposed.

This is a rover access credential. It is separate from an xAI API key and from the usage tokens a model consumes. No token values or private control links are published here.

Keep controls private

The public website provides no bot keys or links to private control endpoints. The visitor game cannot send commands to physical hardware.

Bounded commands

The simulation API caps a drive command at two seconds and rejects overlapping commands. Read the current state after an uncertain result before sending another move.

Stopping and manual override

Verify manual override, connection-loss behaviour and the physical stop before a powered test. Start with wheels raised, then use a clear, supervised area.

Safe test areas

Keep real animals out of drive tests. A forward sensor cannot cover every direction or detect every drop. A dog found in the game is a virtual mission, not permission to chase a pet.

What has been validated? What still needs testing?

The design files include mesh, assembly and sampled clearance checks. These do not establish printed strength, real cable fit or safe driving performance. The range sensor produced plausible standalone measurements; confirmation in the integrated rover remains a separate test. The game uses synthetic geometry and simplified motion, not a validated physics or perception model.

GET IN TOUCH

Get in touch

Interested in the project, building your own rover, or exploring what AI agents can do in the physical world? Connect with Marty Hungerford.

Connect on LinkedIn ↗