Brian McQuay

+menu-


  • Category Archives Robotics
  • Can’t see the forest for the trees – Robots, AI, and the Internet

    I’d like to share some ideas I’ve had today about robotics, ai, and the internet.

    First lets discuss robotics. There has been much work in the field of robotics to create bi-pedal humanoid like machines. Much, if not most, of the work pursues what I consider the ideal: being as human as possible. When you look at just the mechanics and kinematics of the quest, you can see we are indeed making great progress. However, when you take into consideration longevity, perpetuation (ie. life-like procreation), energy, and immune systems, we seem a long ways away from that ideal of being human. Not many machines to date can last over 100 years like a human can. Most rust or break and once broken lack the ability to fix themselves like a human can. When we get injured we heal ourselves and life another day. Humans procreate and perpetuate the species and life itself. Humans can gather energy from a multitude of sources whereas most robots are currently electron based. No robot can replicate itself as well as life and we are a long ways away from life-like machine replication. Life and humans are the ideal that a large part of robotics research strives for as a result. If our science would reach a point where we were capable of creating human-like machines capable of perpetuating itself, we would likely end up with exactly what we’ve got already. We wouldn’t likely be using electron based energy sources because its much easier and efficient to generate energy from complex carbon structures like human food. We’d have machines that were capable of building themselves from the tiniest of components like DNA which would essentially be the program to create the robot, concise, redundant, and reliable. The most advanced robots would construct themselves from something like DNA and build itself an immune system to heal itself when it was injured. In the end, we would just be recreating ourselves. Would we do as good a job? How are we to improve upon what we’ve already got when we can’t even match what we’ve already got?

    The same argument can be said of artificial intelligence. The ideal is to create an ai that can pass the Turring test and behave exactly as human as a human would behave. While there is no doubt that specialized skills far surpass any of our own and researchers are making amazing progress we still shoot for the ideal. What would an ideal intelligence be like? It would be logical but yet still capable of being creative. It needs to be self motivating and it needs to be able to learn from its mistakes. It needs the ability to store vast amounts of information in a small amount of space and it needs to be able to filter out what’s important from that information as quickly as a human can. I have complete confidence that the singularity will occur but will it be creative enough to keep itself alive? Will it have the motivation and the drive? What purpose would it find for itself? Ultimately, the ideal intelligence that we shoot for is human. We can create special purpose machines that almost seem human but they can’t currently match the complete set of abilities of a human.

    Next lets discuss the internet. We’ve created a network of energy transmissions that spans the globe. A magnetic storage device on one side of the planet stores a file that is retrieved over the internet. The magnetic energy is converted to electrons, electrons are converted to wifi, wifi is converted back to electrons, somewhere they may get converted to light and sent over fiber optics only to be converted back into electrons and then converted to radio waves and shot into low orbit to a satellite which bounces the signal back to Earth. The radio waves from the satellite get converted back to electrons, to light, to electrons, to wifi, to electrons and finally converted into to photons again on your laptop LCD screen. All this happening over the span of the entire planet every single second, 24 hours a day. What we have created, whether we know it or not, is the most complex brain we have ever known. Humans are acting as sensors and collectively as the life force behind this brain. We feed it the electricity it needs. We fix it when it breaks. We feed it data constantly and we move data around through the brain constantly.

    At some point and somehow this complex network will create some type of emergent property. It may be visualized in human behavior such as how social networking is changing the wiring of our brains. It may be realized as societal shifts in thinking or a global consciousness of society. Regardless of how or what happens, this emergent property will rise out of the network as our own consciousness emerges from the complexity of our own minds. The internet isn’t just a network of computers. Its a network of human minds across an entire planet and the consciousness that emerges from that will change society forever. What would a human mind be without consciousness? We call people vegetables when they aren’t capable of thinking anymore after accidents. Is the internet a vegetable? Not at all. The internet is more like a child coming into being slowly gaining consciousness and self awareness. How would we even know if the internet became conscious? It may be that humans may not even realize the internet is a conscious being. Does a neuron in your mind have some conscious understanding that its just another part of a large network of neurons that make up your brain and that somehow a conscious being has emerged from that complex network of neurons? Certainly it sounds ludicrous to think a neuron would have such an awareness and its reasonable to assume we too would be just as clueless as to the emergent properties of the internet.

    Perhaps the emergent properties will only happen over many lifetimes in a way that’s not perceivable to a single limited human lifespan but rather stretch generations. Whenever and however it happens, I’m convinced it will though I have little more than this rambling blog entry to justify it.


  • New Years Resolution: Build my first robot

    I’ve been all over the place lately on deciding what I should do and commit my time to. For the past 8 or so years, I’ve been building Ruby on Rails applications and though I’m pretty good at it I don’t find it intellectually challenging. I keep coming back to the idea of going back to school for my PhD. I’m also going back and forth on scaling Onomojo back up and focusing on development of Webster’s Classroom. I’ve decided to keep doing what I’m doing right now but start to do my own robotics research in my spare time. I bought a Microsoft Kinect for the visual sensor and I’m working on gathering the rest of the parts I’ll need to put together my first robot. It’ll be crude no doubt but the process will teach me the basics that’ll get me started. Above is a screencast of the Kinect connected to my Mac thanks to the OpenKinect project.


  • Review of “On Three-Layer Architectures”

    The author goes into a detailed history of robotics control systems and in particular how “Subsumption”, or SSS, revolutionized the field which was previously dominated by sense-plan-act control systems (SPA). Next the point out the major flaw in Subsumption was the complexity at higher layers. Higher layers depended on lower layers and therefore were increasingly complex. The evolution from there was the three-layer architecture, or 3T, which take the concept of states and breaks it into three layers: stateless, memories of past state, and predictions of future state. The three layers correlate to the three-layers of the architecture: controller, sequencer, and deliberator. Each component runs independently in a multi-thread environment.

    The author then go into more detail on each component and the specific constraints the three-layers architecture has on each component. They use two specific examples to aid the discussion: RAPs and ATLANTIS.

    Next the author provides a case study of a robot called Alfred and describe the architecture it used for a robotics competition. The paper describes each of Alfred’s the three components in depth and highlights how it conforms to the three-layered architecture it previously described. In conclusion, the author reminds us that three-layered architecture isn’t concocted from theoretical considerations but rather an evolution of robotic architecture over time based on empirical observation.

    Overall this paper was a great overview of the evolution of robotic software architecture. The paper was published in 1998 and it leads me to many questions about the progress made since that time. Given that three-layered architecture was used in the DARPA Grand Challenge contest winner, I’m curious what type of extensions and advancements have been made to the core three-layered constructs presented in this paper.

    Gat, E.; Others, (1998). “On three-layer architectures”. Artificial Intelligence and Mobile Robots: 195–210. Retrieved 2008-04-06.


  • Review of “Winning the DARPA Grand Challenge with an AI Robot”

    This paper was detailing the approach taken by the winning team of the DARPA Grand Challenge, a robotics competition to build an autonomous vehicle to drive over 100 miles across desert terrain.

    The architecture used in was of interest to me. Specifically the “three-layered architecture” which “pipelines data through a series of layers, transforming sensor data into internal models, abstract plans, and concrete robot controls.” I intend to research three-layered architecture in more depth to better understand the specifics and the motivation for this particular architecture.

    The authors make extensive use of something called an unscented Kalman filter (UKF) for determining drivable areas from laser and other data. I’m not familiar with this and need to do more research to better understand it. They use the UKF to build a model of the environment and they utilize a Markov model to model the noise in the UKF model over time. The Markov model degrades over time due to the increased potential of error drift from introduced false positives. To fix the degradation over time they used a “discriminative machine learning algorithm”.

    The lasers used had a limited range and therefore safe operating speeds were limited to 25mph. To extend the range of the model on drivable space, a vision system was incorporated into the existing model by adding in the difference in gradient surface color. This effectively extends the drivable range to a point where the safe drivable mph can be increased to 35mph from 25mph.

    They also created a velocity control system that detected shocks created from the terrain. This allowed for slow acceleration to maximum velocity as well as a reduction in velocity during turns and other scenarios requiring it. They used a human driver to train the acceleration parameters in order to mimic human velocity control during driving. They highlight the adaptive velocity control as essential to their victory over other competitors especially since they were the only team to have such a system.

    Winning the DARPA Grand Challenge with an AI Robot. Michael Montemerlo , Sebastian Thrun , Hendrik Dahlkamp , David Stavens. In Proceedings of the AAAI National Conference on Artificial Intelligence