The batteries are already connected. It’s visible in the picture that the cables are longer than needed, but this way each battery car can be take separately without disconnect anything. The final arrangement was the series of the 4 batteries, resulting in 48V.
Additional wires were made to charge the batteries from the rear of the vehicle. To power the robot, the 48V terminals were soldered to a main connector on the bottom of the battery support.
Read encoder data
After establishing connection between ROS and the Arduino Leonardo ETH in the previous week, a new goal was put in place: use an external chip to count the encoder pulses, communicate with the Arduino Leonardo ETH and display the values in ROS.
The first test was made with an Arduino Uno reading the data using interrupts to count the pulses and transmit it via SPI. Several ways of transmission were tested in order to simplify/reduce the amount of transmitted data.
When implementing the temporary setup, the necessary specifications were identified and the Arduino board was selected: Arduino Micro. It has 5 interrupt pins, I2C, SPI and a 16Mhz crystal witch are enough specs to solve the needed problem.