recent changes to Tekkotsu
- Dear Tekkotsu User Community:
I'm writing to let you know about some important changes to Tekkotsu
and the Tekkotsu robotics curriculum for 2012.
1. No more dollar signs ($) in state machines.
We've simplified the state machine syntax so that the $ symbol is no
longer required as a first argument to node constructors. Where you
once wrote SpeechNode($,"Hello") you can now just write
SpeechNode("Hello"). This change is backward-compatible, so you don't
need to alter your existing code. But the labs and tutorials on the
Tekkotsu wiki have been updated to reflect the change. [Technical note:
we do give up some flexibility by eliminating the $, but it was
determined that the benefits from this simplification outweighed the
inconvenience of altering some obscure special cases where the $
requirement made a difference.]
2. Full resolution camera images.
Tekkotsu previously used half-resolution (320x240) camera images to
speed up vision processing, but as netbooks are now faster, we have
switched to full resolution images in order to improve the robot's
visual acuity. This means you'll be able to read AprilTags at greater
distances, and you'll be able to recognize lines and ellipses more
reliably. We are working on some speedups to partially counter the
increased processing cost. If you want to stick with half-resolution
images, you can modify the CameraResolutionX and CameraResolutionY
values in Shared/CommonInfo.h and, and the Resolution parameter in
3. New, more robust color threshold file.
We've developed a new color threshold file that supports fewer colors
(just red, blue, green, and black) but is much more robust to varying
lighting conditions. The new file in the project/ms/config directory
is called rgbk.tm, accompanied by rgbk.col. It is now the default
choice. The old threshold file is still available as
7general.tm/7general.col. To switch to a different threshold file,
edit both the .tm and .col file names in
project/ms/configt/tekkotsu.xml. You must restart the ControllerGUI
if you switch threshold files.
4. New labs on debugging with gdb, and on dual-coding vision.
I've created a new lab to teach students how to use the gdb debugger:
I'm also working on a series of new labs that cover dual-coding
vision. The first lab is nearly complete; you can see it here:
Two more are planned.
5. I've created a pair of aluminum paddles that a Create robot can use
to trap objects against its front bumper and push them around. Dave
Barnett has been developing code to allow the Create robot to push
objects using the Pilot and these paddles. A first version of this
code will be released soon.
To pick up these software changes, do a cvs update on your robots and
recompile Tekkotsu. I'll send out another announcement when the new
Pilot object pushing code is ready.