The video uses English captions over the same recorded simulation as the Japanese edition. The robot motion and camera frames are unchanged.
Reaching a gauge is not the same as reading it. Distance and viewing angle can leave a robot with an image that is unsuitable for inspection.
We built a Go2 quadruped demonstration that checks an image and changes its viewpoint when reading conditions are not met. We created a fictional factory with tanks, pipes and pumps in Isaac Sim, a simulator for robot motion, contact and camera imagery.
The next action matters when an image is unreadable
At the oblique viewpoint, images either exceeded the configured 50° orientation limit or did not provide sufficient scale correspondences. None of five images was accepted for recording. This rejection triggered a move to a preconfigured viewpoint on the front side of the gauge.
After moving, 5 of five images passed, producing readings from 0.917 to 0.920 MPa. Their median was 0.919 MPa. MPa is a pressure unit. The simulated fixture was set to 0.920 MPa, a difference of 0.001 MPa in this trial.

Visual SLAM is one type of SLAM
This demonstration uses Visual SLAM, which uses camera images. SLAM is the general term for estimating the robot's position and a map of its surroundings at the same time. Visual means image-based: it is not a separate alternative to SLAM. The useful comparison is with LiDAR SLAM, which uses laser distance measurements.
In a factory aisle, Visual SLAM tracks how shelf corners and pipe markings move across images to estimate the robot's motion. LiDAR SLAM uses the measured distances and arrangement of walls and shelves.
| Comparison | Visual SLAM: cameras | LiDAR SLAM: lasers |
|---|---|---|
| Advantages | Cameras are generally small and inexpensive. Their images can also support tasks such as gauge reading. | Measures distance directly. Can measure the shape of walls and shelves in darkness. |
| Limitations | Darkness, backlighting, blur and walls with few visual features can make tracking difficult. | Materials that return little laser light and environments with few geometric cues can make measurement or localization difficult. Especially for 3D LiDAR, cost and mounting space can be greater. |
| Distance | Computed from images. Conventional image-only monocular systems need another cue for distances in meters. Our stereo pair estimates depth from differences between the two views. | The sensor measures distances with lasers, but measurements still have errors. |
An advantage of our configuration is that the same camera images support both localization and gauge inspection. Localization and gauge reading remain separate processes. This test used a simulated factory with fixed lighting; darkness, reflections and physical camera vibration are untested. It is not a comparative experiment demonstrating superiority over LiDAR.
SLAM estimates position and a map. Route planning and obstacle avoidance need additional components. This demonstration uses image-based position estimation with predefined aisle waypoints and viewpoint candidates, rather than autonomous patrol in an unfamiliar factory. See MathWorks' sensor-based SLAM guide and NVIDIA's discussion of sensor limitations.
Can Go2's LiDAR be used, and can the methods be combined?
The physical Go2 has a standard 4D LiDAR. As of October 2, 2026, Unitree's product page lists the L2. LiDAR SLAM is therefore another option. Connecting custom software requires checking the actual configuration and development access to sensor data.
This simulated Go2 does not use LiDAR data for localization. Our test uses the added stereo cameras and cuVSLAM. Hardware availability and use in this demonstration are separate facts.Combining LiDAR SLAM and Visual SLAM can improve accuracy and resilience to losing position tracking. For example, laser distance measurements can help when darkness or blur disrupts camera tracking, while image markings can help distinguish places with few geometric cues. Combining sensor measurements is called sensor fusion.
Simply averaging two position estimates is insufficient. Sensor timestamps, mounting positions and orientations must agree, and the system must account for measurement reliability. Incorrect timing or mounting calibration can increase error. Fusion also adds computation, implementation and tuning effort.
A future test could compare cameras alone, LiDAR alone and fusion in the same simulated factory, measuring position error, tracking failures and processing time. We have not measured a fusion improvement in this demonstration. See NVIDIA's discussion of complementary odometry methods and the Stereo Visual Inertial LiDAR SLAM study for an example combining cameras, LiDAR and an IMU.
Images support both motion and inspection
We added two ideal virtual cameras above Go2’s front, with their lens centers 6.5cm apart. They form one forward-looking stereo pair. This is an additional rig, not a reproduction of Go2’s standard camera specification.
Differences between the two images and features tracked over time support position estimation.
Why use two cameras?
The purpose of the pair is to estimate distances to visual features and how many meters Go2 has moved. Hold up a finger and close each eye in turn: its apparent position shifts. A nearby point has a larger offset between the two images than a distant point.
This offset is called disparity. The known 6.5cm camera separation and calibrated lens parameters turn disparity into distance. Tracking the features across successive images then helps estimate the robot’s position and orientation.
Visual SLAM can also work with one camera. However, conventional image-only monocular SLAM needs another cue to recover metric scale. This demonstration uses stereo cameras with a known baseline for that purpose.
The roles are separate: localization uses both images; gauge reading uses only the left image. The reader does not combine two camera images to reread the dial. See the OpenCV stereo-depth tutorial for the disparity–distance relationship.
cuVSLAM performs Visual SLAM: simultaneously estimating camera position and surrounding visual features. We use its pose estimate to adjust velocity toward predefined waypoints in a known clear aisle. The green points in the two lower camera views are actual cuVSLAM feature observations for that frame. The line on the right is the estimated trajectory, not a factory navigation map.
For walking, we use Isaac Lab's published Go2 policy—a learned model that turns velocity commands and robot state into joint actions. We did not train or fine-tune it. The robot moves through physics rather than by teleporting its base along an animated path.
Simulator ground-truth pose is used for audit records and the filming camera, not for aisle position control. The locomotion policy still uses joint and orientation information. This is not a claim that the entire robot is controlled using cameras alone.
Watch the raw image, rectification and OK/NG decision together
The upper-right panels show a live crop of the current gauge image and its frontal rectification. A tilted view makes the round dial appear narrow. We match its markings to a needle-free reference and rectify only valid correspondences. No successful rectification is shown when matching fails.
FRAME OK/NG is a single-image decision. It shows the current failure reason, such as an overly oblique view or unmatched scale. RECORD OK/NG is the five-image decision. A transient reading during movement does not complete the inspection.
SIFT finds image features; RANSAC estimates a perspective transformation while rejecting inconsistent matches. Compressed reference views help match foreshortened markings. The configured quality checks require sufficient correspondences, an image-derived orientation of at most 50°, and an unambiguous needle. At least three of five images must pass, with a range no greater than 0.015 MPa, before the median is recorded.
The 50° limit is an explicit configured quality rule, not learned confidence. It measures the angle between the camera optical axis and dial-plane normal, inferred from matched image points and camera intrinsics. The reader does not receive simulator ground-truth orientation.This is image processing calibrated for a specific gauge, without a vision-language-action model or a large vision-language model. The pressure fixture value is used for evaluation only; it is not supplied to the reader.
Earlier prototype comparisons
The following records predate this oblique-view retake. They compare fixed and changing viewpoints and different needle settings. The new recording changes the path, display, matching and angle gate, so these rows are not its results or a success-rate estimate.
| Trial | First view | Next view | Recorded / fixture |
|---|---|---|---|
| No repositioning | 0/5 accepted | No movement | Unresolved / 0.920 |
| Repositioning comparison | 0/5 accepted | 3/5 accepted | 0.916 / 0.920 MPa |
| Lower needle setting | 0/5 accepted | 5/5 accepted | 0.421 / 0.420 MPa |
| Higher needle setting | 0/5 accepted | 5/5 accepted | 1.319 / 1.320 MPa |
| Initial published recording | 0/5 accepted | 5/5 accepted | 0.916 / 0.920 MPa |
Each row is one run. For the final recording, we corrected the method for logging ground-truth camera pose for auditing; image-based control and reading criteria were unchanged. Failed frames remain in the records. These small tests are not a success-rate estimate or a physical-hardware accuracy benchmark.
What works, and what remains
We connected visual localization in a known aisle, learned walking, rejection of an insufficient image, movement to another viewpoint, and multi-frame reading. The video and the decisions come from the same simulation run.
| Not yet demonstrated | Why, and the next verification needed |
|---|---|
| Autonomous patrol in an unfamiliar factory | Aisle waypoints and viewpoint candidates are configured in advance. Persistent mapping, path planning and obstacle handling remain to be verified. |
| Automatic optimal-viewpoint search | A rejected reading triggers the next configured candidate. Generating and ranking viewpoints by visibility and movement cost is not implemented. |
| Glare, dirt, darkness or other gauges | Only one gauge face and fixed lighting were tested. This retake tests an oblique view and an explicit acceptance rule, not detected glare avoidance. |
| Inspection on a physical Go2 | The rig uses ideal simulated cameras. Real optics, exposure, vibration, communication latency and locomotion error need hardware tests. |
What can be tested before going on site?
A simulated environment lets us compare gauge heights, camera mounts, viewpoint candidates and unresolved-reading behavior before a hardware trial. Next we will vary lighting, occlusion and gauge placement to find the conditions where reading breaks down.
We build simulation environments, connect robot control with image processing, and check the results of each trial. Contact us to discuss what to verify first for factory patrol or equipment inspection.
Inspiration and implementation sources
The idea of revisiting the observation viewpoint was informed by Tuomisto et al., Automating on-site object inspection with a quadruped robot and BIM. That study uses Spot, BIM and 3D LiDAR, among other components. Our Go2, Visual SLAM and gauge-reading prototype is a separate implementation, not a reproduction of that paper.
The runtime used Isaac Sim 5.1, Isaac Lab (software for robot learning and motion testing), RSL-RL 3.0.1 and the cuVSLAM Python API. To keep test conditions consistent, we used Isaac Lab's code from one specific update and did not update it during testing. The fictional factory is our own work. We publish our recorded footage and results, not third-party robot assets or pretrained weights.
LET’S BUILD TOGETHER
Turn your robotics ideas into questions we can test.
Tell us about your task, equipment and current challenges. Through simulation and tests on real robots, we explore feasibility and technical challenges together.
Discuss joint development