Anatomy of a Robot Part 4 pps

20 315 0
Anatomy of a Robot Part 4 pps

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

■ Nonlinear elements We have to realize that our model depends on a linear behavior of all the components. We expect a smooth performance all the way around. Between loose pieces (that might move free and then snap tight) and some “digital” elements (that are on-off), some jerky motion will occur. Try to minimize the effect of these components; we’ll look at nonlinear design in a while. ■ Too much overshoot Sometimes a system will move the robot too far and be unable to recover. Such a situation occurred in the introduction where a robot moved too far in one single motion and its limited “eye” was not given time to see that it passed the boundary where it was supposed to stop. Such a situation can occur if there is too much overshoot. One solution is to increase the damp- ing on the system. ■ Complex designs Often, the robot is much more complex than our second- order system. If it really is a third-order or higher system, take the time to try to simplify it. Look at the performance and look at the specifications. Let me give you an example of trouble brewing. Suppose we are trying to design a baseball robot. It has to run, catch, and throw. It might be able to run and catch at the same time, but it would be simpler to build a robot that would run under the ball, stop, and then catch it. Similarly, it would be simpler if the robot would stop running before it had to throw the ball. Granted, a human baseball player would never get to the majors playing like that. However, if the specifications and performance requirements can be relaxed ahead of time and if we can afford to have a clunky robot player, then our design will be much simple if you can partition the design. We then just separately design a runner, a catcher, and a thrower. We do not have to combine the designs and suffer the interactions that drive up complexity and threaten the stability of our design. Again, we repeat the old advice: Keep it simple. You laugh about robots playing baseball? Just keep your eyes on the minor leagues! See Figure 2-18 from http://home.twcny.rr.com/mgraser/ballpark.htm. So how do we stabilize a system? Several symptoms can occur. They’re easy to observe and correct: ■ Severe overshoot Sometimes overshoot can become very large. We can fix it by increasing the damping constant d (we’ll get to how that’s done soon). Refer to Figure 2-17. Changing v won’t affect the overshoot much. If changing doesn’t help, perhaps the robot is not following the model and we should determine why. ■ Severe ringing (the oscillations are causing problems) To fix this, we can increase the damping constant d. This will help decrease the oscillations sooner. If the oscillations are still objectionable, we must investigate why this is the case. 46 CHAPTER TWO 02_200256_CH02/Bergren 4/17/03 11:23 AM Page 46 If the robot is susceptible to oscillations at specific frequencies, consider altering v to a frequency that might work better inside the system. ■ Unknown oscillations Sometimes robots will just not follow the model and behave properly. That’s okay. Kids behave the same way and it’s all part of the joy of living. The result is that instabilities might develop with severe vibrations or even wild behavior. (This sounds more like my family by the minute.) With the kids, we can experiment with cutting down on the sugar. With robots, we can con- sider taking two actions: ■ Perform the actions mentioned earlier to get rid of severe ringing. ■ Look for design flaws in the mechanics and control system that would make it more complex than the second-order system we’re trying for. Look for places energy might be stored that we didn’t expect. Change the design to compensate for it. What happens when we take a second-order system and try to put it in a closed-loop feedback system? Well, consider the following closed-loop feedback control system (see Figure 2-19). Let’s assume the actuator is a second-order system such as the one we have studied. As we’ve seen, it will not react immediately to a step input function. It goes through some delay, a rise time, and then a settling time. Suppose we wildly put inputs into the CONTROL SYSTEMS 47 FIGURE 2-18 A baseball pitching robot trying for the Cyborg Young Award 02_200256_CH02/Bergren 4/17/03 11:23 AM Page 47 input signal. Since the actuator cannot respond right away, output signal d would not change right away. The error signal b would reflect our wild inputs. The actuator input would see a wildly fluctuating input as well. If our input signals fluctuated somewhere near the natural frequency, v, of the sytem, the output might actually ring out of phase with the input signal. This is exactly what happens when we oversteer a car. A car’s sus- pension can be modeled as a second order system where: ■ The mass is represented by the car itself. ■ The springs are in the suspension. ■ The damping friction is in the shock absorbers. If we’re driving a car and swing the wheel back and forth at just the wrong frequency, the car will weave back and forth opposite the way we’re steering and go out of control. Here’s an example where a second-order system is overcompensated by a human feedback control system. Although most cars are well designed, little can prevent us from operating them in a dangerous manner. For whatever reason, this flaw in the design of cars is left in. What is needed is a filter at the steering wheel that prevents the driver from making input that the car cannot execute. A good driver will not oversteer and does so by not jerking the wheel around too rapidly. In effect, a good driver filters his actions to eliminate high-frequency inputs. This prevents the car from going out of control. You can do the exact same thing with your control system by putting a high-frequency fil- ter on the input, ideally one that will attenuate input signals of a frequency higher than v/2. Since the the construction of filters is an art unto itself, it’s left to the reader to study the technology and implement the design. Now let’s tackle the third goal. HOW TO ALTER THE ROBOT’S DESIGN PARAMETERS We have already seen that altering v and d can substantially change the performance of the robot. Further, altering these parameters offers a reliable way to change just one type of behavior at a time without significantly disturbing the other behaviors. For instance, 48 CHAPTER TWO FIGURE 2-19 A second-order system used as the acutator in a closed-loop Actuator Gain = C Second-order system _ Feedback Output signal d + Input Signal a b Error signal 02_200256_CH02/Bergren 4/17/03 11:23 AM Page 48 altering d changes just the overshoot, with minimal changes to the rise time. Altering v changes just the ringing frequency with minimal changes to the overshoot. Here’s how to alter v and d: ■ Altering v ■ We know that 1/v 2 ϭ m/K. ■ v ϭ (K/m) 0.5 ■ To change v, change K or m or both. We can change K by putting a different spring in. A stiffer spring has a higher value of K. We can change m by alter- ing the mass of the robot. ■ Beware! ■ We know that 2 ϫ d/v ϭ B/K. ■ If we change v or K, then we must change B if we want to hold d constant. ■ Altering d ■ We know that 2 ϫ d/v ϭ B/K. ■ Given v is held constant, in order to change d , alter B if possible. Only alter K if we must. ■ Beware! ■ We know that 1/v 2 ϭ m/K. ■ If we change K, then change m to hold v constant. ■ Most of us are familiar with a particular way of altering d. Many older or used cars will exhibit a very bouncy suspension. When driven over a bumpy road, the car will bounce along and be difficult to control. The wheels will often leave the ground as the car bounces. Most experienced drivers will realize that the car needs new shock absorbers. But what exactly is happening here? The mass m of the car is not changing. The springs (spring constant K), installed at the factory near each wheel, have not changed. The shock absorbers have simply worn out. The shock absorbers look like tubes, about the size of a toddler’s baseball bat, and are generally found inside the coil spring of each wheel. These shock absorbers are filled with a viscuous fluid and provide a resistance to motion as the tires bounce over potholes. They exhibit a fluid friction coefficient of B. Unfortunately, the shock absorbers can develop internal leaks and the value of B decreases. When this happens, the overshoot of the second-order system becomes too great, and the wheels start to leave the ground. Replacing the shocks restores the orig- inal value of B and brings the overshoot back to the design levels. Bigger cars have more mass, bigger springs, and generally have larger shocks. Here is a PDF file and a web site dealing with the management of shock: www.lordmed.com/docs/ia_CATALOG.pdf Let’s tackle the fourth and final goal. CONTROL SYSTEMS 49 02_200256_CH02/Bergren 4/17/03 11:23 AM Page 49 HOW TO GET OPTIMUM PERFORMANCE FROM THE ROBOT The requirements for a second-order system might vary all over the place. We might need a fast rise time; we might need a quiet system that does not oscillate much; we might need to minimize mass or another design parameter. Don’t forget that v and d are parameters derived from m, K, and B. We might be stuck with one or more of these five parameters and have to live with them. For example, the mass m might be set by the payload, the spring constant K might be inherent in the suspension, and the friction B might be set by the environment. In many systems, the requirements are often at odds with one another and compro- mises must be struck. In such a design, it is often difficult to figure out what to do next. So here’s a fairly safe bet. Take a close look at Figure 2-16. It shows four curves, includ- ing the lowest curve at a damping figure of 0.99. A second-order system with a damp- ing constant near 1 is called “critically damped” (see Figure 2-20). The system rises directly to the level of 1. No overshoot or undershoot takes place. True, the rise time is nothing to marvel about, but the system is very stable and quiet. Designing a system to be critically damped is a good choice if no other definable target exists for its per- formance. It tends to be a very safe bet. In practice, it makes sense to back off from a damping constant of 1 a little bit, since an overly damped system is a little sluggish. If you can afford some overshoot, consider a damping constant between .5 and .9. Notes on Robot Design There are a number of other considerations to take into account when designing a robot. I’ve listed them here in no particular order. These are just tricks of the trade I’ve picked up over the years. DESIGN HEADROOM Cars offer great examples of second-order system designs. A car designer might be called upon to design a light car with a smooth ride. Ordinarily, a light car will bounce around quite a bit simply because it’s smaller. Carrying this vision to an extreme, con- sider a car so small it has to drive down into a pothole before it can drive up the other side and get out of it. Certainly, a lighter car will suffer from road bumps more than a heavier car, but there is more to it than this. When a car goes over a pothole, the springs and suspension attempt to absorb the impact and shield the passengers from the jolt. But if the springs reach the end of their travel (as they would with a deep pothole), they 50 CHAPTER TWO 02_200256_CH02/Bergren 4/17/03 11:23 AM Page 50 become nonlinear. In this situation, the second-order model breaks down, the spring constant becomes quite large for a while, and all bumps are transmitted directly to the passengers and the rest of the car. That’s how you bend the rims, ruin the alignment, and get a neck cramp! It is up to us, as designers, to make sure the second-order system has enough headroom to avoid these problems. If your robot is to carry eggs home from the chicken coop, make sure the suspension is a good one (see Figure 2-21). NONLINEAR CONTROL ELEMENTS Thus far in our calculations and mathematics, we’ve assumed that all control elements behave in a linear fashion. Very roughly defined, this assumes a smooth, continuous action with no jerky motions. Bringing in a definition from calculus, this linear motion is characterized by curves with finite derivatives. Figure 2-22 shows a continuous curve and a discontinuous curve. Picture for the moment sending your robot over the terrain described by each curve and it will be easy to visualize why we should be considering nonlinear control elements in this discussion. We must be prepared to deal with such matters because most robots have some nonlinear elements somewhere within the design. Often, these elements are inherent in the mechanics or creep into the control system when we least expect it (see Figure 2-22). CONTROL SYSTEMS 51 FIGURE 2-20 A critically damped second-order control system is sometimes considered optimal. 02_200256_CH02/Bergren 4/17/03 11:23 AM Page 51 Consider the case of an actuator or sensors that are either off or on. These are famil- iar to you already: ■ Thermostats The furnace in most houses cannot be operated halfway. The burn- ers do not have a medium setting like a stove. Either the heater is all the way on or the heater is completely off. The thermostat represents the sensor feedback con- trol input signal. It turns the heat all the way on until the temperature at the ther- 52 CHAPTER TWO FIGURE 2-21 This robot has an insufficient dynamic range in its shock- absorbing suspension. RATS FIGURE 2-22 A visual image of continuous and discontinuous functions Continuous Discontinuous 02_200256_CH02/Bergren 4/17/03 11:23 AM Page 52 mostat goes over the temperature setting. Then it turns the heat all the way off until the temperature falls below the temperature setting. It’s expensive and inefficient (in terms of combustion) to ignite a furnace, and it’s best if it runs for a while once it is ignited. The net result is that the temperature in the room doesn’t stay at a sin- gle temperature. Instead, it cycles up and down a degree or two around the setting on the dial. This action, taken by many control systems, is called hunting. We’ll talk about hunting shortly (see Figure 2-24). This hunting action by the heating system is just fine in the design of the ther- mostat. Humans generally cannot sense, nor are they bothered by, the fluctuations of temperature about the set point. But consider a light dimmer. If the dimmer turned the lights on and off five times a second, reading would be rather difficult. Instead, dimmers turn the light on and off around 60 times a second so the human eye cannot sense the fluctuations. When you design a system that will have hunt- ing in the output, be sure you know the requirements. ■ Mechanical wracking Many mechanical systems have loose parts in them that will slip and then catch. In the model second-order system, consider what happens if the weight is mounted to the spring with a loose bolt. As the weight shifts direction, the bolt comes loose for a while and then catches again. The spring constant actually varies abruptly with time, and the smooth response of the system is disrupted. You can model the robot’s performance by considering that the model system will behave in two different ways. While the bolt is caught, the spring constant is per design. While the bolt is loose, the spring constant is near 0. If such a mathemat- ical model is too difficult to chart, you can take the following shortcut. Just fig- ure on adding the mechanical wracking distance (the distance the weight moves unconstrained by the bolt) to the overshoot and undershoot. This will make a good first estimate of its behavior. In practice, try to minimize the mechanical instabil- ities in the robot. ■ Digital actuators Many other actuators and sensors tend to be digital. Consider a solenoid. It’s basically an electromagnet pulling an iron slug into the center of the magnet. It’s either off or on. The iron slug provides the pull on the second- order system when the electromagnet is activated (see Figure 2-23). Effectively, our model of the second-order system is good for predicting the sys- tem’s behavior since the solenoid behaves like a step input. HUNTING We’ve seen in the case of the thermostatic heating control system that the output of the system will hunt, effectively cycling above and below the temperature set point with- out ever settling in on the final value (see Figure 2-24). CONTROL SYSTEMS 53 02_200256_CH02/Bergren 4/17/03 11:24 AM Page 53 In linear control systems with a great deal of power and some weaknesses in the high- frequency response, the output response will actually have a hunting sine wave on it. This disturbance can be quite annoying, much like the buzz in a stereo system. It’s not unlikely that the oscillations would be at v unless governed by a nonlinear element in the system (see Figure 2-25). 54 CHAPTER TWO FIGURE 2-23 Electromagnets exert pull inside relays, soleoids, and electric motors. Battery Paper clips Wire wrapped around a nail are attracted PULL FIGURE 2-24 Thermostats are control systems that exhibit hunting. 60 70 80 Temperature (F) Time 02_200256_CH02/Bergren 4/17/03 11:24 AM Page 54 Think for a minute how upsetting it would be if the elevator door opened and the height of the elevator oscillated up and down while you were trying to get off! In many systems, hunting is not acceptable. Hunting behavior can be avoided by refraining from using any nonlinear elements: ■ Digital actuators that are on-off (like a solenoid) introduce nonlinear motion into a system. ■ Don’t use digital sensors that report only on and off. The sensors that turn on night lights are like this. They do not bring the lights on slowly as it gets dark. ■ Avoid mechanical wracking. The mechanical parts of the robot may make sudden moves if all the bolts are not tight. The control system cannot compensate for this very well. ■ Decrease v. Often, if we decrease the frequency response of the system, we can avoid oscillations. Of course, this comes at the expense of slower performance. ■ Add a hysteresis element to the control system; such an element is defined as “a retardation of an effect when the forces acting upon a body are changed.” The common way to look at a hysteresis element is that it behaves differently depend- ing on the direction. We are including here a few nonlinear control system ele- ments that we can make a case for grouping with the hysteresis topic. Here are some examples of hysteresis elements: ■ A friction block that drags more easily one direction than the other. ■ A spring system that puts two springs into service when moving one way, but releases one spring when moving the other way. CONTROL SYSTEMS 55 FIGURE 2-25 A control servo system exhibiting unwanted sine-wave hunting -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 02468 10 Position X Time t 02_200256_CH02/Bergren 4/17/03 11:24 AM Page 55 [...]... systems may cease to function Retesting the robot becomes a large task Many years ago, in the primordial soup of engineering history, engineers began to consider control systems that had more than one variable We need only look at old drawings of steam engines to appreciate this They had to regulate speed, pressure, temperature, and several other variables all at the same time The general approach back... and X2 slowly seek the values of X1d and X2d Also, X(t) slowly seeks the value of Xd(t) Before we look at cost functions other than LMS, let’s finish answering some of the other questions we posed earlier 64 CHAPTER TWO HOW MANY VARIABLES CAN BE CONTROLLED AT THE SAME TIME? Practically speaking, the LMS algorithm can handle an arbitrary number of simultaneous variables However, as the number of variables... variables we have been using, A ϭ dv>dt ϭ d2x>dt 2 58 CHAPTER TWO We really haven’t worried about acceleration at all so far But various restrictions on acceleration will take place: I Traction Wheels, if we use them, can only accelerate the robot a certain amount Beyond the traction that the wheels provide, the robot will burn rubber! I Balance The robot might pop a wheelie I Mechanical stress Acceleration... wheelie I Mechanical stress Acceleration imposes force on all the parts of the robot The robot might rip off a vital part if it accelerates too fast More on this later I Mechanical wracking The robot will change shape as it accelerates This happens in loose joints and connections More on this later So with all these variables to control at one time, what do we do? Multivariable Control Systems Up to this... cases, instabilities can arise These instabilities can take the form of unexpected delays or thrashing Thrashing arises when two control systems disagree and fight over the control of parts of the system Each control system sees the actions of the other as creating an error Designs can become very complex to accommodate all cases Designs can become difficult to maintain As one control system is changed,... example of a governor design can be found at www.usgennet.org/usa/topic/ steam/governor.html A few years later, engineers began to think about centralizing control systems Computer electronics facilitated this transition since all the information could easily be gathered in one place and manipulated The engineers cast about for a way to control multiple variables at the same time and raised several key... manner Further, we can smugly make minor parametric changes in the equation and our robot will blissfully change his ways to suit our best hopes for his behavior Well, it’s very easy to get lost in such a mathematically perfect world Those of us who have had kids are well acquainted with a higher law than math called Murphy’s Law Visit www.murphys-laws.com for the surprising history of Murphy’s Law... periodic manner toward some particular goal Usually, an iteration equation governs the process of iteration The following is a general-purpose iteration equation that is often used in robots X(t) is computed by iteration by taking values at time t and iterating to the next value at time t ϩ 1: X1t ϩ 12 ϭ X1t2 Ϫ S1t2 ϫ 1d C1X1t2 2>d X1t2 2 62 CHAPTER TWO In the equation, S(t) is a vector of step sizes that... that might change with time but can be fixed This vector could contain, in our example, two fixed step size values, each roughly proportional to 5 percent of the average size of X1 and X2 An alternate method could have the vector contain two varying step size values, each roughly proportional to 5 percent of X1 and X2’s present values The point is X1 and X2 will change gradually in a particular direction... motors and actuators are not as efficient at top speed I Maneuvering Some robots don’t corner well It can be advisable to slow down on the curves Acceleration Fine, we’ve designed our velocity control system so our robot will not speed or be a hazard But how fast can we punch the accelerator? Acceleration is the first derivative of velocity and the second derivative of position In the parlance of the variables . THE ROBOT S DESIGN PARAMETERS We have already seen that altering v and d can substantially change the performance of the robot. Further, altering these parameters offers a reliable way to change. The robot might pop a wheelie. ■ Mechanical stress Acceleration imposes force on all the parts of the robot. The robot might rip off a vital part if it accelerates too fast. More on this later. ■. 2-30 Gauss and Legendre 02_200256_CH02/Bergren 4/ 17/03 11: 24 AM Page 63 HOW MANY VARIABLES CAN BE CONTROLLED AT THE SAME TIME? Practically speaking, the LMS algorithm can handle an arbitrary number

Ngày đăng: 10/08/2014, 01:22

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan