I have an increasing number of friends and family members who use Facebook mainly as a vehicle for posting pictures of their toddlers. I try to counterbalance that by posting lots of pictures of Colin. Here’s Colin at 11 months old:
11 month old Colin!
Look at his cute little bluetooth radio!
I’m going to add more ultrasonic sensors soon, but this is what he looks like for now.
So far I’ve gotten him to avoid obstacles, follow walls, and I’m working on a PID motor control library. I’ll be doing a post with the technical details of motor control very soon. Stay tuned!
I got extremely lucky this week. First of all, the IEEE Conference on Robotics and Automation is in Seattle this year. Second, I managed to convince my manager at Boeing to let me attend! So, for the whole week I’m going to be attending lectures and workshops on advanced topics in robotics rather than going to my regular job. I seriously cannot articulate how thrilled I am about that. Also, just as a little bit of icing on the cake, the conference venue is a fifteen minute bike ride from my apartment. A whole week with no commutes and a lot learning and talking about robotics? Only one word applies: jackpot.
Dynamic Locomotion and Balancing of Humanoids:
I’ve only been through one day and it’s already pretty clear that most of this stuff is over my head right now. I spent the morning in a workshop titled “Dynamic Locomotion and Balancing of Humanoids.” I was able to follow along with the high-level concepts like the discussion of the differences in stability and efficiency of different movement strategies but whenever a presenter tried to explain the particulars of the extended Kalman filter they used for torque control of their ankle-joint motors my eyes glazed over.
I found the discussion of the inverted pendulum and linear inverted pendulum models for walking to be pretty interesting. Both models represent the robot as an inverted pendulum that repeatedly falls forward, switches its foot position to catch itself and then falling forward again. The main difference is, in the inverted pendulum model (IPM) the robot’s center of mass moves up and down. In the linear inverted pendulum model (LIPM) the robot’s center of mass is nearly stationary in the vertical direction. LIPM is stable but it’s not as energy efficient as IPM. ASIMO’s gait is a good example of LIPM. The video below shows it around the 0:30 mark.
Mobile Manipulators for Manufacturing:
One of my afternoon workshops, “Mobile Manipulators for Manufacturing,” gave me a much greater appreciation for the non-technical roadblocks to wide deployment of robotics. For robots to work effectively with humans, they need to be able to map and navigate their environment, recognize and manipulate objects, and interact with humans in a safe and predictable way.
Although none of these technical problems have really been solved to the extent required for large-scale use of autonomous robots in the workplace, there are other problems that present bigger difficulties. For instance, there are no unified standards for robot programming, communication, or interaction with humans. This makes plug-and-play robotics solutions impossible. Every time a workplace, be it an automobile factory or a hospital, wants to integrate robots into their workflow they need to get a custom designed system. This is not only expensive in terms of setup cost but it makes maintaining, reconfiguring, and adapting the system to new conditions needlessly difficult. You can’t just call up customer support when you have a problem, you need someone who is intimately familiar with your system.
There are other safety and regulatory hurdles for mobile industrial robots to clear before they are widely implemented but, to make a long story short, the non-technical problems make the technical ones look simple. Technical problems have definite solutions. Regulatory and business problems don’t.
On my first day at the ICRA I learned more about the existence of a whole range of topics I wasn’t previously aware of than I learned about the particulars of any one topic. I’m expanding my realm of “things I know I don’t know” more than I am expanding the things I know.
There’s so much that goes into a seemingly simple task like making a robot walk like a human or recognize and pick up an everyday object. This is what I love about computer programming in general though: to teach a robot or computer even the most simple task requires an incredible understanding of the task itself.