230 likes | 238 Views
Explore the crucial roles of software in robot control, from sensory input interpretation to motion generation, with a focus on challenges and applications in various environments.
E N D
Robot Control Software: Applications and Challenges Presented by Jay Hatcher
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:
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