Introduction to Robotics - 2
This page covers the fields that are very much used in robotics. You don't need to know everything about all of these subjects, however knowing the basics of each of these fields can help in building better robots and prevent you from making (some of the) beginner's mistakes.
Mechanics
Mechanics is about:- How forces are transferred between the different parts of a construction.
- Where the center of gravity lies.
- Friction
- Position, speed, acceleration
- Newton's laws
- Inertia
- Material properties
Mechanics helps keeping a robot in balance. Although you could build a robot without knowing anything about mechanics, it'll help in preventing your robot from tipping over when turning, or when picking up something.
Another point where mechanics pays off are axles. On small robots you can attach the wheels directly to the output shaft of the motor. However this doesn't work well for larger robots as this puts a lot of stress on the internals of the motor. A better way is to attach the wheel to an axle, and use gears to connect the motor to the axle. Knowledge of mechanics allows you to build such constructs.
If your robot is a small line follower almost any building material will work. However if your robot weighs a few kilos, something sturdier than cardboard and soda sippers is appropriate. And if your robot is human size you should consider metal and/or composite construction.
See Theoretical Mechanics for an introduction in this field.
the "Theoretical Mechanics" is just started, so there isn't much to read just yet.
Electronics
Electronics is about:- Electronic Components
- Analog Circuits
- Digital Logic
- MicroControllers
Programming
Computer programming is about:- Control structures (sequence, selection, iteration)
- Data types (constants, variables, integer, real, string,...)
- Algorithms
- Hardware control (setting and reading registers, interrupts,...)
- logic
Microcontrollers (and processor boards) are one of the areas where using Assembly is still very valid. Memory (both RAM and program space) is very limited in these, although each new generation of microcontroller has more memory for about the same price. Many microcontrollers provide between 2K and 30K, and processor boards tend to have up to 256K. These numbers vary wildly, but are still significantly less than PCs have. However if you don't know an assembly language, most microcontroller and processor boards have high level language compilers available in many flavors (C, C++, Basic, Pascal, Fortran, etc.)
Robot programming is also about:
- The Event Loop. Most microcontrollers do not have the resources for threading. You will need to look at your robot's task a fraction of a second at a time, and choose which small action to take. What can the program do in that moment to get a little bit closer to its goal?
- Interpreting sensor data. Sensors have many ways of providing noisy or misleading information; how many types of error can you accept? Dirt in a rheostat, a broken switch, and a venetian blind flickering on a photodiode are obvious faults. How about temperature drift, non-linear response curves, or your robot seeing its own shadow?
- Decision making, or Artificial Intelligence is the art of making the right decision given the constraints of the current system.
- Motors and motion. Making motion on a robot often involves moving several motors at once, often with feedback from sensors.
Solid Mechanics
Solid mechanics is about how forces distribute inside solid materials. Knowledge about this subject is useful because it explains how materials respond to loads. This helps to prevent using too thick or too thin materials. This isn't required for small or medium robots, but it allows to be more efficient with building materials and gives insight to why and how materials fail (break and/or deform). See [this wikibook] for a start on solid mechanics. Be warned: heavy math ahead.Even if you have a mortal fear of math, bite through this as it gives valuable insights on how materials break and deform. No need to memorize the math, as long as you get the idea behind it.
A.I.
Artificial Intelligence (in Robotics) is about:- Finding the shortest way between 2,3 (or more) points
- Dealing with obstacles
- Handling new situations (machine learning)
Other than pure AI books, books on how the brain works and such can provide interesting angles to AI on robots. Concepts like attention and concentration can have interesting uses in some form for integrating sensor data.
Comments
Post a Comment