<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>robots.net blog for jbm</title>
    <link>http://robots.net/person/jbm/</link>
    <description>robots.net blog for jbm</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sat, 5 Jul 2008 04:29:55 GMT</pubDate>
    <item>
      <pubDate>Sat, 20 Sep 2003 19:22:00 GMT</pubDate>
      <title>20 Sep 2003</title>
      <link>http://robots.net/person/jbm/diary.html?start=1</link>
      <guid>http://robots.net/person/jbm/diary.html?start=1</guid>
      <description>Almost a year now from my first an last diary entry...&lt;br&gt;&lt;br&gt;

&lt;p&gt; The "coupe de France de robotique" (French robotic cup) took
place in may, with more than 189 teams registered. Botzilla
was among the 144 qualified, and after the fourth day and we
ranked 49th. Some (non-technical) pictures can be seen &lt;a
href="http://busy.lab.free.fr/geekfun/botzilla2003.html"&gt;here&lt;/a&gt;.
The official site for the 2003 competition is &lt;a
href="http://www.planete-sciences.org/robot/coupe2003/"&gt;here&lt;/a&gt;
(in French).&lt;br&gt;&lt;br&gt;

&lt;p&gt; It still hurt to say it, but though this was a success for
the team this was a failure for me: we had to completely
change our strategy 1 week before the competition, relying
entirely on a PIC16F877 which original purpose was only to
manage the propulsion wheels. The plan was to use a 68332
board running a real-time executive for the high level code,
but though everything was OK when running in RAM, I failed
to make in run in flash, thus preventing the robot to run
autonomously. I obviously grossly underestimated the
difficulty in making my BSP running from flash, starting to
work about it something like 2 weeks before the competition
after almost a year of work on it (but work in &lt;i&gt;RAM!&lt;/i&gt;).
I must have messed up with the chip select settings...
Stupid me. Well, anyhow a time came when we had to make a
decision and we backed-up on a state machine on the PIC.&lt;br&gt;&lt;br&gt;

&lt;p&gt; My 68332 board stood in its box since we came back from the
competition more than 4 month ago until today. Sigh.&lt;br&gt;&lt;br&gt;

&lt;p&gt; On the positive side, as usual, much was learned. You can
still do a lot with an 8 bit thingy like a PIC, though if it
was to be done again I would vote for an Atmel AVR (the lack
of real stack on Microchip is a very real limitation). On
the 68332, I played with the TPU, a kind of coprocessor
dedicated to time-related function like PWM and such. The
trick is that you can re-program the microcode of this TPU
in order to use or create the functions that fit your
application need. I used some microcode from &lt;a
href="http://home.foni.net/~arno-morbach/tpu.htm"&gt;Arno
Morbach&lt;/a&gt; providing I2C capabilities to the TPU. I
assembled this on Linux using &lt;a
href="http://www.eslave.net/tpu/source/source.shtml#GPLTools"&gt;TAS&lt;/a&gt;,
Zolt&#xE1;n K&#xF3;csi's GPL TPU assembler. Then I glued all this with
RTEMS and the TPU lib from the &lt;a
href="http://sourceforge.net/projects/motorobots/"&gt;motorobots&lt;/a&gt;
project. And though quite beta, all this actually worked.
The TPU-I2C function was previously know to work with serial
EEPROM, I can tell that I had it talk with some PCF8574.&lt;br&gt;&lt;br&gt;

&lt;p&gt; I didn't do any kind of serious (non-professional) work this
summer. Robotic hacking is a winter sport.&lt;br&gt;&lt;br&gt;

&lt;p&gt; BTW, if by looking at botzilla's picture you wonder how we
managed to get &lt;a
href="http://busy.lab.free.fr/geekfun/botzilla2003/work_03.jpg"&gt;a
round shape out of wood&lt;/a&gt;: this is a special plywood,
called "souplex" (in French at least). This is used for
curved furniture, like bars and such. You can find some at a
professional wood dealer.&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Wed, 23 Oct 2002 14:18:05 GMT</pubDate>
      <title>23 Oct 2002</title>
      <link>http://robots.net/person/jbm/diary.html?start=0</link>
      <guid>http://robots.net/person/jbm/diary.html?start=0</guid>
      <description>&lt;b&gt;Here is the longer story: how it started&lt;/b&gt;&lt;br&gt;
&lt;br&gt;
I'm a 0x24 years old French geek. I'm a software engineer 
in the embedded field with a background in industrial 
automation and electronics among other things. A &lt;a href="http://www.gnu.org/" &gt;GNU&lt;/a&gt;/Linux user since 97 I 
think, heavily since 99, mainly since 2000.&lt;br&gt;
&lt;br&gt;
During the summer of 2001, I looked for an embedded target 
to play with. My goals were:
&lt;ul&gt;
&lt;li&gt;to explore a classic but non-Intel architecture (my job 
involve Intel's CPU at a very low, architecture dependant 
level),
&lt;li&gt;to experiment GNU and OSS tools in an embedded 
development context, after a few interesting experiments 
with Linux kernel driver and RTLinux modules.
&lt;/ul&gt;
&lt;br&gt;
I chose a German made Motorola 68K board, the &lt;a href="http://www.elektronik.vhf.de/nf300/nf300.html" &gt;NF300&lt;/a&gt;. 
Designed in an &lt;a href="http://wwwsoft.nf.fh-
nuernberg.de/labs/mikrocomp/" &gt;academic setting&lt;/a&gt; for 
pedagogical purposes, it offered the ubiquitous and GNU-
supported 68K/CPU32 architecture with a good level of 
hardware documentation for a reasonable price. It also 
offers quite a few peripherals to play with without 
bothering adding custom-made hardware.&lt;br&gt;
&lt;br&gt;
I started scanning through the whole NF300 and Motorola 
documentation, played first with the delivered DOS tools, 
then build a cross-GCC tool chain from scratch on Linux and 
its BDM cross-debugger and... And then time passed but I 
still didn't have a realistic but challenging project to 
actually do something out of it.&lt;br&gt;
&lt;br&gt;
In the meantime my brother &lt;a href="http://robots.net/person/greg_m/" &gt;Gregoire&lt;/a&gt; became 
interested and this little board with the flashing LED 
sitting across my monitor. Working as a research engineer 
for the French National Geographic Institute, he's a geek 
too but in the scientific computing field. Dominique, a 
friend since 0x0f years was quite curious too. Dominique 
comes from electronic and happens to be good at mechanics 
too (though he would deny it) and yes, he can be described 
as a geek too.&lt;br&gt;
&lt;br&gt;
The three of us shared common interests and curiosity for 
each other's knowledge, and started to think of building 
something together. In the winter of 2001, we saw a small 
robotic competition. That was it. A robot. We could do one. 
We (are supposed to) have the skills.&lt;br&gt;
&lt;br&gt;
We wanted to have a "bill of contract for it". 
Requirements, deadline. We wanted rules, to have a clear 
goal and motivation. We needed a competition to provide 
these rules.&lt;br&gt;
&lt;br&gt;
I started to look for robot competitions in France or near 
Europe, and quickly realized (without much surprised) that 
there weren't much, and worse they were all for 
&lt;em&gt;students&lt;/em&gt;. We are not students. Sorry, not much we 
can do about that. The more interesting competition by far 
was the two competitions organized by the &lt;a href="http://www.anstj.org/index.html" &gt; ANSTJ&lt;/a&gt; 
(Association Nationale Sciences et Techniques Jeunesse = 
Youth Science and Technical non-profit Organization): the 
&lt;a href="http://www.anstj.org/robot/index.html" &gt; Coupe de 
France de Robotique (in French)&lt;/a&gt; and the &lt;a href="http://www.anstj.org/robot/concours/eurobot/garde_en.h
tml" &gt; Eurobot &lt;/a&gt;. These are in fact one contest in two, a 
national and a European, sharing the same rules. I 
contacted the organizing ANSTJ and was informed that, 
though not automatically guaranteed, non-students teams 
could &lt;em&gt;possibly&lt;/em&gt; compete, depending among other 
things on their input to the general and technical mood of 
the thing.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://botzilla.free.fr" &gt;The project&lt;/a&gt; was 
launched. I chose &lt;strong&gt;"botzilla"&lt;/strong&gt; as its name 
(though there are tons of *zillas out there that's a fun 
and easy to remember name).&lt;br&gt;
&lt;br&gt;
To be continued.&lt;br&gt;
&lt;br&gt;</description>
    </item>
  </channel>
</rss>
