Stuffs

The basic requirements that you should know while designing a ROBOT

            Robotics spans multiple scientific and engineering disciplines, so when you want to design a better robot you should get some basic knowledge in these fields. How much you should learn depends on how complex you want to make your robot. To give an example: A small tethered tabletop robot would only require some basic knowledge in electronics and programming, a shoe box sized robot would require some additional knowledge on mechanics (mostly about balance) and a large robot might even require some knowledge on solid mechanics.
               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
  • Newtons 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 that your robot tips 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.

Theoretical Mechanics:

         Most of the math in mechanics involves vectors, understanding them is essential for understanding mechanics.
              Statics is about balance. It studies the relations between different bodies at rest.

Forces And Their Effects

Force

          A force is an interaction between 2 objects. If there aren't 2 (or more) objects there can't be a force. The objects do not necessarily have to touch. e.g. Gravity, electromagnetic and electrostatic forces.
            A force is represented by a vector: the magnitude represents the magnitude of the force; The direction represents the direction in which the force acts; the origin defines where the forces acts on the object.

Effects Of Forces

       A net force acting on an object can have five effects: tension, compression, shear, translation or rotation.
Note that this translation is according to Aristotelian Physics which is founded on the belief ii that something moves, it must have a mover, i.e..  force causing change in position. This is not true according to Newtonian physics in which force changes the velocity of an object. 
Translation
Translation of a rectangle
  • The object moves in a direction parallel to itself.
  • The effect is defined by the magnitude and direction of the acting force.
  • A is the object at its original position.
  • A' and A'' are the object translated along respectively the X- and the Y-axis.
A''' is the object translate along both axis.
Rotation



  • The object rotates around a point.
    The original rectangle (left) is rotated around its center. The result is displayed to the right. The dotted rectangle show the location of the original rectangle.
  • The object rotates around an axis.
    E.g. A door. Imagine a line through the hinges, this is the axis. The door rotates around this axis.
Translation and Rotation
translation and Rotation of a rectangle
  • The object doesn't move parallel nor does it rotate around a fixed point or axle.

Kinematics

           Kinematics describes the position, speed and acceleration of a point or a body and the relations between them without regard to the cause of the acceleration.

Dynamics

          Dynamics connects statics with kinematics by connecting the cause (forces) with the effect (acceleration). This is where the three laws of Newton fit in.
As well as the Newtonian laws, there are other formulations of mechanics; Lagrangian mechanics and Hamiltonian mechanics. These formulations of mechanics focus more on energy than force.

Electronics:

Electronics is about:
  • electronic components
  • Analog circuits
  • digital logic
  • microcontrollers
Electronics is something you can't go without (unless you want to build a complete mechanical robot or use pneumatics for control).

Below figure shows the basic electronic components


Below figure shows the analog circuits

Below figure shows the digital logic 



Below figure shows the 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,...)

            Anyone who has had an introductory course on programming (as they are given in American high schools) would be familiar with the first three points. The fourth point is rarely addressed in introductory courses, but is essential when programming microcontrollers. Although it might sound difficult, it can be very easy in practice (for most purposes). Much of this comes down to setting bits in a byte using simple Boolean logic, and writing this value into some register or memory location. Higher level languages like Bascom provide hardware addressing as special variables, which can be treated just like any other variable.
                 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.


AI :

Artificial Intelligence (in Robotics) is about:
  • Finding the shortest way between 2,3 (or more) points
  • Dealing with obstacles
  • Handling new situations (machine learning)
There are many books available on AI on many different levels. This area has had a short but already fruitful history, but still has a very long way to go. AI isn't just about getting a computer to think and reason. It's more about ordering, sorting and organizing knowledge in a machine and constructing algorithms for extracting real world conclusions from these databases. A search engine like Google or Yahoo are examples of real uses of AI.
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.
Math:

              Although math is generally seen as the ultimate theoretical science, it can be one of the most important skills in many of the more advanced domains of robotics. e.g. Mechanics uses a lot of math. For simple constructs you won't need much more than high school level math, for more complicated shapes it becomes necessary to use more complex math tools like integrals. But since robotics is a very practical craft many things can be done with approximations. Math however can be very helpful in making the right approximation