Presented by Jay Hatcher Software: Applications and Challenges
The Role of Software Interpretation of sensory input Internal representation of the outside world Reaction to external stimuli Prediction/Anticipation of events Resource management Motion generation
The Role of Software Interpretation of sensory input –Vision Selecting meaningful objects from sensory data Tracking object motion over time –Tactile data Detecting collisions Measuring pressure and joint force Traction and Friction measurement –Auditory input Selecting relevant sound events Information content
The Role of Software Internal representation of the outside world –Mapping relative or absolute position over time –Mapping of significant changes to input over time –Memory of actions taken and the changes in sensory data that resulted –Memory of unanticipated obstacles
The Role of Software Reaction to external stimuli –How best to handle foreseen obstacles –How best to handle unforeseen obstacles –How best to react to interesting data –How best to look for interesting data if none is available –Response to partial hardware failure –Response to external commands
The Role of Software Prediction/Anticipation of events –Is input data converging to a known configuration that requires a response? –Obstacle avoidance –Obstacle navigation –Estimated time to goal condition –Synchronization
The Role of Software Resource management –Fuel/Power levels –Load –Power efficiency –Heat production
The Role of Software Motion generation –Wheels/Treads Maintaining speed Turning –Legs 1-Legged Motion (Snake/Caterpillar) 2-Legged Motion (Bipedal human/bird) 4-Legged Motion (Pack Animals) 6-Legged Motion (Insect)
M-TRAN II Modular Robot Uses genetic algorithms to both reconfigure itself and design motions for the current configuration Modular, reconfigurable design useful in hazardous, unstructured, or unknown environments
M-TRAN II Reconfiguration Each configuration has a unique sequence of motor positions and connections
M-TRAN II Reconfiguration Each segment contains a gene for each particular configuration that stores the sequence of motions and connections necessary to perform its role in the reconfiguration process
M-TRAN II Reconfiguration Crossover and mutation are performed on the sequences once performance is evaluated by the simulation software
M-TRAN II Reconfiguration Crossover and mutation are performed on the sequences once performance is evaluated by the simulation software
M-TRAN II Motion Motion is generated by modeling each segment as a neural oscillator (like the nerves controlling muscles) Motion is evolved for each configuration and each generation evaluated by a fitness function:
4 Legged Motion Pre-evolution
4 Legged Motion after Evolution
Caterpillar
Sidewinder
Wheel
Spider
Motion and Reconfiguration
Walking Around
References and Useful Links M-TRAN II Main Page M-TRAN II Videos M-TRAN II Paper M-TRAN III Information News Article – “Robot runs like humans” Stage 2.0: Open source 2D robot sim MindRover Lego Mindstorm NXT