Diego 1# is equipped with following electric and mechanical components for different usage, including Raspberry, Arduino, buck, 18650 battery group, servo control board, Arduino extension board and mechanical manipulator. These components . In this article, all related hardware BOM and their features are listed.

In this article, the connections and instructions between Diego 1# and other hardware components are illustrated in graphics+text.

Software architecture of Diego 1# is illustrated in detail, including software package for each function and the relationship between software packages.

Diego 1# is based on differential control chassis which controls left and right wheel speed to implement robot steering control. Here kinematic model of differential control is introduced and it's very important for robot steering control.

This chapter introduces ROS ros_arduino_bridge control package using for Diego 1# differential speed chassis, including software setup, code analysis and related modification for Diego 1#.

Diego 1# uses differential control chassis and 2 driver motor speed to control robot steering, considering of motor electric characteristic and load unbalance during robot installation, it may deviate from expected route, at this situation, PID speed control is introduced to adjust 2 driver motor speed for ideal steering control.

Calibrating Diego 1# linear velocity for better control precision.

Calibrating Diego 1# angular velocity for ideal control precision.

ROS navigation framework is elaborated, including related hardware and software package.

Constructing map via gmapping and hector slam based on laser radar data.

Robot positioning and path planning based on acme and move_base package.

English voice recognition based on CMU Pocket Sphinx speech recognizer and English voice synthesis based on source_play.

Establing Diego 1# vision system via depth camera Xtion pro and openni of 3D robot vision open source.

Controlling robot chassis and robotic arm movement via keyboard.