“Modelling of Robotic arm” Ramjee Prasad 10804900 Rh6802B54 B.

Tech (LEET) ECE Introduction: The term robot comes from the Czech word robota, generally translated as "forced labor." This describes the majority of robots fairly well. Most robots in the world are designed for heavy, repetitive manufacturing work. They handle tasks that are difficult, dangerous or boring to human beings. The most common manufacturing robot is the robotic arm. A typical robotic arm is made up of seven metal segments, joined by six joints. The computer controls the robot by rotating individual step motors connected to each joint (some larger arms use hydraulics or pneumatics). Unlike ordinary motors, step motors move in exact increments. This allows the computer to move the arm very precisely, repeating exactly the same movement over and over again. The robot uses motion sensors to make sure it moves just the right amount. An industrial robot with six joints closely resembles a human arm -- it has the equivalent of a shoulder, an elbow and a wrist. Typically, the shoulder is mounted to a stationary base structure rather than to a movable body. This type of robot has six degrees of freedom, meaning it can pivot in six different ways. A human arm, by comparison, has seven degrees of freedom. Like our arm's job is to move your hand from place to place. Similarly, the robotic arm's job is to move an end effector from place to place. You can outfit robotic arms with all sorts of end effectors, which are suited to a particular application. One common end effector is a simplified version of the hand, which can grasp and carry different objects. Robotic hands often have built-in pressure sensors that tell the computer how hard the robot is gripping a particular object. This keeps the robot from dropping or breaking whatever it's carrying. Other end effectors include blowtorches, drills and spray painters. Industrial robots are designed to do exactly the same thing, in a controlled environment, over and over again. For example, a robot might twist the caps onto peanut butter jars coming down an assembly line. To teach a robot how to do its job, the programmer guides the arm through the motions using a handheld controller. The robot stores the exact sequence of movements in its memory, and does it again and again every time a new unit comes down the assembly line. Most industrial robots work in auto assembly lines, putting cars together. Robots can do a lot of this work more efficiently than human beings because they are so precise. They always drill in the exactly the same place, and they always tighten bolts with the same amount of force, no matter how many hours they've been working. Manufacturing robots are also very important in the computer industry. It takes an incredibly precise hand to put together a tiny microchip. Defining parameters:

Number of axes – two axes are required to reach any point in a plane; three axes are required to reach any point in space. To fully control the orientation of the end of the arm (i.e. the wrist) three more axes (yaw, pitch, and roll) are required. Some designs (e.g. the SCARA robot) trade limitations in motion possibilities for cost, speed, and accuracy.

• • •

• •

Degrees of freedom which is usually the same as the number of axes. Working envelope – the region of space a robot can reach. Kinematics – the actual arrangement of rigid members and joints in the robot, which determines the robot's possible motions. Classes of robot kinematics include articulated, cartesian, parallel and SCARA. Carrying capacity or payload – how much weight a robot can lift. Speed – how fast the robot can position the end of its arm. This may be defined in terms of the angular or linear speed of each axis or as a compound speed i.e. the speed of the end of the arm when all axes are moving. Acceleration - how quickly an axis can accelerate. Since this is a limiting factor a robot may not be able to reach its specified maximum speed for movements over a short distance or a complex path requiring frequent changes of direction. Accuracy – how closely a robot can reach a commanded position. Accuracy can vary with speed and position within the working envelope and with payload (see compliance). It can be improved by Robot calibration. Repeatability - how well the robot will return to a programmed position. This is not the same as accuracy. It may be that when told to go to a 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 position is taught into controller memory and each time it is sent there it returns to within 0.1 mm of the taught position then the repeatability will be within 0.1 mm. Motion control – for some applications, such as simple pick-and place assembly, the robot need merely return repeatably to a limited number of pre-taught positions. For more sophisticated applications, such as welding and finishing (spray painting), motion must be continuously controlled to follow a path in space,

with controlled orientation and velocity. Power source – some robots use electric motors, others use hydraulic actuators. The former are faster, the latter are stronger and advantageous in applications such as spray painting, where a spark could set off an explosion; however, low internal airpressurisation of the arm can prevent ingress of flammable vapours as well as other contaminants. Drive – some robots connect electric motors to the joints via gears; others connect the motor to the joint directly (direct drive). Using gears results in measurable 'backlash' which is free movement in an axis. Smaller robot arms frequently employ high speed, low torque DC motors, which generally require high gearing ratios; this has the disadvantage of backlash. In such cases the harmonic drive is often used. Compliance - this is a measure of the amount in angle or distance that a robot axis will move when a force is applied to it. Because of compliance when a robot goes to a position carrying its maximum payload it will be at a position slightly lower than when it is carrying no payload. Compliance can also be responsible for overshoot when carrying high payloads in which case acceleration would need to be reduced.

Robot Arm Design: The robot arm is probably the most mathematically complex robot you could ever build. As such, this tutorial can't tell you everything you need to know. Instead, I will cut to the chase and talk about the bare minimum you need to know to build an effective robot arm. Enjoy! To get you started, here is a video of a robot arm assignment I had when I took Robotic Manipulation back in college. My group programmed it to type the current time into the keyboard . . . (lesson learned, don't crash robot

arms into your keyboard at full speed while testing in front of your professor) 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 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.

3 DOF Robot Arm, with a translation joint:

5 DOF Robot Arm:

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 human joint can rotate more than about 200 degrees. Limitations could be from wire wrapping, actuator capabilities,servo max angle, etc. It is a good idea to label each link length and joint max angle on the FBD.

Now lets assume that all joints rotate a maximum of 180 degrees, because most servo motors cannot exceed that amount. To determine the workspace, trace all locations that the end effector can reach as in the image below.

The robot arm can also be on a mobile base, adding additional DOF. If the wheeled robot can rotate, that is a rotation joint, if it can move forward, then that is a translational joint. This mobile manipulator robot is an example of a 1 DOF arm on a 2 DOF robot (3 DOF total). Robot Workspace:

Now rotating that by the base joint another 180 degrees to get 3D, we have this workspace image. Remember that because it uses servos, all joints are limited to a max of 180 degrees. This creates a workspace of a shelled semisphere . If you change the link lengths you can get very different sizes of workspaces, but this would be the general shape. Any location outside of 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.

Force Calculations of Joints: This is where this tutorial starts getting heavy 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:

Ex:-Here we can calculate end effector location with given joint angles and link lengths. To make visualization easier for you, I drew blue triangles and labeled the angles.

Inverse Kinematics: weight of each linkage o weight of each joint o weight of object to lift
o

length each linkage
o

of

Next you do a moment arm calculation, multiplying downward force times the linkage lengths. This calculation must be done for each lifting actuator. This particular design has just two DOF that requires lifting, and the center of mass of each linkage is assumed to be Length/2. As you can see, for each DOF you add the math gets more complicated, and the joint weights get heavier. You will also see that

Inverse kinematics is the opposite of forward kinematics. This is when you have a desired end effector position, but need to know the joint angles required to achieve it. The robot sees a kitten and wants to grab it, what angles should each joint go to? Although way more useful than forward kinematics, this calculation is much more complicated too. As such, I will not show you how to derive the equation based on your robot arm configuration. So what makes inverse kinematics so hard? Well, other than the fact that it involves nonlinear simultaneous equations, there are other reasons too. First, there is the very likely possibility of multiple, sometimes infinite, number of solutions (as shown below). How would your arm choose which is optimal, based on

torques, previous arm position, gripping angle, etc.?

vary between them. When you tell the end 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 straight line. In the bottom example, the arm is told to get to the red point as fast as possible. Given many different trajectories, the arm goes the method that allows the joints to rotate the fastest.

There is the possibility of zero solutions. Maybe the location is outside the workspace, or maybe the point within the workspace must be gripped at an impossible angle. 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 space. The end effector will traverse the space just like a mobile robot, except now it must also make sure the other joints and links do not collide with anything too. This is extremely difficult to do. Velocity (and more Motion Planning): Calculating end effector velocity is mathematically complex, so I will go only into the basics. The simplest way to do it is assume your robot arm (held straight out) is a rotating wheel of L diameter. The joint rotates at Y 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

Which method is better? There are many deciding factors. Usually you want straight lines when the object the arm moves is really heavy, as it requires the momentum change for movement (momentum = mass * velocity). But for maximum speed (perhaps the arm isn't carrying anything, or just light objects) you would want maximum joint speeds. Now suppose you want your robot arm to operate at a certain rotational velocity, how much torque would a joint need? First, lets go back to our FBD:

Now lets suppose you want joint J0 to rotate 180 degrees in under 2 seconds, what torque does the J0 motor need? Well, J0 is not affected by gravity, so all we need to consider is momentum and inertia. Putting this in equation form we get this: 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 change_in_angular_velocity =(angular_velocity1)-(angular_velocity0) angular_velocity =change_in_angle/change_in_time Now assuming at start time angular_velocity0 is zero, we get 0 that *

Arm sagging is a common affliction of badly designed robot arms. This is when an arm is too long and heavy, bending when outwardly stretched. When designing your arm, make sure the arm is reinforced and lightweight. Do a finite element analysis to determine bending deflection/stress .

Keep the heaviest components, such as motors, as close to the robot arm base as possible. It might be a good idea for the middle arm joint to be chain/belt driven by a motor located at the base (to keep the heavy motor on the base and off the arm). Sensing: Most robot arms only have internal sensors, such as encoders. But for good reasons you may want to add additional sensors, such as video, touch, haptic, etc. A robot arm without video sensing is like an artist painting with his eyes closed. Using basic visual feedback algorithms, a robot arm could go from point to point on its own without a list of preprogrammed positions. Giving the arm a red ball, it could actually reach for it (visual tracking and servoing). If the arm can locate a position in X-Y space of an image, it could then direct the end effector to go to that same X-Y location (by using inverse kinematics). Haptic sensing is a little different in that there is a human in the loop. The human controls the robot arm movements remotely. This could be done by wearing a special glove, or by operating a miniature model with position sensors. Robotic arms for amputees are doing 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

torque = (mass * distance^2) (angular_velocity / change_in_time)

where distance is defined as the distance from the rotation axis to the center of mass of the arm: center of mass of the arm = distance = 1/2* (arm_length) (use arm mass) but you also need to account for the object your arm holds: center of mass of the object = distance = arm_length (use object mass) So then calculate torque for both the arm and then again for the object, then add the two torques together for the total: torque(of_object) torque(for_motor) Arm Sagging : + torque(of_arm) =

(vibrating the glove, locking model joints, etc.).

Tactile sensing (sensing by touch) usually involves force feedback sensors and current sensors. These sensors detect collisions by detecting unexpected force/current spikes, meaning a collision has occurred. A robot end effector can detect a successful grasp, and not grasp too tight or too lightly, just by measuring force. Another method would be to use current limiters - sudden large current draws generally mean a collision/contact has occurred. An arm could also adjust end effector velocity by knowing if it is carrying a heavy object or a light object - perhaps even identify the object by its weight. Fault Monitoring and Collision Avoidness: It is critical that robotic arm operate safely during the execution of its assigned tasks so as not to damage itself or other hardware. Each time through the control loop, sensor data is analyzed and assessment made as to whether any hardware failures have occurred. Available sensor data include joint positions from both encoders pot voltages, motor currents, joint temperature, power supply status, and A/D reference voltages. Potential hardware faults include failures of the sensors, motors, power supply, or voltage reference. the positions of the joints as determined from both encoders and pot voltages is also assessed and if the difference exceeds a specified limit ,the arm is recalibrated , during normal operation the encoders are used to as the primary joint-position sensor with some degradation of positioning accuracy. Trajectory Planning:

The robotic arm has the capability to execute 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 software, a sequence of via points in computed for any motion command and only after the arm has nearly reached the current via points is the next via point sent to the ACE. Thus trajectory is generated as a sequence of points in space only and not in time. The one exception is the timed joint motion commands in which the operator can command each joint to move for a specified amount of time in which case the generated trajectory is a sequence of via points in time only and not in space. End effectors: The most essential robot peripheral is the end effector, or end-of-arm-tooling. Common examples of end effectors include welding devices (such as MIG-welding guns, spot-welders, etc.), spray guns and also grinding and deburring devices (such as pneumatic disk or belt grinders, burrs, etc.), and grippers (devices that can grasp an object, usually electromechanical or pneumatic). Another common means of picking up an object is by vacuum. End effectors are frequently highly complex, made to match the handled product and often capable of picking up an array of products at one time. They may utilize various sensors to aid the robot system in locating, handling, and positioning products. Neuroevolution of a Robot Arm Controller Introduction:

Arm movements at stationary or moving targets are common in the motor repertoire of humans, but little is known on how the brain uses spatiovisual information concerning the locations of targets for the generation of arm movements and how it controls the different neural and muscular structures involved during the formation of arm trajectories. Newborn babies possess biological networks that are initally capable of performing only reflex actions. As infants learn about their surroundings and begin to comprehend their senses, their biological networks complexify allowing them to perform more intelligent motor control tasks. Using neuroevolution it is possible to evolve networks that can simulate infant motor development. Neuroevolution was used to evolve controllers for a simulated robot arm that can position the arm’s endeffector close to a stationary target and track moving targets. In order to successfully control an arm, a neurocontroller must satisfy two conditions: 1) A neural controller must be able to sucessfully interact with its arm in order to execute centrally planned complex actions. 2) Visually specified goals must be linked with appropriate motor acts, these motor acts must be able to move the arm to the desired goal (Konczak 2004). Newborn babies cannot peform these processes for many reasons: they have limited knowledge about the physical makeup of their bodies, their limited motor repertoire consists only of reflex actions, they have limited visual capabilities, and they do not possess complex neural control mechanisms. Despite these limitations, babies as young as one week will attempt small arm movements directed to a target. Even though these early arm movements are unpredictable, they are not the result of random activity or purely reflex actions (Trevarthen 1980). As soon as infants begin catching stationary objects successfully, they also begin to catch moving objects. According to Von Hofsten, at 18 weeks babies are able to perform anticipatory arm movements when trying to intercept a moving target; these interceptive actions are triggered by the presence of a target in the infant’s field of view (von Hofsten 1980). At about three months of age, infants reach consistently for targets in their surroundings and rarely miss their targets (Konczak 2004). Kinematically their hand

paths become straighter and they show signs of external force manipulation. Infant movements become more economical and muscles are activated only when they are needed. At 24 to 36 months of age, infants demonstrate adult-like capability in reaching for stationary and moving targets (Konczak 2004). Many of the problems associated with the planning and execution of human arm trajectories are illuminated by control strategies which have been developed for robotic manipulators. Since artificial and biological motor control systems often face the same problems, the solutions to these problems are also the same (Hollerbach 1985). This paper presents results on arm positioning and target tracking for a simulated robot arm, that parallel results from arm positioning and target tracking experiments that were carried out on infants (Jansen-Osmann et al. 2002; von Hofsten et al. 1998). This paper models two aspects of infant development using neurocontrollers: 1) infants’ ability to generalize which enables them to perform reaching tasks that they have not previously performed, and 2) infants ability to extrapolate paths of moving objects in order to track them. The next section describes learning algorithms that have been applied to robot control tasks. Section 3 describes the Simderella robot arm simulator and the NeuroEvolution of Augmenting Topologies (NEAT) genetic algorithm. Related Work: Robot arm control using distance sensors is a complex task that requires mapping the target’s location relative to the endeffector to joint movements that position the arm near the target. It is difficult to specify such a mapping by hand, so researchers have applied various machine learning techniques to learn successul control strategies. Supervised learning methods have been applied to robot control tasks (van der Smagt 1995). Supervised learning requires training examples that demonstrate the correct mapping from input to output. During training the network is present with input from the training set, and the output is compared to the desired output. Errors are calculated according to differences, and modifications are made to the network’s weights using backpropagation. One limitation of this approach is that

generating training examples for complex tasks can be difficult. Exploratory methods involve providing the robot with a set of exploratory behaviors. The robot learns affordances during a behavioral babbling stage where the robot randomly chooses different exploratory behaviors, applies them to objects and detects sensor invariants (Stoytchev 2005). A shortcoming of this approach is that there are affordances that cannot be discovered because the robot does not possess the required exploratory behavior. Both supervised learning methods and expoloratory approaches require human input which can be cumbersome. Supervised learning methods try to model how infants are taught by demonstration while exploratory methods model how infants use a subset of their behaviorial repertoire to perform a task. Using supervised learning, the controller learns behaviors very similar to those in the training set. In exploratory learning, the controllers learn behaviors that are a combination of the exploratory behaviors that it was provided with. Both supervised and exploratory learning cannot properly model learning completely new behaviors. Learning 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 can also be used to learn to position the arm near a target after performing multiple joint movements. Using these methods it is possible to learn new effective behaviors in a way similar to how infants try out different behaviors and thereby discover useful ones. Neuroevolution of networks has been shown to be as effective and in some cases outperforms

reinforcement learning methods (Moriarty and Miikkulainen 1996). This paper uses the NEAT genetic algorithm to evolve robot controllers. When adult humans perform goaldirected arm movements under the influence of an external force, they learn to adapt to the external force. After removing the external force field, they reveal kinematic after-effects that are indicative of a neural controller that still compensates for the external force. This behaviour suggests that humans use a neural representation of the inverse arm dynamics required to control their arms (Konczak 2004). This paper proposes that the neural representation is a biological neural network, which can be modified based on the task the human is trying to acheive. For example, when humans perform reaching tasks under an external force field, they learn to move their arms while applying a force opposite to that of the external force field. This is possible because biological neural networks can be modified to perform a task under different conditions. This paper tries to model the neural inverse dynamics model of the brain by evolving robot arm neurocontrollers using the NEAT genetic algorithm. NEAT does not require

explicit training examples and can be used to evolve neural networks for control tasks. NEAT which evolves both structure and weights of neural networks was used to evolve controllers which were tested using a simulated OSCAR-6 robot arm. NEAT combines the usual search for the appropriate network weights with complexification of the network structure, allowing the behavior of

evolved neural networks to become increasingly sophisticated over generations . Simderella: The Simderella 3.0 simulator is based on the OSCAR- 6 anthropomorphic arm; controllers that perform well.

used to specify a new path for the arm during each time-step. NEAT: 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.

Figure 2: Evolved network for stationary target task. The final complex network that is evolved by adding nodes and connections and mutating weights. The black lines represent excitatory connections and the blue lines represent inhibitory connections. within Simderella exhibit the same performance level in the OSCAR-6 robot arm. Simderella abstracts the mechanical structure and electronic hardware of a physical robot arm and provides an interface to test various control strategies. Simderella provides an environment where one can place simulated targets. Simderella has six rotational joints, whose position can be set by a controller. A neural network that is provided with relative positions and velocities of targets to the endeffector, and with an appropriate fitness function can evolve to learn the sequence of joint angles that are required to position its end-effector close to a target. The simderella robot arm is described in a Denavit-Hartenberg matrix which is read at startup. Coordinate frames are assigned to each link which are used during forward kinematics to alter the position of the arm for a given set of joint angles. During normal operation, target joint values _, velocities _˙ and accelerations _¨ are

NEAT has been shown to be effective in many applications such as pole balancing, robot control, vehicle control, board games and videogames (Stanley 2004; Stanley and Miikkulainen 2004). NEAT is based on three fundamental principles: 1) incrementally growing networks from a minimal structure 2) employing a principled method of crossover of different topologies 3) protecting structural innovation through speciation. NEAT genomes consist of a list of node genes which specify whether a node is an input, output or bias node, and connection genes which specifies the connection in-node, outnode, connection weight, whether or not the connection is enabled and an innovation number which is a unique identifier assigned to each gene and used to differentiate between genes. Genetic algorithms use mutation and crossover operators to grow networks. Structural mutations can occur in two ways add connection in which a single new connection gene is added connecting two previously unconnected nodes, and add node where an existing connection is replaced with a new node. Whenever a new connection between nodes is created through mutation, it is assigned a unique innovation number. Crossover (mating) is used to produce offspring at each generation from existing high fitness parent networks. The efficient mating 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. NEAT can form a diverse population of networks by adding new genes and mating sensibly. One problem with this approach is that smaller networks optimize faster than large networks, and adding new connections and genes ususally initially decreases the fitness of the network, thus newly created structures are less likely to survive. This problem is solved by speciation which divides the population into separate, distinct subpopulations. The structure of each individual is compared dynamically with others and those with similar structure are grouped together. Individuals within a species share the species’ overall fitness, and compete primarily within that species. Speciation allows new innovations to be optimized without facing competition from individuals with different structures. Figure 2 depicts a network evolved for the stationary task. The network is complex and has many hidden units in order to effectively approximate the nonlinear inverse kinematic equations required to maneuver the arm. Stationary Targets: Each neural network starts at a standard position. During evolution, the target position is selected randomly from a set of 512 positions, and remains constant during a single trial. During each trial the network is allowed to make twenty moves

Figure 4: Average distance for target with periodic motion along the x-axis of the arm. Distance information and velocity information of the target are used as inputs for the network which outputs the three joints rotations. The closest distance from the endeffector to the target during a single trial is used to calculate the percentage of distance the arm moved towards the target. For example, if the closest the end-effector gets to the target during the evaluation is 20 units and the initial distance of the target is 80 units, then the score is (80-20)/80=0.75 . The percentage of distance is a more accurate score of fitness rather than absolute distance as some networks may start closer to the target and get a high fitness score which is undesirable. The final fitness score for each network is averaged over five different target positions. As the target position is chosen randomly from a set of 512 positions, it is reasonable to claim that the best networks have learned to effectively control the arm. Ten runs of the stationary target task were performed and 200 generations each consisting of a population of size 100 were evolved. Figure 3 depicts the minimum distance of the target from the endeffector for the champion of each generation averaged over ten runs. Networks that can move the end-effector to within ten units of the target are found within 50 generations. It takes 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 target task are used as the starting networks for evolution in the moving target tasks. This process is used to simulate how infants incrementally learn tasks. The distance of the end-effector from the target averaged over the entire trial was used as the fitness function in order to promote networks that tried to move close to the moving target at each timestep. Networks that can effectively position the endeffector close to the moving targets are evolved within 100 generations. Figures 4, 5 and 6 depict the average distance from the moving target for 4

Figure 5: Average distance for target with periodic motion along the y-axis. periodic motion along the x-axis, y-axis, z-axis repectively. Fig 7 shows the average distance from a target moving in a circular motion along the x-axis and y-axis. It is easiest to evolve controllers for targets which can be tracked by moving only a single joint, as is demonstrated by the controller evolved for tracking a target moving in a circle. Evolving networks that tracked moving targets by controlling multiple joints proved to be more difficult. When networks were evolved for tracking a target that moved along the y-axis, the best network initially tracked the target, but as the target moves away from the endConclusion: In this paper Design concepts of the robotic arm control system is propose. It includes the mechanical and structural design and defining parameters.

effector, the controller did not learn to move its second joint to track target. The best network evolved for a target that moved along the z-axis showed similar results. However, it was possible to evolve a network that could control two of its joints in order to track a target that moved along the x-axis. The best network moved its first and second joints in order to track the moving target. These results illustrate that it is relatively easy to evolve a controller that can track moving targets by moving a single joint. It is much harder to evolve networks that can move multiple joints to track moving targets. 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 are able to control a robotic arm helps in understanding how humans control their arms and also aids in developing more sophisticated prosthetic devices. Researchers have successfully developed a five degree of freedom robotic arm that can be controlled by a monkey (Taylor et al. 2002). The arm is controlled by using activation levels of neurons in the brain to control the arm. One of the major obstacles in developing a prosthetic arm for humans is designing algorithms that can effectively control an arm with many degrees of freedom using only a few neurons. Future research on developing algorithms that can simulate effective arm control with a few neurons will help in developing more sophisticated prosthetic devices. References: 1.http://www.cs.utexas.edu/ftp/pub/AILab/tech-reports/UT-AI-TR-05-322.pdf 2.http://cegt201.bradley.edu/projects/proj20 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.usedrobots.com/robot-education.php

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.