
OldBotBuilder
USA
Asked
— Edited
@d.cochran, @DJ Sures What effort, software development, or application(s) would be required to add the "Robots That Learn" capability like that of the braincorporation's eyeRover? Ref: http://www.braincorporation.com/products/
@MovieMaker ... The Lowe's robot you speak of is not the type of robot they are talking about here... Although it is quite impressive it is not a learning robot in the true sense of the word... It has the database of the store's inventory, multi languages, and ability to answer simple questions programed into it... It can recognize objects and read bar codes... It uses this info to take the customer to the isle that the product is in... It has no ability to learn, it is just executing the programmer's code. The only way it can learn something new is if that information is added to it's code or database by the programmer...
What would make the Lowe's robot off the chart impressive is it did have AI built in... One example would be a customer coming into the store asking the Lowe's robot a question. The Lowe's robot immediately recognizes (facial recognition) that the same customer was in the store a month ago looking for a lawnmower part... The bot then asks the customer if he needs more lawnmower parts and even calls the customer by name (because of the previous conversation a month ago with the customer)...... That would be impressive... and that would be a form of AI...
I couldn't agree more.
Jarvis learns, the programming behind it is extremely simple. Using data stored from "sensors" (for want of a better word, perhaps feedback is better?) plus looking up other data from various online resources he can, and does, learn.
Example: Jarvis was aware that I have Breaking Bad in my library, he was aware I watched each episode and Seasons 1 to 3 twice (rewatching it again at the moment) and all others at least once. He checked for similar programs and as a result I found Better Call Saul was automatically added to my library, downloaded and given a place in the priority list for new/unwatched TV shows.
Sure that's media/entertainment based but the principals can be used for anything. Use existing data plus resources which already exist to determine some autonomous actions. In this example he checked for similar TV shows to what I have watched. The same applies for movies and music.
I do have plans to alter this so if something is added by Jarvis and I do not watch or listen to it then it's classed as a bad choice. So, if in the above example, if Better Call Saul wasn't being watched or if only the first few episodes were watched he would learn not to continue downloading/recording. If I suddenly did start watching it again he would learn and acquire the missing episodes.
"Learning", as far as a robot is concerned is data storage and a string of questions to come to a decision. The more data held the more accurate the response.
I also agree that short demo videos are smoke and mirrors and it's not difficult to make something look it's better than it actually is. For example, Anthony's XLR-one is shown conversing with Anthony in his kickstarter video, we know Anthony pre-recorded and altered XLR-One's voice rather than using TTS but it looks as though the robot has personality and reacts to conversation when that's not exactly correct.
Jarvis is the subject of a lot of emails asking how real he is, along with comments and emails stating it's all fake (I assure you it isn't other than the pheromone sensor video). It works both ways. Although, if I was to use smoke and mirrors and short demo videos of scripted actions I could blow minds.
The lowes bot is cool, but they are not currently going far enough with the data.
A data cube is a multidimensional database that aggrigates multiple facts with multiple dimensions into a object that can be quickly queried. It's been around for 20+ years but because of the huge amount of data now being stored, especially demographic and historical data and the processing power of computers in the past 10 years or so, data modeling has become far more popular. Online Analytical Processing (OLAP) (and not online like the internet but online as in readily available) is worth Googleing. It allows users to quickly query a data cube for aggrigate information based on fact and dimension data of a data cube. It would be used to give a sales manager the ability to see something like sales amounts b y employee over the last quarter and quickly go to sales amounts over the last month or week by employees then move to by store and then to by Region. Then the sales manager could compare that to the demographic data (also in the cube) in that region or to natural disasters (also in the cube) in a region. Then they could take that and compare it to....... All of this would be done without the involvement of a computer guy other than him making sure the data is available.
I have used this process in the past to successfully predict the number of bankruptcies that will be filed in the U.S. at a 87% or so accuracy rate. The best previous attempts were done at about a 50% accuracy rate. I have also used data modeling to predict sales based on marketing campaign for a company that sells insurance via mail. We identified who would be the most likely to accept the offer and what the conditions were that would be the most favorable. We reduced the marketing campaign by 1/2 (costing 1/2 of the money to perform) and increased sales by about 150%. This completely changed the way this business marketed its product.
The two industries using this technology the most are sports (when trying to pick their next superstar) and casinos (tracking what you do while in a casino).
Now, take this to robotics. The robot could store its sensor readings while trying to do specific tasks. This data could be loaded into a cube with a time or attempt dimension. It would quickly be able to see which attempts were more successful and use those attempts as a base, and then try different things, storing the results. These would be loaded into the cube and the process would continue until the robot has a success rating for an attempt of above a certain level. The key is to quickly be able to identify what is a fail and what is a success. By aggregating this data, the robot can quickly access what the condition was and how it successfully overcame the condition.
There is work being done on self aware robots also. These robots determine what their makeup is and then use this makeup to figure out how to move currently. They make attempts at moving and then store the data based on that attempt. The above paragraph is pretty much how they determine what to do to make their next attempt. This is low level but took someone writing the application that looks at the data and makes determinations based on that data.
Again Rich that is higher level learning. Try teaching a robot how to recognize a blue ball in different lighting conditions and distances in a cluttered room and then move towards it and pick it up.
It would take a PHD student a few years to write the code and build a system that may or may not come close. After all that work place something new in the room like a chair and that's another couple of years worth of work.
The holy grail is to find an algorithm that would be able to do what nature has accomplished.
I agree. I don't agree with your time scales nor the qualification requirements because I am confident that a high school drop out like myself or DJ (I believe he also dropped out, if you didn't please accept my apologies) could achieve such a result in less time and without any additional letters after our names our certificates on our walls but I agree it would be a lot more work than the higher level learning I described.
@Rich LOL High School drop out... Wait, I am one of those too. Glad to see I am in good company.
It would be great to have a team enter the Nasa Sample Return Robot Challenge.
This is the fourth annual running of the SRRC which takes place in a large grass field (80,000 square meters) near the campus of the Worcester Polytechnic Institute (WPI) in Worcester, Massachusetts. Scattered throughout the field are a number of samples that team robots must find, pick up, and store on board the robot. Once the robot has stored as many of these samples as possible within a 2 hour window, it must return to the home platform.
NasaSampleReturnChallenge.pdf
The competition sounds cool. I do have a problem with such competitions in that they are too limiting. A robot that does one thing or is programmed for one purpose is too limiting to the imagination. I understand why they do this. I just dont like it. A teacher at the school that I help has a son who was on the mars rover project. I would love to sit down with him one day and talk robots but the opportunity hasn't presented itself yet. Maybe one day.