Difference between revisions of "Talk:RoboTower"

From AIRWiki
Jump to: navigation, search
(Working notes about some of the used tools)
m (Mr. Brian / Fuzzy controller)
 
(18 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
All the code for the project is hosted on github. The repository can be browsed [https://github.com/pogliamarci/robotower here].
 
All the code for the project is hosted on github. The repository can be browsed [https://github.com/pogliamarci/robotower here].
  
'''Stickers for RFID tags'''
+
Instructions for compilation and installation are provided in the documentation (appendix A). Notes regarding the firmware for the STM32F4 Discovery Board are in the appendix B of the documentation (source code is in the same github repository)
  
* PDFs of the stickers that have been applied on the RFID tags: [[media:RFIDStickers-1.pdf|sheet 1]] and [[media:RFIDStickers-2.pdf|sheet 2]] (print them on polyester adhesives)
+
== Documentation ==
* Adobe Illustrator [[media:RFIDStickers-Sources.zip|sources]] of the stickers and the [[media:RTCards-Sources.zip|images]] of RFID stickers used to represent them in the GUI
+
  
== Progettazione del gioco ==
+
* [[media:RoboTower.pdf|Documentation]] (in italian) [last update: 1 April 2013]
 +
* The [[media:RTSheet.pdf|posters]] used to explain the game at MeetMeTonight 2012 (in italian)
  
* Come abbiamo progettato il gioco (linee guida, idee scartate/preliminari, etc) [https://docs.google.com/document/d/1uODOTOVbayhVzQwIU1lLKIQu3Wq_uJgjkT_por5xa_o/edit link al documento]
+
== Stickers for RFID tags ==
* Una prima bozza dello storyboard:  [[media:RobotowerStoryboard.pdf|RobotowerStoryboard.pdf]]
+
 
 +
* PDFs of the stickers that have been applied on the RFID tags: [[media:RFIDStickers-1.pdf|sheet 1]] and [[media:RFIDStickers-2.pdf|sheet 2]] (print them on polyester adhesives)
 +
* Adobe Illustrator [[media:RFIDStickers-Sources.zip|sources]] of the stickers and the [[media:RTCards-Sources.zip|images]] of RFID stickers used to represent them in the GUI
  
==Working notes about some of the used tools==
+
== Other stuff ==
  
 
===ROS===
 
===ROS===
* Qui c'è una nostra [media:miniguidaROS.pdf|guida] con i comandi principali e il codice di nodi di esempio (presi dai tutorial), sia per C++ che per Python
+
* Qui c'è una nostra piccola [[media:miniguidaROS.pdf|guida]] con i comandi principali e il codice di nodi di esempio (presi dai tutorial), sia per C++ che per Python
 +
* Also, in the AirWiki there is an handy [[ROS_HOWTO|ROS Howto]], that is useful too...
  
== STM32F4 Discovery: notes ==
+
===[[Spykee]]===
To manage the devices added to the robot, we used a STM32F4 Discovery Board. We built the firmware with the chibiOS/RT Operating System.
+
* Qui c'è una spiegazione parziale e incompleta del [[media:spykeerev.pdf|protocollo]] di comunicazione tra SpyKee e il computer (non tutti i pacchetti sono stati testati, ma solo poco più di quelli che ci interessavano)
 +
* It's not so useful, but as the Spykee firmware is open source, you can take a look [http://www.spykeeworld.com/spykee/US/freeSoftware.html here] if you want to find out how the other packets work (beware: the download is huge!)
  
The board is equipped with an ST-Link v2 programmer, that seems to be officially supported on Windows only. It works on Linux with two methods: using the stlink utility (https://github.com/texane/stlink) or using OpenOCD (you need to build it from git, as stlink support is experimental).
+
===Hardware stuff===
=== OpenOCD configuration ===
+
* In [[media:Spykee-datasheet.zip|this file]] I collected some useful datasheet of part of the hardware employed in the project
As stlink support provided by openOCD is still experimental, it has to be explicitly enabled while compiling the sources. After downloading the latest sources from the git repository (the URL should be http://sourceforge.net/scm/?type=git&group_id=274635), compile and install issuing:
+
    $ ./configure --enable-maintainer-mode --enable-stlink
+
    $ make
+
    # make install    (this is needed only to install the binaries system-wide, and must be performed by root)
+
=== Starting OpenOCD ===
+
When openOCD is correctly configure, it can be started with the command
+
    $ openocd -f board/stm32f4discovery.cfg
+
(assuming that the board is connected to the computer).
+
  
'''NB''': sometimes the board is not recognized (it happens to me frequently when chibiOS is flashed on the board), and neither openocd nor texane's stlink can connect to the board. In this case, keeping the "reset" button on the board pressed while launching openocd should solve this issue. If this doesn't solve, use the ST Visual Programmer utility (windows only, sorry) to erase the FLASH memory.
+
===Mr. Brian / Fuzzy controller===
=== Connecting to the board ===
+
* If you need to put your hand into the rules of the fuzzy controller, on the AirWiki there is a complete guide to Mr. Brian in the [[MRT]] page ([[media:MRTmanual.pdf|direct link]])! (read only the chapter about Mr. Brian, the other stuff wasn't used in RoboTower)
You now can flash the firmware, run and debug the code from within gdb (an arm version of gdb!). To connect to the openocd gdb server (assuming that firmware.elf is the binary file to be flashed and\or debugged):
+
    $ arm-none-eabi-gdb filename.elf
+
    (gdb) target extended-remote localhost:3333
+
Now that gdb is connected, typing the following commands will erase the FLASH memory, load the new firmware, and - finally - run the firmware!
+
    (gdb) monitor reset halt
+
    (gdb) monitor flash probe 0
+
    (gdb) monitor stm32f2x mass_erase 0
+
    (gdb) load
+
    (gdb) monitor reset halt
+
    (gdb) continue
+

Latest revision as of 22:38, 1 April 2013

Source code

All the code for the project is hosted on github. The repository can be browsed here.

Instructions for compilation and installation are provided in the documentation (appendix A). Notes regarding the firmware for the STM32F4 Discovery Board are in the appendix B of the documentation (source code is in the same github repository)

Documentation

  • Documentation (in italian) [last update: 1 April 2013]
  • The posters used to explain the game at MeetMeTonight 2012 (in italian)

Stickers for RFID tags

  • PDFs of the stickers that have been applied on the RFID tags: sheet 1 and sheet 2 (print them on polyester adhesives)
  • Adobe Illustrator sources of the stickers and the images of RFID stickers used to represent them in the GUI

Other stuff

ROS

  • Qui c'è una nostra piccola guida con i comandi principali e il codice di nodi di esempio (presi dai tutorial), sia per C++ che per Python
  • Also, in the AirWiki there is an handy ROS Howto, that is useful too...

Spykee

  • Qui c'è una spiegazione parziale e incompleta del protocollo di comunicazione tra SpyKee e il computer (non tutti i pacchetti sono stati testati, ma solo poco più di quelli che ci interessavano)
  • It's not so useful, but as the Spykee firmware is open source, you can take a look here if you want to find out how the other packets work (beware: the download is huge!)

Hardware stuff

  • In this file I collected some useful datasheet of part of the hardware employed in the project

Mr. Brian / Fuzzy controller

  • If you need to put your hand into the rules of the fuzzy controller, on the AirWiki there is a complete guide to Mr. Brian in the MRT page (direct link)! (read only the chapter about Mr. Brian, the other stuff wasn't used in RoboTower)