View Single Post
  #8   Spotlight this post!  
Unread 25-08-2015, 10:35
gblake's Avatar
gblake gblake is offline
6th Gear Developer; Mentor
AKA: Blake Ross
no team (6th Gear)
Team Role: Mentor
 
Join Date: May 2006
Rookie Year: 2006
Location: Virginia
Posts: 1,940
gblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond repute
Re: Machine Learning for Autonomous Robot Actions

Quote:
Originally Posted by x86_4819 View Post
...
We then went to a competition to find another team with a routine almost identical in procedure, but with an extra (almost sloppy) skid here and there, making them fast enough to complete it in time.

My hope is that a machine learning algorithm would be able to optimize autonomous routines to ensure we had the best run possible with a given robot, including finding solutions that a hand-written autonomous may not have. (Including a well-timed skid)
...
In situations like this, I generally bet on the biological neural nets (the wetware) instead of the silicon nets, because the problem space is usually more complex than anything a reasonable (in an FRC time and trouble sense of the word "reasonable") silicon net (or other machine learning) is able to properly digest and respond to.

Whatever is given control of the robot does need to incorporate the right level of sophistication. What gets coded by hand has the possibility of adapting fairly quickly (but not magically) to include as much sophistication as is needed. The sophistication a machine learning algorithm includes will never exceed some fixed mash-up (created during training) of that algorithm's fixed inputs. That mash-up might surprise us, but it will always be limited until some wetware gets involved to expand the mash-up's limits.

In the sort-of simple case you described, explore the many ways you could have changed your hand-coded software, before throwing in the towel and betting on machine-learning techniques in the future. Ask yourself what a machine-learning algorithm could have incorporated, and ask yourself how many other ways there are to incorporate the same things. That exploration will help you know when, and when not, to deploy more machine learning.

For high-level decision-making, your wetware neural net is the more sophisticated one. Use it wisely to decide what to encode and deploy in the software.

Blake
PS: This thought came to me a few minutes ago. A good frame of mind for FRC robot designers might be to think of themselves as someone trying to build an excellent mechanical turk (the original one, not the recent Google thing). The result would have plenty of useful automation, but wouldn't try to force fit automation everywhere. That result would make full use of the processor(s)/method(s) best suited for each task; and some of those would be biological.
__________________
Blake Ross, For emailing me, in the verizon.net domain, I am blake
VRC Team Mentor, FTC volunteer, 5th Gear Developer, Husband, Father, Triangle Fraternity Alumnus (ky 76), U Ky BSEE, Tau Beta Pi, Eta Kappa Nu, Kentucky Colonel
Words/phrases I avoid: basis, mitigate, leveraging, transitioning, impact (instead of affect/effect), facilitate, programmatic, problematic, issue (instead of problem), latency (instead of delay), dependency (instead of prerequisite), connectivity, usage & utilize (instead of use), downed, functionality, functional, power on, descore, alumni (instead of alumnus/alumna), the enterprise, methodology, nomenclature, form factor (instead of size or shape), competency, modality, provided(with), provision(ing), irregardless/irrespective, signage, colorized, pulsating, ideate

Last edited by gblake : 25-08-2015 at 12:48.