Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
README FOR THE POWER BOARD HARD- AND SOFTWARE RELEASE ===================================================== 2016-01-11 FUmanoids' Powerboard Hardware Release v2016 Copyright (c) 2016 FUmanoids / Freie Universität Berlin All rights reserved For full license information, please refer to file LICENCE Links: FUmanoids Homepage http://www.fumanoids.de FUmanoids on Facebook http://www.facebook.com/fumanoids FUmanoids on Twitter http://twitter.com/fumanoids RoboCup Homepage http://www.robocup.org RoboCup Humanoid League Homepage http://www.tzi.de/humanoid This is part of the code/hardware release of team FUmanoids, version 2016. Our goal by releasing the source code and CAD files of components of our robot is to provide some insight in humanoid soccer robot development, allowing other teams to learn from our code and possibly our mistakes, but also to hopefully encourage them to do the same and release their code as well. Though RoboCup is a competition, it's also about research and finally to achieve our common goal - to win against FIFA in 2050 ... 1. PROJECT STRUCTURE ---------------------- The FUmanoids team has developed several software applications as well as our own robots. The latter was developed internally and equipped with both commercially available and self-built electronics. This release addresses only the custom-built power board used in the FUmanoid robots. Neither a compiler, an SDK or CAD software is part of this package. In the section "Getting Started" you find a list of recommended software to modify or view the CAD files, to compile the software and to put the binaries onto the processors. 1.1 Overview of the package ----------------------------- The project's root directory is "powerboard" (the board's name). The directories in the root directory are: - bin -- some useful scripts and programs for building the program and documentation - obj -- All binary files of the program go here. This directory will be created during code compilation. - doc -- The documentation directory. Here you can find some documentation of the board. - src -- The actual source code. Note: The essential parts of the software is pretty well documented. Please consider this as a documentation directory as well. - hardware -- Here you can find the CAD files for the PCB. 2. THE POWERBOARD PROJECT ------------------------- 2.1 Getting Started ------------------------- 2.1.1 Software The software is written in C with two extensions in assembler (system_mutex_lock() and system_mutex_unlock()). A compiler for the target hardware is not part of this package but can be picked based on the user's preferences. We recommend using the arm-none-eabi-toolchain (including gcc, ld and gdb) which can be found here: https://launchpad.net/gcc-arm-embedded/+download 2.1.2 Hardware To view the schematics and layout of this project we recommend using "CadSoft EAGLE" which can be found at: http://www.cadsoftusa.com/ 2.1.3 Manufacturing The PCB can be manufactured by most commonly known PCB services. A partlist can be found in the folder where the schematics reside. But please double check the partlist since we cannot guarantee its completeness. We chose every component on the board to be manually solderable. All you need is a steady hand. And preferably a rework station. 2.1.4 Other Prerequisites To flash the target an ARM compatible JTAG is needed. We recommend using an "JLink" from Segger. There is numerous software available for all major operating systems supporting the programmer (Linux, Mac, Windows). 2.2 Compiling the Software --------------------------- To compile for debug run: make To build a release build: RELEASE=1 make The common IDE used for development in team FUmanoids is Eclipse/CDT which is available at http://www.eclipse.org. Therefore we have the corresponding project files added to our repository, to give an easy start. You can build the code either by using Eclipse or by shell tools. Both ways are easy. Other IDEs or editors can of course be used. The build process generates a .elf file which can be flashed on the target. 2.2.1 Using Eclipse If you choose to use Eclipse click File->Import and in the opening window General->"Existing Project into Workspace" and choose the project's root directory. Then you can compile the debug or release version of the software. 2.2.2 Using the shell tools You can simply run make to compile the code. 2.3 Flashing the target ------------------------ In order to flash the target you need an JTAG. We recommend using the Segger/JLink software to communicate with the JTAG and as tool to download code onto the target. If you have JLinkGDBServer installed you can use JLinkGDBServer -if swd make flash to flash the target. 4. REFERENCES -------------- The framework used in this software was developed as part of the FUmanoid project and is used in it's sensor board as well (the project can be found at http://www.fumanoids.de/hardware/erolf). The Berlin United Racing Team incorporates a microcontroller board similar to the power board which is operated by the framework as well. Many aspects of our work is described in the corresponding theses of our students, which are available online at http://www.fumanoids.de/publications, though most of them are in German. 5. CONTACT ----------- We'd love to receive feedback, please feel free to contact us by email at email@example.com. For information about our team and ongoing progress, follow us on https://www.facebook.com/fumanoids, https://twitter.com/fumanoids and http://www.fumanoids.de.