## 2 Materials and Methods
### Electronics and Control  
The Crawler Unit active tracks are driven by two DCX12L. Maxon Motors. Each motor includes the GPX12 HP planetary gearbox with reduction ratio 83:1 and the ENX10 EASY 256 IMP encoder. Additional details are listed in Table 4. These actuators are driven by the L298N Motor Driver, which includes a dual H-Bridge chip. Such a board is controlled through PWM and digital signals generated by the microcontroller. All the active joints of the Crawler kinematic chains are driven by the Herkulex DRS-0602 servomotors, as shown in Table 4. These servomotors are light-weight, but they produce high output torques. Additionally, the embedded electronics controls the servomotor implementing a PID logic. Once it received the desired angle, the servomotor computes the velocity profile to reach the goal smoothly. All the Herkulex servomotors are serially connected, and the communication is implemented using the TTL Full Duplex UART Serial logic. The microcontroller interacts with the servomot \begin{table}
\begin{tabular}{c c} \hline \hline  & Model: DRS-0602 \\ Herkulex Servomotor & Total weight: 145 g \\  & Total Stall Torque: 7.6 Nm \\  & Reduction Ratio: 202:1 \\ \hline \hline  & Model: DCX12L \\ Maxon Motor & Total weight: 36.6 g \\  & Total Stall Torque: 0.99 Nm \\  & Reduction Ratio: 83:1 \\ \hline \hline  & Model: Mega 2560 \\ Arduino Board & Microcontroller: ATmega 2560 \\  & Clock Frequency: 16 MHz \\ \hline \hline  & Driver: L298N Dual H Bridge \\ L298N Motor Driver & Motor Channels: 2 \\  & Driver Voltage: 5-35 V \\ \hline \hline \end{tabular}
\end{table} 
Table 4: The Crawler Unit technical specifications. Figure 5: Detailed view of one kinematic chain that connects the Crawler Unit modules. From left to right, the yaw and the pitch joints are assembled into a Cardan joint, which is connected to the second pitch joint. In all joints, the servomotors are equipped with dual stage transmissions. packets, which encode the required information. Here, a C++ custom library is used to interface the Herkulex servomotors with the microcontroller. Such a library defines a set of functions that build request packets and decode the acknowledgment packets, according to the communication logic. In version one of the Crawler Unit, the user input is provided by a dual axis joystick. This configuration allows the operator to control only the horizontal mobility of the Crawler Unit. Therefore, the robot behavior is pre-determined by many control routines that have been developed to perform the ground maneuverability experiments. This arrangement was not ideal; therefore, version two of the system provides the user with an extended joypad. Referring to Figure 6, the new joypad consists of two dual axis joysticks and five push buttons. The joystick on the right controls the forward motion and the lateral motions of the module, and, instead, the joystick on the left controls the vertical motions of the modules. The control programs have been updated as well to include the additional inputs. In this way, the user had an improved control over the system during the experiments. The push buttons are wired to the microcontroller, but their features are not implemented yet. Future work will focus on the development of a good user-interface and high-level controllers that will help the end-user in piloting the Crawler Unit during field tests. Both the Crawler Units equip the ATmega 2560 microcontrollers embedded in the Arduino Mega 2560 boards, as referred to in Table 4. The clock frequency of the micron-troller is 16 MHz, and the Arduino board has to deal with many input/output signals. The FreeRTOS library is installed on the Arduino board in order to effectively manage all the signals mimicking the multi-tasking [24]. The Arduino Mega board equips a single core microprocessor; therefore, the instructions are executed sequentially. However, the Real Time Operating System FreeRTOS implements a scheduler, which allows one to run different bits of the control code almost simultaneously.