You are on page 1of 15

“Modelling of Robotic arm”

Ramjee Prasad

10804900

Rh6802B54

B.Tech (LEET)

ECE

Introduction: gripping a particular object. This keeps the


robot from dropping or breaking whatever it's
The term robot comes from the Czech word carrying. Other end effectors include
robota, generally translated as "forced labor." blowtorches, drills and spray painters.
This describes the majority of robots fairly
well. Most robots in the world are designed for Industrial robots are designed to do exactly the
heavy, repetitive manufacturing work. They same thing, in a controlled environment, over
handle tasks that are difficult, dangerous or and over again. For example, a robot might
boring to human beings. twist the caps onto peanut butter jars coming
The most common manufacturing robot is the down an assembly line. To teach a robot how
robotic arm. A typical robotic arm is made up to do its job, the programmer guides the arm
of seven metal segments, joined by six joints. through the motions using a handheld
The computer controls the robot by rotating controller. The robot stores the exact sequence
individual step motors connected to each joint of movements in its memory, and does it again
(some larger arms use hydraulics or and again every time a new unit comes down
pneumatics). Unlike ordinary motors, step the assembly line.
motors move in exact increments. This allows
the computer to move the arm very precisely, Most industrial robots work in auto assembly
repeating exactly the same movement over and lines, putting cars together. Robots can do a lot
over again. The robot uses motion sensors to of this work more efficiently than human
make sure it moves just the right amount. beings because they are so precise. They
always drill in the exactly the same place, and
An industrial robot with six joints closely they always tighten bolts with the same
resembles a human arm -- it has the equivalent amount of force, no matter how many hours
of a shoulder, an elbow and a wrist. Typically, they've been working. Manufacturing robots
the shoulder is mounted to a stationary base are also very important in the computer
structure rather than to a movable body. This industry. It takes an incredibly precise hand to
type of robot has six degrees of freedom, put together a tiny microchip.
meaning it can pivot in six different ways. A
human arm, by comparison, has seven degrees Defining parameters:
of freedom.
• Number of axes – two axes are
Like our arm's job is to move your hand from required to reach any point in a plane;
place to place. Similarly, the robotic arm's job three axes are required to reach any
is to move an end effector from place to place. point in space. To fully control the
You can outfit robotic arms with all sorts of orientation of the end of the arm (i.e.
end effectors, which are suited to a particular the wrist) three more axes (yaw, pitch,
application. One common end effector is a and roll) are required. Some designs
simplified version of the hand, which can (e.g. the SCARA robot) trade
grasp and carry different objects. Robotic limitations in motion possibilities for
hands often have built-in pressure sensors cost, speed, and accuracy.
that tell the computer how hard the robot is
• Degrees of freedom which is usually with controlled orientation and
the same as the number of axes. velocity.
• Working envelope – the region of • Power source – some robots use
space a robot can reach. electric motors, others use hydraulic
• Kinematics – the actual arrangement actuators. The former are faster, the
of rigid members and joints in the latter are stronger and advantageous in
robot, which determines the robot's applications such as spray painting,
possible motions. Classes of robot where a spark could set off an
kinematics include articulated, explosion; however, low internal air-
cartesian, parallel and SCARA. pressurisation of the arm can prevent
• Carrying capacity or payload – how ingress of flammable vapours as well
much weight a robot can lift. as other contaminants.
• Speed – how fast the robot can • Drive – some robots connect electric
position the end of its arm. This may motors to the joints via gears; others
be defined in terms of the angular or connect the motor to the joint directly
linear speed of each axis or as a (direct drive). Using gears results in
compound speed i.e. the speed of the measurable 'backlash' which is free
end of the arm when all axes are movement in an axis. Smaller robot
moving. arms frequently employ high speed,
• Acceleration - how quickly an axis low torque DC motors, which
can accelerate. Since this is a limiting generally require high gearing ratios;
factor a robot may not be able to reach this has the disadvantage of backlash.
its specified maximum speed for In such cases the harmonic drive is
movements over a short distance or a often used.
complex path requiring frequent • Compliance - this is a measure of the
changes of direction. amount in angle or distance that a
• Accuracy – how closely a robot can robot axis will move when a force is
reach a commanded position. applied to it. Because of compliance
Accuracy can vary with speed and when a robot goes to a position
position within the working envelope carrying its maximum payload it will
and with payload (see compliance). It be at a position slightly lower than
can be improved by Robot calibration. when it is carrying no payload.
• Repeatability - how well the robot Compliance can also be responsible
will return to a programmed position. for overshoot when carrying high
This is not the same as accuracy. It payloads in which case acceleration
may be that when told to go to a would need to be reduced.
certain X-Y-Z position that it gets only
to within 1 mm of that position. This
would be its accuracy which may be
improved by calibration. But if that Robot Arm Design:
position is taught into controller
memory and each time it is sent there The robot arm is probably the most
it returns to within 0.1 mm of the mathematically complex robot you could ever
taught position then the repeatability build. As such, this tutorial can't tell you
will be within 0.1 mm. everything you need to know. Instead, I will
• Motion control – for some cut to the chase and talk about the bare
applications, such as simple pick-and minimum you need to know to build an
place assembly, the robot need merely effective robot arm. Enjoy!
return repeatably to a limited number
of pre-taught positions. For more To get you started, here is a video of a robot
sophisticated applications, such as arm assignment I had when I took Robotic
welding and finishing (spray painting), Manipulation back in college. My group
motion must be continuously programmed it to type the current time into the
controlled to follow a path in space, keyboard . . . (lesson learned, don't crash robot
arms into your keyboard at full speed while 3 DOF Robot Arm, with a
testing in front of your professor) translation joint:

Degrees of Freedom (DOF):

The degrees of freedom, or DOF, is a very


important term to understand. Each degree of
freedom is a joint on the arm, a place where it
can bend or rotate or translate. You can
typically identify the number of degrees of
freedom by the number of actuators on the
robot arm. Now this is very important - when
building a robot arm you want as few degrees
of freedom allowed for your application!!!
Why? Because each degree requires a motor,
often an encoder , and exponentially
complicated algorithms and cost.

The Robot Arm Free Body Diagram (FBD:


The Denavit-Hartenberg (DH) Convention is 5 DOF Robot Arm:
the accepted method of drawing robot arms in
FBD's. There are only two motions a joint
could make: translate and rotate. There are
only three axes this could happen on: x, y, and
z (out of plane). Below I will show a few robot
arms, and then draw a FBD next to it, to
demonstrate the DOF relationships and
symbols. Note that I did not count the DOF on
the gripper (otherwise known as the end
effector). The gripper is often complex with
multiple DOF, so for simplicity it is treated as
separate in basic robot arm design.

Notice between each DOF there is a


linkage of some particular length.
Sometimes a joint can have multiple
DOF in the same location. An
example would be the human
shoulder. The shoulder actually has
three coincident DOF. If you were to
mathematically represent this, you
would just say link length = 0.
The robot workspace is all places that the end
effector (gripper) can reach. The workspace is
dependent on the DOF angle/translation
limitations, the arm link lengths, the angle at
which something must be picked up at, etc.
The workspace is highly dependent on the
robot configuration.

Since there are many possible configurations


for your robot arm, from now on we will only
talk about the one shown below. I chose this 3
DOF configuration because it is simple, yet
isnt limiting in ability.

Also note that a DOF has its limitations,


known as the configuration space. Not all
joints can swivel 360 degrees! A joint has
some max angle restriction. For example, no Now lets assume that all joints rotate a
human joint can rotate more than about 200 maximum of 180 degrees, because most
degrees. Limitations could be from wire servo motors cannot exceed that amount. To
wrapping, actuator capabilities,servo max determine the workspace, trace all locations
angle, etc. It is a good idea to label each link that the end effector can reach as in the image
length and joint max angle on the FBD. below.

Now rotating that by the base joint another 180


degrees to get 3D, we have this workspace
The robot arm can also be on a mobile base, image. Remember that because it uses servos,
adding additional DOF. If the wheeled robot all joints are limited to a max of 180 degrees.
can rotate, that is a rotation joint, if it can This creates a workspace of a shelled semi-
move forward, then that is a translational joint. sphere .
This mobile manipulator robot is an example
of a 1 DOF arm on a 2 DOF robot (3 DOF If you change the link lengths you can get very
total). different sizes of workspaces, but this would
be the general shape. Any location outside of
Robot Workspace: this space is a location the arm can’t reach. If
there are objects in the way of the arm, the
workspace can get even more complicated.
Here are a few more robot workspace
examples:

Scara Robot Arm

Cylindrical Robot Arm

Articulated Robot Arm


Spherical Robot Arm Mobile Manipulators :
A moving robot with robotic arm is a sub-class
of robotic arms. They work just like other
robotic arms, but the DOF of the vehicle is
added to the DOF of the arm. If say you have a
differential drive robot (2 DOF) with a robot
arm (5 DOF) attached (see yellow robot
below), that would give the robot arm a total
sum of 7 DOF shorter arm lengths allow for smaller torque
requirements.

Forward Kinematics:

Forward kinematics is the method for


determining the orientation and position of the
end effector, given the joint angles and link
lengths of the robot arm. To calculate forward
kinematics, all you need is high school
trigonometry and algebra.

Ex:-Here we can calculate end effector


Force Calculations of Joints: location with given joint angles and link
lengths. To make visualization easier for you, I
This is where this tutorial starts getting heavy drew blue triangles and labeled the angles.
with math. Before even continuing, I strongly
recommend you read the mechanical
engineering tutorials for statics and dynamics.
This will give you a fundamental
understanding of moment arm calculations.

The point of doing force calculations is for


motor selection. We must make sure that the
motor you choose can not only support the
weight of the robot arm, but also what the
robot arm will carry. The first step is to label
your FBD, with the robot arm stretched out to
its maximum length.

Choose these parameters:


Inverse Kinematics:
o weight of
each linkage Inverse kinematics is the opposite of forward
o weight of kinematics. This is when you have a desired
each joint end effector position, but need to know the
o weight of joint angles required to achieve it. The robot
object to lift sees a kitten and wants to grab it, what angles
should each joint go to? Although way more
o length of useful than forward kinematics, this
each linkage calculation is much more complicated too. As
such, I will not show you how to derive the
Next you do a moment arm calculation, equation based on your robot arm
multiplying downward force times the linkage configuration.
lengths. This calculation must be done for each
lifting actuator. This particular design has just So what makes inverse kinematics so hard?
two DOF that requires lifting, and the center of Well, other than the fact that it involves non-
mass of each linkage is assumed to be linear simultaneous equations, there are other
Length/2. reasons too.

As you can see, for each DOF you add the First, there is the very likely possibility of
math gets more complicated, and the joint multiple, sometimes infinite, number of
weights get heavier. You will also see that solutions (as shown below). How would your
arm choose which is optimal, based on
torques, previous arm position, gripping angle, vary between them. When you tell the end
etc.? effector to go from one point to the next, you
have two decisions. Have it follow a straight
line between both points, or tell all the joints to
go as fast as possible - leaving the end effector
to possibly swing wildly between those points.

In the image below the end effector of the


robot arm is moving from the blue point to the
red point. In the top example, the end effector
travels a straight line. This is the only possible
motion this arm can perform to travel a
There is the possibility of zero solutions. straight line. In the bottom example, the arm is
Maybe the location is outside the workspace, told to get to the red point as fast as possible.
or maybe the point within the workspace must Given many different trajectories, the arm
be gripped at an impossible angle. goes the method that allows the joints to rotate
the fastest.
Singularities: a place of infinite acceleration,
can blow up equations and/or leave motors
lagging behind (motors cant achieve infinite
acceleration).

Motion Planning :

Motion planning on a robot arm is fairly


complex. Suppose your robot arm has objects
within its workspace, how does the arm move
through the workspace to reach a certain
point? To do this, assume your robot arm is
just a simple mobile robot navigating in 3D Which method is better? There are many
space. The end effector will traverse the space deciding factors. Usually you want straight
just like a mobile robot, except now it must lines when the object the arm moves is really
also make sure the other joints and links do not heavy, as it requires the momentum change for
collide with anything too. This is extremely movement (momentum = mass * velocity).
difficult to do. But for maximum speed (perhaps the arm isn't
carrying anything, or just light objects) you
Velocity (and more Motion Planning): would want maximum joint speeds.
Calculating end effector velocity is
mathematically complex, so I will go only into Now suppose you want your robot arm to
the basics. The simplest way to do it is assume operate at a certain rotational velocity, how
your robot arm (held straight out) is a rotating much torque would a joint need? First, lets go
wheel of L diameter. The joint rotates at Y back to our FBD:
rpm, so therefore the velocity is

Velocity of end effector on straight arm = 2


* pi * radius * rpm

However the end effector does not just rotate


about the base, but can go in many directions.
The end effector can follow a straight line, or
curve, etc. With robot arms, the quickest way
between two points is often not a straight line.
If two joints have two different motors, or
carry different loads, then max velocity can
Now lets suppose you want joint J0 to rotate Arm sagging is a common affliction of badly
180 degrees in under 2 seconds, what torque designed robot arms. This is when an arm is
does the J0 motor need? Well, J0 is not too long and heavy, bending when outwardly
affected by gravity, so all we need to consider stretched. When designing your arm, make
is momentum and inertia. Putting this in sure the arm is reinforced and lightweight. Do
equation form we get this: a finite element analysis to determine bending
deflection/stress .
torque
=moment_of_inertia*angular_acceleration

breaking that equation into sub components we


get:

torque

=(mass*distance^2)*(change_in_angular_velo
city / change_in_time)

and
Keep the heaviest components, such as motors,
change_in_angular_velocity as close to the robot arm base as possible. It
=(angular_velocity1)-(angular_velocity0) might be a good idea for the middle arm joint
to be chain/belt driven by a motor located at
angular_velocity the base (to keep the heavy motor on the base
=change_in_angle/change_in_time and off the arm).

Now assuming at start time 0 that Sensing:


angular_velocity0 is zero, we get Most robot arms only have internal sensors,
such as encoders. But for good reasons you
torque = (mass * distance^2) * may want to add additional sensors, such as
(angular_velocity / change_in_time) video, touch, haptic, etc.

where distance is defined as the distance from A robot arm without video sensing is like an
the rotation axis to the center of mass of the artist painting with his eyes closed. Using
arm: basic visual feedback algorithms, a robot arm
could go from point to point on its own
center of mass of the arm = distance = 1/2* without a list of preprogrammed positions.
(arm_length) (use arm mass) Giving the arm a red ball, it could actually
reach for it (visual tracking and servoing). If
but you also need to account for the object the arm can locate a position in X-Y space of
your arm holds: an image, it could then direct the end effector
to go to that same X-Y location (by using
center of mass of the object = distance = inverse kinematics).
arm_length (use object mass)
Haptic sensing is a little different in that there
So then calculate torque for both the arm and is a human in the loop. The human controls the
then again for the object, then add the two robot arm movements remotely. This could be
torques together for the total: done by wearing a special glove, or by
operating a miniature model with position
torque(of_object) + torque(of_arm) = sensors. Robotic arms for amputees are doing
torque(for_motor) a form of haptic sensing. Also to note, some
robot arms have feed back sensors (such as
touch) that gets directed back to the human
Arm Sagging :
(vibrating the glove, locking model joints, The robotic arm has the capability to execute
etc.). both Cartesian and joint motion commands.
Cartesian motion can be expressed as absolute
or relative motion in the world frame or as tool
frame motion. Furthermore straight line or
joint-interpolated motion can be given as
absolute joints angles, as relative joint angles
with respect to the current joint position, or as
timed motion. In order to prevent damaging
robotic hardware in the event of loss
communication between the ACF and control
Tactile sensing (sensing by touch) usually
software, a sequence of via points in computed
involves force feedback sensors and current
sensors. These sensors detect collisions by for any motion command and only after the
detecting unexpected force/current spikes, arm has nearly reached the current via points is
meaning a collision has occurred. A robot end the next via point sent to the ACE. Thus
effector can detect a successful grasp, and not trajectory is generated as a sequence of points
grasp too tight or too lightly, just by measuring in space only and not in time. The one
force. Another method would be to use exception is the timed joint motion commands
current limiters - sudden large current draws
in which the operator can command each joint
generally mean a collision/contact has
occurred. An arm could also adjust end to move for a specified amount of time in
effector velocity by knowing if it is carrying a which case the generated trajectory is a
heavy object or a light object - perhaps even sequence of via points in time only and not in
identify the object by its weight. space.

Fault Monitoring and Collision Avoidness: End effectors:

It is critical that robotic arm operate safely The most essential robot peripheral is the end
during the execution of its assigned tasks so as effector, or end-of-arm-tooling.
not to damage itself or other hardware. Each Common examples of end effectors
time through the control loop, sensor data is include welding devices (such as
analyzed and assessment made as to whether MIG-welding guns, spot-welders,
any hardware failures have occurred. etc.), spray guns and also grinding and
Available sensor data include joint positions deburring devices (such as pneumatic
from both encoders pot voltages, motor disk or belt grinders, burrs, etc.), and
currents, joint temperature, power supply grippers (devices that can grasp an
status, and A/D reference voltages. Potential object, usually electromechanical or
hardware faults include failures of the sensors, pneumatic). Another common means
motors, power supply, or voltage reference. of picking up an object is by vacuum.
the positions of the joints as determined from End effectors are frequently highly
both encoders and pot voltages is also assessed complex, made to match the handled
and if the difference exceeds a specified product and often capable of picking
limit ,the arm is recalibrated , during normal up an array of products at one time.
operation the encoders are used to as the They may utilize various sensors to
primary joint-position sensor with some aid the robot system in locating,
degradation of positioning accuracy. handling, and positioning products.

Trajectory Planning: Neuroevolution of a Robot Arm Controller

Introduction:
Arm movements at stationary or moving paths become straighter and they show signs
targets are common in the motor repertoire of of external force manipulation. Infant
humans, but little is known on how the brain movements become more economical and
uses spatiovisual information concerning the muscles are activated only when they are
locations of targets for the generation of arm needed. At 24 to 36 months of age, infants
movements and how it controls the different demonstrate adult-like capability in reaching
neural and muscular structures involved during for stationary and moving targets (Konczak
the formation of arm trajectories. Newborn 2004). Many of the problems associated with
babies possess biological networks that are the planning and execution of human arm
initally capable of performing only reflex trajectories are illuminated by control
actions. As infants learn about their strategies which have been developed for
surroundings and begin to comprehend their robotic manipulators. Since artificial and
senses, their biological networks complexify biological motor control systems often face the
allowing them to perform more intelligent same problems, the solutions to these
motor control tasks. Using neuroevolution it is problems are also the same (Hollerbach 1985).
possible to evolve networks that can simulate This paper presents results on arm positioning
infant motor development. Neuroevolution and target tracking for a simulated robot arm,
was used to evolve controllers for a simulated that parallel results from arm positioning and
robot arm that can position the arm’s end- target tracking experiments that were carried
effector close to a stationary target and track out on infants (Jansen-Osmann et al. 2002; von
moving targets. Hofsten et al. 1998). This paper models two
aspects of infant development using
In order to successfully control an arm, a neurocontrollers: 1) infants’ ability to
neurocontroller must satisfy two conditions: 1) generalize which enables them to perform
A neural controller must be able to sucessfully reaching tasks that they have not previously
interact with its arm in order to execute performed, and 2) infants ability to extrapolate
centrally planned complex actions. 2) Visually paths of moving objects in order to track them.
specified goals must be linked with The next section describes learning algorithms
appropriate motor acts, these motor acts must that have been applied to robot control tasks.
be able to move the arm to the desired goal Section 3 describes the Simderella robot arm
(Konczak 2004). Newborn babies cannot simulator and the NeuroEvolution of
peform these processes for many reasons: they Augmenting Topologies (NEAT) genetic
have limited knowledge about the physical algorithm.
makeup of their bodies, their limited motor Related Work:
repertoire consists only of reflex actions, they
have limited visual capabilities, and they do Robot arm control using distance sensors is a
not possess complex neural control complex task that requires mapping the
mechanisms. Despite these limitations, babies target’s location relative to the endeffector to
as young as one week will attempt small arm joint movements that position the arm near the
movements directed to a target. Even though target. It is difficult to specify such a mapping
these early arm movements are unpredictable, by hand, so researchers have applied various
they are not the result of random activity or machine learning techniques to learn successul
purely reflex actions (Trevarthen 1980). As control strategies.
soon as infants begin catching stationary
objects successfully, they also begin to catch Supervised learning methods have been
moving objects. According to Von Hofsten, at applied to robot control tasks (van der Smagt
18 weeks babies are able to perform 1995). Supervised learning requires training
anticipatory arm movements when trying to examples that demonstrate the correct
intercept a moving target; these interceptive mapping from input to output. During training
actions are triggered by the presence of a the network is present with input from the
target in the infant’s field of view (von training set, and the output is compared to the
Hofsten 1980). At about three months of age, desired output. Errors are calculated according
infants reach consistently for targets in their to differences, and modifications are made to
surroundings and rarely miss their targets the network’s weights using backpropagation.
(Konczak 2004). Kinematically their hand One limitation of this approach is that
generating training examples for complex reinforcement learning methods (Moriarty and
tasks can be difficult. Miikkulainen 1996). This paper uses the
NEAT genetic algorithm to evolve robot
Exploratory methods involve providing the controllers. When adult humans perform goal-
robot with a set of exploratory behaviors. The directed arm movements under the influence
robot learns affordances during a behavioral of an external force, they learn to adapt to the
babbling stage where the robot randomly external force. After removing the external
chooses different exploratory behaviors, force field, they reveal kinematic after-effects
applies them to objects and detects sensor that are indicative of a neural controller that
invariants (Stoytchev 2005). A shortcoming of still compensates for the external force. This
this approach is that there are affordances that behaviour suggests that humans use a neural
cannot be discovered because the robot does representation of the inverse arm dynamics
not possess the required exploratory behavior. required to control their arms (Konczak 2004).
Both supervised learning methods and This paper proposes that the neural
expoloratory approaches require human input representation is a biological neural network,
which can be cumbersome. Supervised which can be modified based on the task the
learning methods try to model how infants are human is trying to acheive. For example, when
taught by demonstration while exploratory humans perform reaching tasks under an
methods model how infants use a subset of external force field, they learn to move their
their behaviorial repertoire to perform a task. arms while applying a force opposite to that of
Using supervised learning, the controller the external force field. This is possible
learns behaviors very similar to those in the because biological neural networks can be
training set. In exploratory learning, the modified to perform a task under different
controllers learn behaviors that are a conditions. This paper tries to model the neural
combination of the exploratory behaviors that inverse dynamics model of the brain by
it was provided with. Both supervised and evolving robot arm neurocontrollers using the
exploratory learning cannot properly model NEAT genetic algorithm. NEAT does not
learning completely new behaviors. Learning require
new behaviors can be modelled by using
reinforcement learning or genetic algorithms,
which are able to determine the effectiveness
of behaviors required to perform a task. In
reinforcement learning, agents learn from a
signal that provides some measure of
performance which can be provided after a
sequence of joint movements are made. As
reinforcement signals take into account several
control decisions at once, appropriate credit
can be assigned to intermediate joint
movements that are neccessary to reach the
final target position.

In neuroevolution, the evolutionary search is


guided by a single fitness evaluation over the
entire task, which may involve learning
different skills such manipulating different
joints to reach a target, thus neuroevolution explicit training examples and can be used to
can also be used to learn to position the arm evolve neural networks for control tasks.
near a target after performing multiple joint NEAT which evolves both structure and
movements. Using these methods it is possible weights of neural networks was used to evolve
to learn new effective behaviors in a way controllers which were tested using a
similar to how infants try out different simulated OSCAR-6 robot arm. NEAT
behaviors and thereby discover useful ones. combines the usual search for the appropriate
Neuroevolution of networks has been shown to network weights with complexification of the
be as effective and in some cases outperforms network structure, allowing the behavior of
evolved neural networks to become used to specify a new path for the arm during
increasingly sophisticated over generations . each time-step.
Simderella:
The Simderella 3.0 simulator is based on the NEAT:
OSCAR- 6 anthropomorphic arm; controllers
that perform well. NEAT evolves increasingly complex neural
networks to match the complexity of the
problem. NEAT evolves both connection
weights and topology, which results in
significant performance gains.

NEAT has been shown to be effective in many


applications such as pole balancing, robot
Figure 2: Evolved network for stationary control, vehicle control, board games and
target task. videogames (Stanley 2004; Stanley and
Miikkulainen 2004). NEAT is based on three
The final complex network that is evolved by fundamental principles: 1) incrementally
adding nodes and connections and mutating growing networks from a minimal structure 2)
weights. The black lines represent excitatory employing a principled method of crossover of
connections and the blue lines represent different topologies 3) protecting structural
inhibitory connections. innovation through speciation. NEAT
within Simderella exhibit the same genomes consist of a list of node genes which
performance level in the OSCAR-6 robot arm. specify whether a node is an input, output or
Simderella abstracts the mechanical structure bias node, and connection genes which
and electronic hardware of a physical robot specifies the connection in-node, outnode,
arm and provides an interface to test various connection weight, whether or not the
control strategies. Simderella provides an connection is enabled and an innovation
environment where one can place simulated number which is a unique identifier assigned
targets. Simderella has six rotational joints, to each gene and used to differentiate between
whose position can be set by a controller. A genes. Genetic algorithms use mutation and
neural network that is provided with relative crossover operators to grow networks.
positions and velocities of targets to the end- Structural mutations can occur in two ways
effector, and with an appropriate fitness add connection in which a single new
function can evolve to learn the sequence of connection gene is added connecting two
joint angles that are required to position its previously unconnected nodes, and add node
end-effector close to a target. The simderella where an existing connection is replaced with
robot arm is described in a Denavit-Hartenberg a new node. Whenever a new connection
matrix which is read at startup. Coordinate between nodes is created through mutation, it
frames are assigned to each link which are is assigned a unique innovation number.
used during forward kinematics to alter the Crossover (mating) is used to produce
position of the arm for a given set of joint offspring at each generation from existing high
angles. During normal operation, target joint fitness parent networks. The efficient mating
values _, velocities _˙ and accelerations _¨ are of two different genomes to produce offspring
is accomplished through innovation numbering
which makes it possible to keep track of
common genes. Whenever networks are
crossed over, those genes that have the same
innovation
number can be safely aligned and inherited.
Genes of the fit organism with innovation
numbers not found in the other parent are
inherited by the offspring as well. Innovation
numbering tackles the competing conventions
problem by preventing the inheritance of same
genes with different labels. Figure 4: Average distance for target with
periodic motion along
NEAT can form a diverse population of the x-axis
networks by adding new genes and mating
sensibly. One problem with this approach is of the arm. Distance information and velocity
that smaller networks optimize faster than information of the target are used as inputs for
large networks, and adding new connections the network which outputs the three joints
and genes ususally initially decreases the rotations. The closest distance from the
fitness of the network, thus newly created endeffector to the target during a single trial is
structures are less likely to survive. This used to calculate the percentage of distance the
problem is solved by speciation which divides arm moved towards the target. For example, if
the population into separate, distinct the closest the end-effector gets to the target
subpopulations. The structure of each during the evaluation is 20 units and the initial
individual is compared dynamically with distance of the target is 80 units, then the score
others and those with similar structure are is (80-20)/80=0.75 . The percentage of
grouped together. Individuals within a species distance is a more accurate score of fitness
share the species’ overall fitness, and compete rather than absolute distance as some networks
primarily within that species. Speciation may start closer to the target and get a high
allows new innovations to be optimized fitness score which is undesirable. The final
without facing competition from individuals fitness score for each network is averaged over
with different structures. Figure 2 depicts a five different target positions. As the target
network evolved for the stationary task. The position is chosen randomly from a set of 512
network is complex and has many hidden units positions, it is reasonable to claim that the best
in order to effectively approximate the non- networks have learned to effectively control
linear inverse kinematic equations required to the arm. Ten runs of the stationary target task
maneuver the arm. were performed and 200 generations each
Stationary Targets: consisting of a population of size 100 were
evolved. Figure 3 depicts the minimum
Each neural network starts at a standard distance of the target from the endeffector for
position. During evolution, the target position the champion of each generation averaged
is selected randomly from a set of 512 over ten runs. Networks that can move the
positions, and remains constant during a single end-effector to within ten units of the target
trial. During each trial the network is allowed are found within 50 generations. It takes
to make twenty moves another 100 generations to find networks that
can effectively move the end-effector to within
five units of the target at which point the
performance of the champion networks level
out. The best network that is evolved is
generally able to position its end-effector near
a stationary target.
Moving Targets:
The best networks evolved in the stationary effector, the controller did not learn to move
target task are used as the starting networks for its second joint to track target. The best
evolution in the moving target tasks. This network evolved for a target that moved along
process is used to simulate how infants the z-axis showed similar results. However, it
incrementally learn tasks. The distance of the was possible to evolve a network that could
end-effector from the target averaged over the control two of its joints in order to track a
entire trial was used as the fitness function in target that moved along the x-axis. The best
order to promote networks that tried to move network moved its first and second joints in
close to the moving target at each timestep. order to track the moving target. These results
Networks that can effectively position the end- illustrate that it is relatively easy to evolve a
effector close to the moving targets are controller that can track moving targets by
evolved within 100 generations. Figures 4, 5 moving a single joint. It is much harder to
and 6 depict the average distance from the evolve networks that can move multiple joints
moving target for to track moving targets.
4 Discussion and Future Work
The neural network controllers that were
evolved simulate infants’ ability to generalize
in order to perform new actions, and infants’
ability to extrapolate the paths of moving
objects in order to effectively track them. In
the future, controller can be evolved that can
track targets with more complex motion.
These controllers would have to be able to
control multiple joints simulataneously in
order to track such targets. In order to better
understand human motor control systems, it is
also necessary to develop networks that can
control a more sophisticated arm that has a
larger number of degrees of freedom.
Understanding how artifical neural networks
Figure 5: Average distance for target with are able to control a robotic arm helps in
periodic motion along understanding how humans control their arms
the y-axis. and also aids in developing more sophisticated
prosthetic devices. Researchers have
periodic motion along the x-axis, y-axis, z-axis successfully developed a five degree of
repectively. Fig 7 shows the average distance freedom robotic arm that can be controlled by
from a target moving in a circular motion a monkey (Taylor et al. 2002). The arm is
along the x-axis and y-axis. It is easiest to controlled by using activation levels of
evolve controllers for targets which can be neurons in the brain to control the arm. One of
tracked by moving only a single joint, as is the major obstacles in developing a prosthetic
demonstrated by the controller evolved for arm for humans is designing algorithms that
tracking a target moving in a circle. Evolving can effectively control an arm with many
networks that tracked moving targets by degrees of freedom using only a few neurons.
controlling multiple joints proved to be more Future research on developing algorithms that
difficult. When networks were evolved for can simulate effective arm control with a few
tracking a target that moved along the y-axis, neurons will help in developing more
the best network initially tracked the target, sophisticated prosthetic devices.
but as the target moves away from the end-
References:
Conclusion:
In this paper Design concepts of the robotic 1.http://www.cs.utexas.edu/ftp/pub/AI-
arm control system is propose. It includes the Lab/tech-reports/UT-AI-TR-05-322.pdf
mechanical and structural design and defining 2.http://cegt201.bradley.edu/projects/proj20
parameters. 05/vlsirac/deliverables/proposal.pd
3.http://www.jhu.edu/virtlab/robot1/robot.h
tm
4.http://www.societyofrobots.com/robot_ar
m_tutorial.shtml
5.http://robotclothes.com/insideout/archives
/2005/08/big_humanoid_ar.html
6.http://robots.net/ http://www.used-
robots.com/robot-education.php

You might also like