[en] The salamander robot is an amphibious robot developed at EPFL Biorobotics Lab. It is capable of swimming and walking, and its movements are very close to the ones of a real salamander. The robot is composed of nine independent modules connected together with a bus carrying power and communication signals. Each module has several motors, to perform the salamander-like movements, and a microcontroller that drives them and receives orders. One of the goals to improve the robot is a 3D vision system, which would give it the ability to "see", using two cameras. The cameras obtain information from the environment and, using image processing techniques, the robot can react accordingly, for example, follow a path, avoid an obstacle or catch a prey. The project is developed at the Processor Architecture Laboratory due to their expertise with FPGAs, key for real-time image processing. The 3D vision system consists of four boards connected together and battery-powered. The first board has all the voltage regulators that power the different parts of the system and a battery management circuit. The second board has an FPGA and a DDR2 memory for the image processing and global system control, apart from the configuration circuit for the FPGA. The third board includes several transceivers for different interfaces: a CAN bus to communicate with the other robot modules, a wireless transceiver to program the FPGA remotely, and an A/D converter to process data from external sensors (if needed), among others. The fourth board has two black-and-white cameras. The size of all the boards when stacked together, including the battery, fits perfectly in one of the plastic modules that compose the robot. The goal of the present project was to make the 3D vision system to work. Due to previous and not identified problems at the beginning of this project, the power board needed to be redesigned. Thus the specific goal of this project was to design and construct a new and improved power board with higher reliability. To this end, previous designs were investigated and a power budget was created with information from all the components on the boards. It was decided to keep some parts unchanged and replace others for new ones. All the voltage regulators were simulated to be sure they would work properly. Capacitors and inductors were selected carefully to improve the reliability of the design. Among with other improvements, a small control circuit was added. The PCB layout was designed to handle high currents and reduce the noise produced by switching regulators. After soldering the components, the power board was tested consciously to make sure that the regulators could supply the expected current with no troubles. Even currents above the estimated consumption were tested with external loads. When the board was finished, it was connected to the other three boards and checked that the supply voltages were stable and operating successfully. Then, it was checked that the FPGA configuration could be downloaded correctly and that a softcore processor worked suitably. Finally, the DDR2 memory was tested. In conclusion, the hardware is finished and works properly. The system is ready to be used and to programme the FPGA with the interfaces for all the modules of the system and test whether they operate well, especially the DDR2 memory.

[es] El robot salamandra es un robot anfibio desarrollado en el Laboratorio de Biorobótica de la EPFL. Es capaz de nadar y caminar, y sus movimientos son muy parecidos a los de una salamandra real. El robot está constituido por nueve módulos independientes conectados entre ellos por medio de un bus de alimentación y comunicaciones. Cada módulo contiene varios motores (para poder realizar los movimientos parecidos a los de una salamandra) y un microcontrolador que los gestiona y recibe instrucciones. Uno de los aspectos a mejorar del robot consiste en un sistema de visión en tres dimensiones, que le permitiría "ver", usando dos cámaras. Las cámaras obtienen información del entorno y, usando técnicas de procesado de imagen, el robot puede reaccionar según sea conveniente, por ejemplo, seguir un camino, evitar un obstáculo o cazar una presa. El proyecto se lleva a cabo en el Laboratorio de Arquitectura de Procesadores debido a su conocimiento de las FPGAs, clave para poder efectuar un procesado de imagen a tiempo real. El sistema de visión 3D consiste en cuatro placas conectadas entre ellas y alimentadas con una batería. La primera placa tiene todos los reguladores de tensión que alimentan las diferentes partes del sistema y un circuito de control de la batería. La segunda placa tiene una FPGA y una memoria DDR2 para el procesado de imagen y control global del sistema, aparte del circuito de configuración de la FPGA. La tercera placa incluye varios transceptores para diferentes interfaces: para el bus CAN para comunicarse con los otros módulos del robot, un transceptor inalámbrico para programar la FPGA a distancia y un conversor A/D para procesar datos de sensores externos (si es necesario), entre otros. La cuarta placa tiene dos cámaras en blanco y negro. El tamaño de todas las placas cuando están conectadas entre ellas, incluyendo la batería, cabe perfectamente en uno de los módulos de plástico que conforman el robot. El objetivo del presente proyecto fue conseguir que el sistema de visión 3D funcionase. Debido a problemas anteriores al inicio del proyecto, la placa de alimentación no funcionaba. Por lo tanto, el objetivo concreto del proyecto fue diseñar una nueva placa mejorada y con mayor fiabilidad. Para la placa de alimentación, se analizaron los diseños anteriores y se realizó una estimación del consumo de cada parte del circuito en base a la información de los componentes de cada placa. Se decidió mantener algunas partes y cambiar otras. Todos los reguladores de tensión fueron simulados para asegurarse que funcionarían una vez montados. Los condensadores e inductores se seleccionaron cuidadosamente para mejorar la fiabilidad del diseño. Asimismo, entre otras mejoras, se añadió un pequeño circuito de control. El diseño del circuito impreso se realizó teniendo en cuenta que tenía que soportar corrientes elevadas y también minimizar el ruido producido por los reguladores conmutados. Después de soldar los componentes, se probó la placa de alimentación rigurosamente para asegurar que podía suministrar la corriente esperada sin problemas, incluso se probaron corrientes por encima del consumo esperado mediante cargas externas. Cuando se hubo acabado la placa se alimentación, se conectó a las otras tres placas y se verificó que las salidas de los reguladores de tensión eran estables y funcionaban correctamente. Después, se comprobó que la configuración de la FPGA se podía descargar correctamente y que un procesador softcore operaba como era esperado. Finalmente, se probó la memoria DDR2. En conclusión, el hardware descrito anteriormente funciona correctamente. El sistema está preparado para ser usado y para programar la FPGA con las interfaces para todos los módulos del sistema y probar si funcionan bien, especialmente la memoria DDR2.