This firmware is designed to control a custom electronics board designed to be attached to the feet of both the Darwin OP and the Bioloid Robots, and detect possible obstacles in front of the feet, as well as the presence of possible holes or the limit of the current surface, using IR sensors.
The board provides:
* 6 short range IR sensors (CNY70) on the sole of each feet arranges as a matrix of 2 by 3.
* 1 middle range IR sensor on the sole of each feet.
* 2 short range IR sensors on the front of each feet.
* 1 middle range IR sensor on the front of each feet.
Each sensor supports a programmable threshold. It uses the dynamixel protocol as an slave device to communicate with the driver.
Use the [C++ driver](https://gitlab.iri.upc.edu/humanoides/ir_feet_driver) to control the electromagnet from a desktop computer.
## Dependencies
Check the [STM32 How to](https://gitlab.iri.upc.edu/labrobotica/firmware/stm32_firmware_how_to) page for information on how to set up the environment to work with STM32 micro-controllers.
## Compilation
Initialize and download the necessary submodules ([stm32_libraries](https://gitlab.iri.upc.edu/humanoides/tools/stm32_libraries) and [stm_32_hal](https://gitlab.iri.upc.edu/humanoides/tools/stm32_hal))
``` git submodule init ```
``` git submodule update ```
Compile the code
``` make ```
## Disclaimer
Copyright (C) 2009-2018 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
Mantainer IRI labrobotics (labrobotica@iri.upc.edu)
This package is distributed in the hope that it will be useful, but without any warranty. It is provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program is with you. should the program prove defective, the GMR group does not assume the cost of any necessary servicing, repair or correction.
In no event unless required by applicable law the author will be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the program (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the program to operate with any other programs), even if the author has been advised of the possibility of such damages.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>