img/advanced_icon.jpg" style="width: 110px; height: 110px;" align="right" hspace="10">

Robots and Hardware Support

Robots


Robot NameTarget NameHigh Level Specs
Chiara
Chiara
TGT_CHIARA Six legs (with extra rotation in front right leg), pan/tilt camera, three link planar arm manipulator.
iRobot Create
Create
TGT_CREATE 2 wheels, bump and cliff sensors, I/O ports for additional expansion. Our configuration assumes use of a netbook with fixed webcam mounted above the cargo bay.
HandEye
HandEye
TGT_HANDEYE Three link planar arm with pan/tilt camera on a mast; offboard computation via USB cable.
Lynxmotion Arms
Lynxmotion SES Arm
TGT_LYNXARM6 6 degree of freedom manipulator (with wrist upgrade). Similarly configured arms require only a modification of kinematics measurements. Tekkotsu interface via serial cable.
Aibo ERS-7
ERS-7
TGT_ERS7 Four legs, Mobile camera, 2 microphones, LEDs, sensors, buttons
Aibo ERS-2xx
ERS-2xx
TGT_ERS210
TGT_ERS220
TGT_ERS2xx
Four legs, Mobile camera, 2 microphones, LEDs, sensors, buttons
Qwerk
(discontinued)
Qwerk
TGT_QWERK Generic platform target: 16 servos, 4 motors, 8 voltage sensors
Qwerkbot+
(discontinued)
Qwerkbot+
TGT_QBOTPLUS One of many Qwerk recipies: assumes a Pan/Tilt camera and 2 wheels (plus caster)
Add more — Here's how! Tekkotsu makes it easy to add new robot configurations!

Hardware Devices

Hardware DeviceInterfaceProvidesDescription
Logged Data File system (flat files, optional time index) Image and sensor playback Useful for debugging, provides consistent and repeatable input, as well as control over flow of time.
Cameras
Cameras
USB/Firewire Vision Support through video4linux or QuickTime interfaces
Dynamixel servos / Bioloid kits TTL or RS-485 Actuators with status feedback Features bus-based control to support daisy-chaining, and provides a variety of feedback, such as position, load, temperature, etc. (Also available in kits)
Lynxmotion SSC-32 serial port RC servo controller, with 4 input pins Supports up to 32 RC servos (e.g. Hitec or Futaba). Each of 4 inputs can queried for analog voltage level or digital high/low
Lynxmotion Pan/Tilt RC servos Basic camera articulation Kinematic measurements and inverse kinematics for the pan/tilt unit allow you to know where you are looking. Other RC servo interface pan/tilt units could easily be substituted with minor modification to kinematics measurements.
TeRK remote interface (discontinued) ICE (TCP/IP) Teleoperation Provides off-board computation with the Qwerk controller board.
Add more — Here's how! Tekkotsu's Hardware Abstraction Layer makes it easy to add support for new devices you have your eye on. :)

Algorithms

ModuleProvidesDescription
State Machines Behavior control architecture Tekkotsu's state machine separates actions (states) from decision making (transitions), encouraging reusability and rapid behavior design.
Kinematics Spatial computations for articulated systems Extending the roboop library, allows you to determine the robot's position in 3D space given its joint angles, and the reverse, finding joint angles to reach specific points and orientations.
Dual Coding,
Visual Routines
High level computer vision Computer vision approach inspired by cognitive psychology, provides methods for extracting and rendering shapes, and filters for pixel-based computation.
CMVision Color segmentation and blob detection Provides simplified vision processing by detecting regions of similar colors.
MapBuilder 2D mapping of local surroundings Builds on the Dual Coding module to project objects onto a bird's eye view of the robot's surroundings. (Assumes objects rest on a planar ground, or a known height above it).
Particle Filtering State estimation and tracking Often used for localization, attempts to use a stream of measurements (e.g. local surroundings) to determine the most likely point in a state space (e.g. global coordinates).
Motion Modeling Dead reckoning Provides estimation of position over short periods without using any feedback or sensing
Tone/Pitch Detection Basic Audion processing Provides recognition and notification of tones.
Zignor RNG Random number generator Pulls values from a gaussian distribution, very fast.
Listing of all classes Reference documentation for everything in the framework