Interactive web site of Télécom ParisTech's ELECINF344/ELECINF381 Robotics and Embedded Systems classes (a.k.a. ROSE, 2012 session).


Wi-fi, Ball-E’s structure and real tests

Two days ago, we finally managed to flash the Gainspan Wi-fi module’s firmware and we can now talk to the module through the SPI interface and I managed to make it connect on a router which was in the room. I am now working on the driver to make it work completely.

As I had finished coding the PD algorithm, Pierre-Hugues worked in order to enable us making real tests of balance with Ball-E. Therefore, I build a system to put the robot on the ball while hanging in the air so that it couldn’t fall on the floor (you may see it on the pictures). We made some tests with several balls and it appeared that we needed to have a center of gravity higher. That’s why you can now see  Ball-E with a tall structure. Today we are going to buy a bigger ball to make new tests, it should be easier for the robot to keep its balance with this one.

We hope that in a few days, we will post videos of Ball-E standing up and not falling !


Matthieu Tardivon

Wifi, and PD algorithm

During the vacation, I had a hard time coding the wifi driver using the SPI interface. Hopefully, we had foreseen a serial interface in case of problem. Through the serial interface, typing the command AT+SPICONF=0, 0 (taken from the reference manual) gave us the answer ERROR: INVALID INPUT. Therefore, we concluded that it must be the firmware of the Wifi module that doesn’t handle the SPI interface. However, to download a new firmware, I had to firm a NonDisclosure Agreement and send it to Gainspan and fortunately they answered us quite fast and we now have access to all the firmwares available. Today’s objective is to flash the Gainspan module and code the Wifi driver through the SPI interface.

While I was waiting for Gainspan’s answer, I studied the PD algorithm in order to control Ball-E’s balance and I coded a function that should (if I didn’t make any mistake) make Ball-E keep its balance. We will only be able to test it on Wednesday when we receive the external motor control card.

Matthieu Tardivon

Our Gumstix is working on our own expansion board :)

That’s it, after some problems with the power supply and the SYSEN signal, our Gumstix is finally working on our expansion board and we succeed to ssh through the wifi on it.


Now we have to make work the gpio communication between the gumstix and the fpga (mainly for the jtag) to validate the proper functionning of the board and the fpga. Then we will try to hack the gpmc protocol to make it work without the CS (next to our nCS0 issue).


Ball-E’s new PSSCs

Through yesterday’s presentation and teachers’ comments, we have defined our new Project Specific Success Criteria.

Here they are :

Work Manager Deadline
Kalman filter working Otilia 04/24/2012
Complementary filter working Pierre-Hugues 04/24/2012
ADC to measure battery level working Scott 04/28/2012
Zigbee working Otilia 04/28/2012
Wi-fi working Matthieu 04/24/2012
H bridges Pierre-Hugues 04/23/2012
Motors’ piloting Pierre-Hugues 04/24/2012
Fixing PCB/IMU/Batteries Matthieu 04/25/2012
Cooling circuit Mattthieu 04/25/2012
Ball-E is standing Scott 04/27/2012
Ball-E moves the way we want Scott 05/02/2012
We can pilot Ball-E with an Android smartphone Matthieu 05/04/2012

Yesterday, I also managed to make the leds blink on our Ball-E board, let’s begin the Wi-fi !

Matthieu Tardivon

SaMora’s PCB


This week, I worked on the basis station’s PCB design. It’s difficult because I had many compatibility problems. We will not make the captors’s PCBs. So, our basis station should be compatible. For exemple, I should choose the transceiver CAN in term of theses on the captor’s stations. I had chosen wifi module : the GS1011MIE. (http://fr.farnell.com/gainspan/gs1011mie-smp/module-wifi-w-int-pa-ant-con/dp/2077376) and the ethernet module. I finished the pinout of STM32F207VET6. It’s very difficult to choose goods components but it’s very interesting because I can see little differences between two components and I try to see why one is more adapted than each others.

The next week I will try to route the PCB.

Best regards,

Guillaume for SaMoRa team

Rose Ace : My computer is running at 1000rpm

Today we make an experiment with the Gumstix. Our problem was to know if in turning at 1000rpm in a ventilator the WiFi will work correctly.

The first was to get a wireless power source to the Gumstix.

We got a lot of problems with that. First of all, the power connector of our Tobi expansion board is damaged (thanks to Copterix :o ) which cause a lot of reboot at any movement… We solved this with a lot of gaffer.

Secondly our hacked connector (with sticky tape) for the battery was not very well either and caused some trouble. Thanks to the PACT project which order a lot more than necessary 9V battery connector we improved our power line.

And last problem for the power, our board was rebooting in loop before we had a chance to login in… Simple problem but hard to guess, our battery didn’t deliver enough current. It was easily solved with a second battery in parallel.

Now, add a lot of gaffer to secure into place the batteries, the Gumstix and the antenna and we’re ready.

Of course, Murphy’s law requires, at this exact time the Gumstix decide to no longer properly boot and the WiFi to stop working. But with a little of black magic that finally worked and we have done our tests.


Our ventilator was missing of power and can’t get to its maximum speed (~1100rpm) with our board mounted on it (we could do better with a better balancing of the weight). But at the speed that we reach we succeed to had no loss of bandwidth (to confirm with a faster ventilator) which is a good news.

The bad news is that even placed on a table at 20cm from the computer we can’t do better than 1.5MB/s of transfer rate in WiFi (and 3MB/s in ethernet…) which is some kind of disappointing.