AUTONOMOUS SYSTEM BUILDING BLOCKS

Many autonomous ground vehicles (aka. AGVs) require similar building blocks (aka. sub-systems) to operate. Reliable autonomous operation requires detailed engineering design and implementation for both: the separate building block (aka. sub-systems); and the interaction of all those building block that together create the overall autonomous system behaviour.

This section provides step-by-step guides for some of the key hardware-software building blocks for a differential drive robot. The topics covered are:

Important

ROS code is part of the step-by-step guides for the building blocks. However, when developing and implementing each building block separately, ROS is not required.

When combining multiple building blocks into an autonomous system, then ROS is the glue that binds everything together. ROS makes it easy to send messages between that building blocks, for example: sending a message from the Lidar block to the localisation block with the Lidar scan data as the contents of the message.

Hence, ROS code is part of the step-by-step guides for the building blocks. See the ROS IN WORDS page for more details about ROS.

As a friendly reminder of the many sub-systems required for an AGV to rover about autonomously, these are some of the building blocks not covered by this section:

  • Odometry computations.

  • Localisation by filtering together multiple measurement streams.

  • Path planning and finite-state-machine (FSM) cognition.

  • Trajectory generation and trajectory tracking control.

  • … more?



Creative Commons License
Paul N. Beuchat, 2023