AGV (Automated Guided Vehicle)
AGV – definition
An Automated Guided Vehicle (AGV) is a driverless mobile vehicle that follows a defined guidance method to move materials, tools, sensors, or payloads between specified locations. In mobile robotics, an AGV is distinguished from a manually driven vehicle by its onboard control system. The distinction between an AGV and an Autonomous Mobile Robot (AMR) is not defined uniformly across the industry: AGVs are often associated with configured routes, markers, guide paths, or fixed reference infrastructure, while AMRs generally use onboard perception, maps, and dynamic path planning.
ISO 8373:2021 defines terminology for robots and robotic devices, while ISO 3691-4:2023 specifies safety requirements and verification requirements for driverless industrial trucks and their systems. These standards are useful references when an AGV operates in a controlled facility, but they do not turn a generic UGV platform into a compliant industrial AGV by themselves. Safety functions, risk assessment, operating environment, payload, speed, and obstacle-detection performance must be assessed for the complete system.
In the context of Fictionlab mobile platforms, an AGV is a system-level implementation built on a UGV such as Leo Rover or Raph Rover. The rover provides mobility, compute interfaces, power distribution, and sensor mounting options. Guidance, localization, route logic, mission control, and safety-related behavior must be integrated separately.
How AGV guidance works on a mobile UGV
An AGV requires a method for estimating its position relative to the route and deciding how to correct its motion. The route can be physically installed in the environment or represented digitally as waypoints, map coordinates, or a graph.
Common AGV guidance methods include the following:
- Magnetic tape or magnetic markers – a magnetic sensor detects a tape line or discrete markers installed on the floor.
- Inductive wire guidance – a vehicle follows an electromagnetic field generated by a wire embedded in or placed under the floor.
- Optical line guidance – a camera or line sensor follows painted, taped, or high-contrast visual paths.
- Reflector-based laser guidance – a 2D LiDAR detects known reflectors and estimates the vehicle pose against a surveyed reflector map.
- Natural-feature localization – LiDAR, depth cameras, wheel odometry, and IMU data are used to localize against an occupancy map. This approach overlaps with AMR navigation and SLAM-based UGV systems.
For a differential-drive rover, route tracking is usually converted into linear velocity v and angular velocity ω. The base controller converts these commands into left and right wheel velocities. For a wheel separation b, the ideal wheel velocities are:
v_left = v - (ω × b / 2)
v_right = v + (ω × b / 2)
This kinematic model assumes adequate wheel traction and no significant wheel slip. Loose soil, ramps, uneven flooring, and payload changes can introduce odometry error. External localization is therefore important for repeatable AGV operation outside a highly controlled indoor route.
AGV integration in ROS 2
ROS 2 provides communication, coordinate-frame conventions, navigation components, and tooling needed to implement an AGV application. It does not define a complete AGV safety system or certify a vehicle for industrial deployment.
A typical ROS 2 integration uses the interfaces below. Frame naming follows REP 105, which defines the commonly used map, odom, and base_link frames. SI units and coordinate conventions should follow REP 103.
| Function | Typical ROS 2 interface | Purpose |
|---|---|---|
| Velocity command | geometry_msgs/msg/Twist or TwistStamped |
Commands linear and angular base velocity. |
| Wheel odometry | nav_msgs/msg/Odometry |
Publishes estimated pose and velocity in the odometry frame. |
| Laser scan | sensor_msgs/msg/LaserScan |
Provides 2D range measurements in metres, as specified by the message definition. |
| Transform tree | tf2 |
Connects sensor frames, base_link, odom, and map. |
| Route execution | Nav2 actions and behavior trees | Sends navigation goals and manages recovery behavior. |
Nav2 is the standard ROS 2 navigation framework maintained within the Open Navigation project. It can plan paths over a 2D costmap and control a robot toward a pose goal. For an AGV, the global route may be constrained to approved corridors, named waypoints, or a preconfigured graph rather than allowing arbitrary traversal of the mapped area.
ros2 topic echo /odom
ros2 topic echo /scan
ros2 run tf2_ros tf2_echo map base_link
ros2 action send_goal /navigate_to_pose nav2_msgs/action/NavigateToPose \
"{pose: {header: {frame_id: map}, pose: {position: {x: 2.0, y: 1.0}, orientation: {w: 1.0}}}}"
Key AGV parameters and validation metrics
AGV performance should be measured against the operating task, not described only as “autonomous.” The relevant metrics depend on route geometry, floor condition, localization method, sensor placement, and payload.
Engineering validation commonly records the following values:
- Cross-track error – lateral distance between the planned route and the measured vehicle path.
- Final pose error – position and heading error at a docking point or work station.
- Localization availability – percentage of mission time in which the pose estimate remains valid and within defined covariance limits.
- Obstacle stopping distance – distance from detection to full stop, including sensor latency, processing latency, braking response, and wheel-surface conditions.
- Mission completion rate – completed route cycles divided by initiated route cycles under documented test conditions.
Thresholds for these metrics must be defined by the risk assessment and task requirements. They cannot be inferred from ROS 2, Nav2, or a rover chassis specification alone.
Leo Rover and Raph Rover as AGV development platforms
Leo Rover is a four-wheel, differential-drive UGV with an IP55-rated enclosure and an integrated Raspberry Pi-based compute unit. It supports ROS 2, including Humble; support for later distributions depends on the available platform software releases. These characteristics make it suitable for prototyping indoor guidance, waypoint navigation, sensor fusion, and computer-vision route following.
Leo Rover is not an autonomous AGV out of the box. A working system requires a localization source, a navigation or line-following controller, route definition, obstacle handling, and an application-specific safety design. A 2D LiDAR can support map-based localization and obstacle perception, while an IMU and wheel odometry can be fused with robot_localization for a more stable state estimate. A depth camera can add near-field obstacle information but must be evaluated for lighting, reflective surfaces, and mounting vibration.
Raph Rover is the larger Fictionlab platform for applications requiring higher payload capacity. It is appropriate when an AGV must carry heavier sensor packages, batteries, inspection equipment, or research payloads. It does not replace Leo Rover for compact laboratory, teaching, and rapid ROS 2 development tasks.
Standards and technical references
The following documents define relevant terminology, coordinate conventions, and software interfaces. They should be read together with the documentation for the selected sensors, motor controller, and platform.
- ISO 8373:2021 – Robots and robotic devices – Vocabulary.
- ISO 3691-4:2023 – Industrial trucks – Safety requirements and verification – Part 4: Driverless industrial trucks and their systems.
- ROS REP 103 – Standard units and coordinate conventions.
- ROS REP 105 – Coordinate frames for mobile platforms.
- Nav2 documentation – ROS 2 navigation framework.
- Leo Rover documentation – Platform-specific ROS 2 and hardware documentation.