Date: Fri, 3 Mar 2006 00:42:22 -0600 (CST) Subject: robot depends on low bandwidth vision X-UID: 140 Here are the sensors on the robot. Update frequency Drift Accuracy IR distance measurement 20 Hz none low single axis piezo rate gyro 70 Hz high high front wheel position potentiometer 70 Hz none low GPS receiver 1 Hz none low video from webcams 1 Hz ? depends depends The two big problems for a field robot are: 1. Obstacle Avoidance The range on the IR distance sensors is only about 1.5 meters. They are really only useful at a walking speed. That means the robot is heavily reliant on the webcams to detect obstacles. 2. Localization The robot lacks an IMU (inertial measurement unit). The combination of rate gyro and wheel position potentiometer has high drift. Non-differential GPS has no drift but poor accuracy (perhaps 5 meter resolution). To stay on a road, high accuracy is required. So again the webcams are crucial. There are three main classes of vision I know of. 1. Optic Flow The Lucas-Kanade optic flow method relies on a local linearity assumption. The inner product between the velocity flow vector and the image intensity gradient should equal the negative of the image intensity change in time. This actually makes sense if you visualize a moving edge in an image. As the frame rate of the webcams is low due to image capture and computational limits, optic flow will only work where the image isn't changing very much. If the robot is driving in a straight line, that means anything to the sides and nearby will be moving too quickly for the local linearity assumption to hold. I'm not sure what happens to the computed flow field in these areas. Depth discrimination and looming may not work. 2. Stereo Correlation In theory, I believe this is a convolution between the left and right images. I'm not sure how this is done in a practical sense. I know it is computationally expensive. I need to read more about this. 3. Feature Recognition This may involve edge detection or color segmentation on voxels. It may involve a tree based decomposition of the image. I haven't read anything about this yet. I know it is a traditionally difficult AI problem. So given that the robot depends on vision, how are the three vision modalities above useful? 1. Obstacle Avoidance - optic flow, stereo correlation 2. Localization - feature recognition If the robot is able to drive at high speed on a course, it will be amazing. The sensor and computer hardware is wrong. It really needs one to two orders of magnitude more capability. I still feel it is possible with clever design. I am inspired by projects such as kkrieger (first person shooter that looks amazing yet fits in 96 KB) which do the seemingly impossible. The two control systems books I have are: Linear Control Systems by Melsa and Schultz, 1969 Feedback Control of Dynamic Systems by Franklin, Powell, Emami-Naeini, 1991 I find that the books complement one another quite well. The first book emphasizes matrix methods but as the microprocessor had not been invented yet, does everything with the Laplace transform and transfer functions. The second book is modern and covers both frequency and time domain methods. The first book is a pre-requisite to the second (at least for me). What I'm getting out of them is how a combination of open and closed loop control is necessary and the tradeoffs that result in the system as a whole. A good example is a laser guided smart bomb. When dropped, it has three phases in the following order. 1. dumb phase after dropped, just like an iron bomb 2. actively guided by homing in on PCM laser designated target 3. terminal glide after lock achieved, no more adjustments possible If you ever saw or played the old Atari video game Missile Command, it makes you think that smart bombs home in to a target all the way down. That's not true in real life (at least for laser guidance, I don't know about GPS guidance such as JDAM). They are only smart part of the way. So the laser guided smart bomb uses has at best open loop control during phase 1 (aircraft computer computes a solution and releases the bomb), closed loop control during phase 2 (feedback from seeker locked on to PCM laser spot), and is uncontrolled during phase 3 (control surfaces lock in place and bomb just glides down into target). My robot will also have a combination of these three phases at different times. The hardware is so low specification that it can not always be in active control of itself. This is reality. I've been attending the Dallas robot club. All autonomous robots that I've seen there are in closed loop control at all times. Moreover, high feedback gain with low system bandwidth is ok as they move slowly (usually inches per second, not feet). What makes my robot unusual is the high speed capability. That makes it hard to control. This is why the DARPA Grand Challenge robots tend to have very expensive sensor suites. They require high bandwidth in the control system. One more thing. I just read tonight about "delayed differential equations" or DDEs. If you imagine that feedback loops might be delayed in time, then it's easy to see how this can happen. Everyone has heard of ODEs (ordinary differential equations) and PDEs (partial differential equations). ODEs have a nice theory developed around them for linear equations at least. PDEs have a less nice theory that mostly has qualitative results about shock waves (Peter Lax's work). As I can't find much that is very firm about DDEs, I suspect it's worse than PDEs.