final year report
TRANSCRIPT
1
CHAPTER ONE
INTRODUCTION
1.1 BACKGROUND
A robot is any automatically operated machine that replaces human effort, though it may
not resemble human beings in appearance or perform functions in a humanlike manner. By
extension, robotics is an engineering discipline dealing with the design, construction, and
operation of robots.The modern term robot is derived from the Czech word robota (“forced
labour” or “serf”). Robots are built for different purposes, like for industrial, domestic or even
for scientific purposes.
1.2 SCOPE
The robot to be built in question will have six legs and will have locomotion similar to
that of an insect-an ant, this is a technique called Biomimetics.1 In order to develop this robot a
model will be created which will help in the design of the robot. In constructing the robot, there
are certain case studies that have taken into consideration; like considering the type of terrain the
robot‟s locomotion would move on. The rainforest has been picked as a case study because of its
unusually rough terrain which consists of different soil types, like the rocky, sandy and marshy
soil types. The robot‟s movement will entirely be orchestrated with the use of twelve actuators or
1 An actuator is a mechanical device used for moving or controlling a mechanism or system. It takes energy
transported by air, electric current, or liquid.
2
effectors. These actuators will be driven by a PIC 18F4550 microcontroller which will be
programmed to move each actuator according to a particular gait style to be employed.
1.3 OBJECTIVE
The objective of this project is to build a hexapod (six legged) robot and to make sure it
move, depending on the gait style to be used.
The robot to be built in question will have six legs and will have locomotion similar to
that of an insect-an ant, this is a technique called Biomimetics.2 In order to develop this robot a
model will be created which will help in the design of the robot.
The robot‟s movement will entirely be orchestrated with the use of twelve actuators or
effectors. These actuators will be driven by a PIC 18F4520 microcontroller which will be
programmed to move each actuator according to a particular gait style to be employed.
1.4 PROJECT OVERVIEW
The goal of the hexapod robot project is to provide a physical test-bed for developing and
testing control system architectures conforming to the principles of control theory and also to
generate a library of control algorithms that would enable the robot autonomously adapt to the
rainforest region. The hexapod design was selected for this project because hexapods do not
require complex balancing mechanisms (thus simplifying design requirements).
The general design requirements include the following:
Low cost: The entire system must be produced within the constraints of a very modest
budget.
2 An actuator is a mechanical device used for moving or controlling a mechanism or system. It takes energy
transported by air, electric current, or liquid.
3
Relative simplicity: It must be within my technical competence to build and program.
1.5 ROBOT ARCHITECTURE
The hexapod robotic system presented in this paper was developed bearing in mind
several abilities such as, moving on irregular paths, overcoming obstacles, climbing and going
down stairs, without compromising its stability and keeping a low overall weight. The robot to
be built will have the same structure of an arthropod-an ant, having six legs, each leg will have 2
DOFs.
The mechanical structure of the hexapod robot to be built consists of one rigid, load
carrying mainframe with six legs, similar and symmetrical distributed. Each leg is composed of 2
joints or links to which 2 actuators / effectors3 are attached (to enable it move) which are then
connected to the main body. According to (J.P.Flores Fernandes et al) for nb rigid body system
with nc independent constraint equations, the mobility or the number of degrees of freedom
(DOF) is given by:
DOF/joint = 6nb - nc (1)
`This mathematical expression above, usually called the Griebler- Kutzback equation, can
be used to determine the mobility of the hexapod robotic model. Using the equation above, each
leg has 2 joints, meaning, 2 DOFs. Considering six legs the system has a total of 12 DOFs.
Hence, it is necessary to know that there are twelve generators of motion (servomotors /
actuators).
3 DOF in this context means Degree of Freedom – no of axis movements on a control system.
4
CHAPTER 2
LITERATURE REVIEW
2.1 HISTORY OF ROBOTICS
The word robot was coined by a Czech novelist Karel Capek in a 1920 play titled
Rassum‟s Universal Robots (RUR). Robot in Czech is a word for worker or servant. A robot is a
reprogrammable, multifunctional manipulator designed to move material, parts, tools or
specialized devices through variable programmed motions for the performance of a variety of
tasks: Robot Institute of America, 1979.
2.2 CHRONOLOGY OF ROBOTICS
1954: The first programmable robot is designed by George Devol, who coins the term Universal
Automation. He later shortens this to Unimation, which becomes the name of the first robot
company (1962).
1978: The Puma (Programmable Universal Machine for Assembly) robot is developed by
Unimation with a General Motors design support.
1980s: The robot industry enters a phase of rapid growth. Many institutions introduce programs
and courses in robotics. Robotics courses are spread across mechanical engineering, electrical
engineering, and computer science departments.
1995-present: Emerging applications in small robotics and mobile robots drive a second growth
of start-up companies and research.
5
2003: NASA‟s Mars Exploration Rovers will launch toward Mars in search of answers about the
history of water on Mars
2.3 KNOWLEDGE BASE FOR ROBOTICS
Typical knowledge base for the design and operation of robotics systems:
Dynamic system modeling and analysis
Feedback control
Sensors and signal conditioning
Actuators (muscles) and power electronics
Hardware/computer interfacing
2.4 ROBOT BASE
Robotic manipulators used in manufacturing are examples of fixed robots. They cannot
move their base away from the work being done.
Mobile bases are typically platforms with wheels or tracks attached. Instead of wheels or
tracks, some robots employ legs in order to move.
6
(a)
(b)
Fig 2.1 (a) Mobile Robot (b) Fixed Robot
7
2.4.1 LEGS AND WHEELS
Most man-made vehicles today travel on wheels and for good reason: wheels are much
easier to construct and control. In today‟s economy, they also tend to be much cheaper than their
legged counterparts. However legs have distinct advantages over wheels. The biggest advantage
is in transversability and efficiency. Legged robots have a unique ability to:
Isolate their body from terrain irregularities
Avoid undesirable footholds
Regulate their stability
Achieve energy efficiency
These advantages are very desirable in modern robotics, and therefore a lot of research is
being put into creating robots that can walk. The most challenging task in designing a legged
robot is to create a system that can generate the proper gait.
2.4.2 DYNAMIC VS. STATIC
Locomotion techniques can be divided into two main categories: static and dynamic.
Robots that use static movement are always balanced; that is, their center of gravity is always
within their ground contact base. While this technique has been successfully used to create many
robots (included wheeled ones), it is more akin to wheeled movement than true dynamic walking
and as such retains fewer of the advantages. While more adept at traversing uneven terrain than
most wheeled robots, robots that use static walking are very inefficient as power is put into every
movement. However, robots that use static walking are much easier to control than their dynamic
counterparts and thus often more viable.
8
Dynamic walking is characterized in that the robot is not always in balance. Many robots
that use dynamic walking are continually “falling” and thus much more energy efficient.
Dynamic walking requires much more complex control systems in order to not fall. Robots
utilizing dynamic walking cannot use the same motions at different speeds to attain different
speeds of movement, but must use entirely different motions at different speeds. However,
dynamic walking can achieve many more advantages over wheeled locomotion. Dynamic
walking is found very abundantly in nature.
A subset of dynamic walking is called passive dynamic movement. Most dynamic
walking systems use active control to move the legs to the correct orientations for walking
(hence active dynamic walking). Passive dynamic walking is characterized by a system where
“gravity and inertia alone generate the locomotion pattern.” Passive dynamic movement can be
achieved with maximum efficiency, as the vehicle uses its own forward momentum to propagate
its next movement. Very little energy is lost from the system. Most of the concepts of passive
dynamic walking and research conducted in the field was done by aeronautical engineer Tad
McGeer between 1988 and 1992.
2.4.3 LEGGED ROBOTS
“In the early days of air travel, detractors used to argue that, if God had meant us to fly,
he would have given us wings. Had he meant us to roll, he might also have given us wheels – but
instead we, along with the great preponderance of land animals great and small, have wound up
traveling on legs.”
9
2.4.3.1 MORE THAN FOUR
Many different walking robots have been developed that use six or more legs. This is due
to the fact that a robot using this many legs can be controlled with static walking techniques
rather than dynamic walking. Most of the walking techniques can be demonstrated sufficiently
using the six legged model:
1. Six legged robot in neutral position
2. Front pair of legs move forward
3. Second pair of legs move forward
4. Third pair of legs move forward
5. Body follows legs forward
6. Six legged robot in neutral position
7. Alternating legs move forward on either side
8. All other legs move forward
9. Body follows legs forward
10
(1) (2) (3) (4) (5)
(a)
4
(1) (2) (3) (4)
(b)
Fig 2.2 Different gait styles (a) Wave Gait (b) Tripod Gait
4 Most robots using six or more legs use a variation of one of these two gait models.
11
2.4.3.2 FOUR LEGS
A system on four legs is another walking scheme found readily in nature. Four legged
robots have the advantage of being statically stable when not moving, but require dynamic
walking control. There are many different ways for a four legged robot to walk including
alternating pairs and opposite pairs as in six legged robots. However these techniques now cease
to be statically stable and thus require dynamic control.
Boston Dynamics has developed a four legged robot for DARPA (Defense Advanced
Research Projects Agency) called “Big Dog,” that they claim is “the most advanced quadruped
robot on earth.” Big Dog can run at four miles per hour, climb thirty five degree slopes, and carry
340 pounds. But the most impressive feature is its dynamic walking: Big Dog can recover from
slipping and even being pushed. Its behavior is such that it approaches the infamous “uncanny
valley”.
2.4.3.3 THREE LEGS
Three legged robots are not very common, especially since they have no biological
counterparts. However, researchers at Virginia Tech‟s RoMeLa lab have developed a three
legged robot STriDER that uses a “revolutionary” passive dynamic walking technique. STriDER
is short for Self-excited Tripedal Dynamic Experimental Robot. STriDER sways until it can lift
one leg, and using the other two as an A-frame, swing it in between the other two “stance” legs
moving forward at a sixty degree angle. This patent pending “tripedal gait” is extremely energy
efficient and requires minimal control. It also allows STriDER to easily change directions by
changing the sequence of its steps.
12
2.4.3.4 TWO LEGS
Two legged robots have probably seen the most development dollars since humanoid
robots have been envisioned since the very beginning of the field. Much of the development in
passive dynamic walking has been done in this area. The design of a bipedal passive dynamic
walker begins with the concept of a wheel with spokes. If the wheel is divided into sections, and
all but two removed, we have what appears to be a set of legs. When the mass is properly
distributed, the legs each act as inverted pendulums and the robots “rolls” through its steps.
Further complexity can be added to the model by using knee joints to shorten the legs
(allowing one to swing past the other without touching the ground) and ankle joints that can
provide a “spring” to the step to add lost energy back into the system.
There are several robots that have used these concepts to achieve firsts in the field of
robotics. “RunBot,” developed in Germany and Scotland, broke the speed record per size for a
robot in April 2006 by walking at 3.5 leg-lengths per second. The Cornell Ranger, while not
truly passive, is passive inspired and one of many robots that has more than two legs but is still
classified as bipedal. When viewed from the side, Ranger appears to have only two legs, but it
actually has four legs. These four legs act in pairs of two, qualifying it as bipedal but providing
better lateral stability. On April 3, 2008 Ranger walked 9.07 kilometers without stopping, an
unofficial record at that time (it has since been surpassed, according to the Cornell team, by
Boston Dynamic‟s Big Dog).
One of the most successful companies at building bipedal robots over the years has been
Honda. Their most recent model, ASIMO, is one of the few bipedal robots that appears
humanoid, can climb stairs, and carries its own power supply. ASIMO can also change its gait in
13
real time using Honda‟s i-WALK technology. This allows ASIMO to continuously change
speeds and direction. The robot can walk up stairs and run up to four miles per hour.
2.4.3.5 ONE LEG
1980 and 1993 there was a lot of research in making one legged robots at the
Massachusetts Institute of Technology (MIT). The MIT lab turned out a series of “MIT hoppers”
that could balance themselves and traverse a path. The biggest challenge with the hoppers was
that they could not stand still; they needed to continue hopping in order to maintain their balance.
Researchers were able to build a 3-D One-Leg Hopper that “hopped in place, traveled at a
specific rate, followed simple paths, and maintained balance when disturbed.”They also
constructed a hopper named Uniroo that used an actuated tail to maintain its balance.
In the building or construction of a robot, it is important for the designers to understand
basic laws of kinematics, and also know how to minimize modeling errors.
Building a six legged robot or cybernetic arachnids has a lot of relevance or benefits to
control engineering or life as a whole. To mention a few, some of them are Impedance control,
negative and positive feedback, Inverse Kinematics, Forward Kinematics, Impedance control
which studies the torque versus speed characteristics of the actuator, behavior-based learning
using positive and negative feedback techniques that allows the robot to maneuver around by
gaining experience, and so on.
2.5 FORWARD KINEMATICS
On the other hand, forward kinematics is directly the opposite which states that “Given
the angles of the robot‟s joints, what is the position of the hand”.
14
One of the differences between forward and inverse kinematics is that forward kinematics
just involves finding the angles and coordinates of one part of the robot as against being given
other parts, while is the direct opposite. They both serve the same use.
2.6 BEHAVIOUR BASED LEARNING
An architecture is desired that will allow the robot to autonomously adapt its leg and gait
control to variable terrains. The robot learns based on positive and negative feedback, thus
eliminating the need for the programmer to solve all the potential walking problems ahead of
time. The end goal was to control overall robot functionality by selecting the appropriate
behaviours from a “library of behaviours” defining the connections to the sensors and actuators,
defining the positive and negative feedback functions, and then letting the behaviours learn from
experience when to become active.
As with all behavior based robots the algorithm is mostly distributed. Each behavior tries
to find out, based on feedback when the appropriate times are for it to be active. That is, in what
situations is a particular behaviour‟s operation relevant? Also, what are the conditions in which
its operation becomes reliable? That is, when is the behaviour‟s operation consistently associated
with positive feedback? Based on feedback, each behavior is able to determine its own relevance
and reliability in the context of a given situation. Using this algorithm the robot can successfully
learn how to walk using positive and negative feedback.
2.8 STUDY OF AN ADAPTIVE FEEDBACK LINERAIZATION STRATEGY
The idea is to propose an adaptive feedback linearization control strategy for the large-
angle rotational maneuver and vibration suppression of a flexible spacecraft. The model
estimator provides the approximate model through the measure of system input variable, output
15
variable (pitch angle) and its time derivative. The integral actions included not only can
compensate of the entire dynamics of the system which is assumed to be unknown, but also
ensure that the steady state error in the regulation of pitch angle is equal to zero.
In addition, the control law is easy to implement. Simulation results are presented to
show that, compared with differential geometric feedback linearization control and variable
structure adaptive control, the designed adaptive feedback linearization control is superior in
resisting external disturbances and adapting the uncertainties of system model.
2.9 USING A STABLE ROBOST ADAPTIVE CONTROL SYSTEM FOR
SOLVING UNKNOWN NON-LINEAR EQUATION
In order to develop a stable robust adaptive control approach for a class of unknown
nonlinear systems in the strict-feedback form with disturbances. By combining neural network
technique with back-stepping method and introducing a special type of Lyapunov functions, the
controller singularity problem is avoided perfectly. As the estimates of unknown neural network
approximation error bound and external disturbance bound are adjusted adaptively, the
robustness of the closed-loop system is improved and the application scope of nonlinear systems
is extended. The overall neural network control systems can guarantee that all the signals of the
closed-loop system are uniformly ultimately bounded and the tracking error converges to a small
neighborhood of zero by suitably choosing the design parameters. The feasibility of the control
approach is demonstrated through simulation results.
16
2.10 MEASURING THE CUTTING FORCE OF A SERVOMOTOR IN THE
FREQUENCY AND TIME DOMAINS
This method introduce an indirect method of measuring cutting force, in which the
current signal of the servo motor is measured instead of cutting force. The relationship between
the cutting force and the current signal of the servo motor is analyzed in detail. After the analysis
in the frequency and the time domain, the current Eigen value of the servo motor is found with
the various load torque and the mathematical models are created. Based on the current
restriction, an adaptive cutting force control for numerical control machine is also proposed.
Practical experiments have proved that this indirect measurement is reasonable and effective.
2.11 IMPEDANCE CONTROL
By impedance control we mean the closed loop impedance from the actuator
characteristics. The objective is to study how the non-linear characteristics of the actuator affect
the closed loop impedance of the system, whereby the torque/speed of the actuator are taken into
consideration.
The objective of impedance control is to design and implement feedback control so that
specific mechanical impedances are achieved at the manipulator end effector. The chief
advantage in accomplishing manipulation tasks is that interaction with external objects (task
parts, other manipulators, etc.) is managed by “low level” servo control. This greatly reduces the
detailed knowledge required at higher levels, and simplifies the planning and decision required to
perform basic motion functions.
17
Another objective of this method is to study the torque versus speed characteristics of the
actuator/effectors of the robot.
18
CHAPTER THREE
DESIGN THEORY AND METHODOLOGY
In order to design and construct the six-legged robot, various things are being considered,
some of which are listed below.
3.1 BUILDING THE ROBOT
The building of the robot is divided into two categories which is the mechanical and the
electronic parts. The mechanical aspect deals with the torque generated on each arm, the speed of
the motor, the weight of the material used and the inertia generated on each arm.
The electronic part consists of the circuit used and connected in such a way as to control
the actuators and also programming the actuators. In order to construct the six legged robot,
strategic planning must be taken. The major components that used in building the robot are listed
below:
PIC 18F45505
AX 12 Servomotor / actuator
Power supply circuit
74HC125 (Buffer Chip) / Simple Switcher
ICSP Connector
5 As mentioned above actuator also means effector or manipulator.
19
3.2 FABRICATION OF THE ROBOT FRAME
The robot frame was made of aluminum; it was ensured that it was light enough for the
servomotors to move each joint. Formerly, a proposition was made to use wood to build its frame
but it was later knocked off due to wood‟s fragility and its inability to stand the test of time; the
initially proposed structure (made of wood) is shown in Fig 3.1 and the final design after
construction is shown in Fig 3.2.
In the fabrication of the robot‟s frame, a sheet of aluminium was bought and then folded
into a square shaped cylindrical prism that was be about 35mm × 28mm × 24mm. In the cause of
building the robot so many things were brought into place, like the material used for the frame of
the robot which was aluminium. The aluminium used for the frame had to be cut to size with
dimensions between 35mm × 24mm, after which the sides were filed, as for the joints of the
robot, they were cut out and it was made sure that they were light enough for the actuators to
move the arms with the right amount of torque.
The torque provided by the AX-12 servomotor is about 12 kgf-cm (12N-cm)-which
implies that the motor exerts approximately a force of about 12 Newton to 1cm length of the arm
it will move. This implies that for every 1cm on each arm the motor can accommodate as much
as 12kgf-cm of weight- which is a massive amount of torque for a servomotor.
20
Fig 3.1 Diagram showing
(a) Initially Proposed Robot’s structure;
(b)Leg and joint movement of Robot to be built.
21
Fig 3.2 New Design of Robot
22
3.3 CIRCUIT CONFIGURATION
In the design of the hexapod robot the certain things were taken into account such that it
would be used in the analysis of the robot which is the reason of using the components being
used. The full circuit diagram at the appendix section of this dissertation, the circuit
configuration analysis is done below:
3.3.1 POWER SUPPLY CIRCUIT
The power supplied to the robot would be from the mains and would have to be rectified
in order for the PIC 18F4550. From the circuit below, the power supply section of the circuit
consists of a transformer that converts the Alternating current to a Direct current in order to feed
the PIC. A capacitor is placed after the bridge rectifier to smoothen the rectified AC signal.
LM7805 voltage regulator is used to power both the PIC 18F4550 and the AX-12 servos.
The PICs can withstand a DC voltage of about 5Volts and the AX-12s have a rated input of
about between 7-12Volts, but an optimum voltage of about 9Volts is good. In order to power
both sections of the circuit, a variable power supply is going to be used.
3.3.2 CONTROL SECTION
This section is one that involves controlling the servomotors with the use of a PIC
(18F4550) and a buffer chip (74HC125) which is used as a simple switcher in the control circuit.
A total of 12 servomotors would be controlled by this PIC, with just 2 servos per joint on each
leg, and since the robot has six legs with two on each limb; there will be twelve servomotors on
this robot.
23
Each leg has 2DOFs, and since the robot has six legs, there will be a total of 12 degrees
of freedom (DOF). Outlined below is a brief overview of the control section and some of the
components contained in it.
In addition to this, the PIC is connected to a buffer chip 74HC125 which is used as a
simple switcher.
3.3.3 BUFFER CHIP (74HC125)-SIMPLE SWITCHER
This chip is essentially useful because it is used to control which servo would be in use
and at which time, depending on the gait style to be used- in this case the tripod gait style is used.
The buffer chip is used as a simple switcher which is connected to the data pin of one of
the servomotor, whose logical state can be transmitted via daisy chain to other Ax-12 data pins.
The 74HC125 buffer chip has about 14 pins, out of which have 4OE (output enable);
these OE pins are connected to the data pins of the respective servos to be controlled, at the
beginning of which all four pins are at a high impedance state, which makes each of the Ax-12
servomotors inactive by not sending instructions to the servos. This means that anytime a
servomotor is to move a joint/ arm of the robot, the pin to which this servo is connected to
usually is left at a low impedance state while the others are at high impedance states.
3.3.4 THE AX 12 SERVOMOTOR
The AX-12 is a smart, modular and versatile actuator that incorporates a gear reducer, a
precision DC motor and a control circuitry with networking functionality, all in a single package.
Despite its compact size, it can produce a high torque (about 12kgf-cm / 229ounces-inches) and
is made with a high quality material to provide the necessary strength and structural resilience to
24
withstand large external forces. It also has the 6ability to detect and act up on internal conditions
such as changes in internal temperature or supply voltage. The robot being built has twelve AX-
12 actuators that will be programmed to suit the tripod gait style.
The Ax-12 can rotate at a maximum speed of about 114rpm. Standard hobby servos use a
variable duty cycle pulse train to control their shaft‟s angular velocity and position. The duty
cycle of the servo control pulse determines the servo shaft‟s rotational position while the angular
velocity of the servo shaft‟s rotational position while the angular velocity of the servo shaft is
dictated by the speed of the duty cycle modulation. Thus, the slower the duty cycle change, the
slower the angular velocity. The Dynamixel robot (Ax-12) actuators don‟t depend on pulse
widths for their position information. The Ax-12 servomotor is connected to the simple switcher
which controls the actuators one at a time by maintaining all individual ports but one at a high
impedance, while the other at a lower impedance. The Ax-12 receives data that indicates whether
it should move or not, this data is called the instruction packet while the data sent back to the
simple switcher circuit by the Ax-12 is called the status packet. The Ax-12 servos are arranged
on a link on the board connected to the simple switcher circuit that in addition to carrying
precision position and speed information, the digital packets can also transport robot information,
the digital packets can also transport robot actuator feedback data. We already know that with the
issuance of a command from a host controller, an Ax-12+ can report its angular position and/ or
its angular velocity. Other robot actuator parameters such as internal temperature, input voltage,
and load torque can also be queried by the host controller.
6 Gait style as mentioned above means the rate of moving or the technique used to move a system, as in the
case above it implies the robot‟s moving technique.
25
Some of the specifications of the AX-12 are: 7
Resolution: 0.35o
Operating Angle: 300o,
Endless Turn
Voltage: 7V-10V (Recommended voltage is 9.6Volts)
3.3.4.1 THE AX-12 CHARACTERISTICS
Some of this servomotor‟s characteristics are listed below:
1,000,000bps (1MBps) communication speed.
Full feedback on position, Speed, Load, Voltage, Temperature
Can be set to full rotation mode / servo range can be set by user
Full 300 degree movement in 1024 increments
Built in LED that can be used as a status indicator.
Automatic shutdown based on voltage, load or temperature.
Single cable network connections.
Hundreds of AX-12 can be connected with only 2 data ports.
7 Since the robot to be built has six legs, the tripod gait style is one that involves three of the robot‟s limbs
moving at the same time while the others are used to balance it.
26
3.3.4.2 CONTROLLING THE AX-12
The robot to be built as above would be controlled by twelve servomotors, which would
all be connected to a single PIC 18F4550. C-programming language would be used to program
the servomotor in such a way as to move the robot depending on its gait style movement. One
other important feature of this actuator is its communication speed, hence making it compatible
with a PIC 18F4550 which would be used to program it.
3.3.4.3 WHY CHOOSE THE AX-12 FOR ROBOT LOCOMOTION
In choosing a servomotor, some things have to be considered like the torque of the motor
to be used, the estimated weight of each arm, the speed of the actuator to be used depending on
the gait style to be used. These and more are some of the reasons why the AX-12 was picked.
The AX-12 servomotor provides feedback that enables you to monitor the current position of the
device. You can monitor current, voltage and temperature as well, (Michael Simpson, 2008).
The AX-12 has protective features such as been able to shut down whenever there is a
voltage overload on it, thereby protecting the device.
27
Fig 3.3. The Ax-12 Servomotor
28
(a)
(b)
29
Fig 3.4 (a) Assembling the Ax-12 Servomotor
(b)Ax-12 Frames (c) Combining Two Servos together
30
3.3.4.4 WIRING UP THE AX-12 SERVO
The connector pin assignments of the Ax-12 as in the diagram below; there are three pins
on each side of the Ax-12 servomotor, one is connected to the GND, VDD and the last is
connected to the Data port of the circuit. The Ax-12 servos can be connected pin to pin, thus the
Ax-12 can only one connector is attached. Also many Ax-12 servos can be connected with a
single bus in this manner. The diagrams are shown in Fig 3.4.
3.3.4.5 PROGRAMMING THE SERVO
In order to program the Ax-12 servomotor and interface it with the PIC, a driver for the
Ax-12 was written in C programming language which would make programming the circuit for
the robot easier, other than writing the functions for the control table for the Ax-12 again-thereby
making the code shorter. The code for the Ax-12 servo driver can be found in the appendix of
this report.
3.4 REAL TIME ROBOTIC NAVIGATION THROUGH THE RAIN FOREST
REGION
Rainforests usually occur in regions where there is a high annual rainfall of generally
more than 1,800mm, and a hot and steamy climate. The trees found in these regions are
evergreen. The rain forest is generally composed of broad-leaved trees and often, but not always
found in wet tropical uplands and lowlands around the equator. The rain forests are vegetation
types dominated by broad-leaved trees that form a dense upper canopy, with the trees either been
ever green or, in seasonally dry parts of the tropics.
This study is actually to generate control algorithms and to conduct a study on the
successful control of a robot in the rainforest region. Over two-thirds of central Africa‟s forests
still qualify as large tracts of low-access forest i.e. large areas are unbroken by public roads.
31
Only South America‟s Amazon basin has larger areas of undisturbed tropical forest. With this in
mind, it is however known that locomotion in the rainforest could prove difficult and this is one
reason why this study has been selected- to find ways of moving an autonomous robot in this
area successfully,
The second reason why this study has been selected is because Obafemi Awolowo
University-situated in Osun State is located in the rain forest.
Thirdly the reason the rainforest has been picked is because forests have considerable
economic importance across the region: wood, fuel accounts for the majority of national energy
consumption.
In other for an autonomous robot to navigate successfully in these regions, a careful study
has been done on the rain forest, which lets us know that the rain forest consists of different
terrains- rocky, stony, rough and sandy - which is by far the most difficult of all terrains to
navigate through because of its ability to change its texture and level whether high or not.
In this paper, we consider the problem of navigation in this region, since it consists of
even and uneven terrains (rainforest). Since we know that low DOF robots have difficulty in
navigating uneven terrains, a suitable algorithm for the gait style is being worked out to enable
easy navigation in this area.
32
3.5 MODELLING THE ROBOT’S MOVEMENT
The model to be developed for the robot‟s movement would be developed such that the
speed or torque characteristics of the actuators / effectors would be studied and modeled in such
a way that it would be able to move easily in the roughest terrains. To this effect, control
algorithms would be developed for the worst terrains in the country.
3.5.1 FINDING A SUITABLE GAIT STYLE
Since the robot is a biologically inspired one- a robot which gets its adaptation features
from an animal. In order to find a suitable gait style that would enable the robot move freely or
adapt easily to the rainforest region, a study was carried out in order to find an animal that easily
could easily adapt to the rainforest. This is why the robot‟s gait style is particularly very
important; therefore finding the suitable gait style would provide aid in creating the navigation
algorithms necessary for the robot‟s movement-all this would be explained in detail in the next
chapter.
Some of the animals which easily adapted to the rainforest were the Jaguar, the tortoise,
the apes, piranhas, manatee etc. From the aforementioned list, the tortoise stood out due to its
slow but steady movement combined with its weight which would suit the robot‟s movement
easily. Two gait styles were considered critically, one was the tripod gait style while the other
was the gait used by the tortoise whereby one on each side moves one at a time. Therefore, the
tripod gait (it is a gait style that involves using two of the robot‟s limbs move with two on one
side and one on its other side while the other three limbs serve as balance for it)style was
considered.
33
(a)
(b)
Fig 3.5 (a) Data Pin configuration of the Ax-12 Servo.
(b)Wiring up more than one Ax-12 Servomotor.
34
CHAPTER FOUR
TESTS AND RESULTS
During and after the building of the frame and circuit of the robot, there were tests, and
research studies that were carried out on it to make sure that all was in place for the robot‟s
locomotion. This later led to what the relevance of the project was, some of which were security
scanning, scouting remote areas etc. which can done through a series of tests which are
Impedance control, static stability analysis, and Inverse kinematics which would treated
extensively in this chapter.
4.1 RELEVANCE OF PROJECT
This project forms a platform for future projects and studies like inverse kinematics on
autonomous robots, static stability analysis on a robot based on a particular terrain and so on
would be taken into account. The design must be in such a way that the robot in question would
be able to withstand the toughest terrain in Nigeria like that in the hilly parts of Northern Nigeria
or the marshy/oil spilled parts in the Niger Delta.
In the building or construction of a robot, it is important for the designers to understand
basic laws of kinematics, and also know how to minimize modeling errors.
Building a six legged robot or cybernetic arachnid has a lot of relevance or benefits to
control engineering or life as a whole. To mention a few, some of them are Impedance control,
negative and positive feedback, Inverse Kinematics, Forward Kinematics, Impedance control
which studies the torque versus speed characteristics of the actuator, behaviour based learning
35
using positive and negative feedback techniques that allows the robot to maneuver around by
gaining experience, and so on.
4.2 ADAPTATION OF ROBOTIC ARACHNID IN THE FOREST REGION8
The main cause of study on this project is to study is to conduct a study on the navigation
of a robot if possible an autonomous one in the rainforest region. The rainforest has been picked
for this study because it is a region that consists of different rough terrains and would form a
good platform for the successful modeling of the robot. The robot being built would get its
adaptation features from an animal that easily adapts to its surroundings in the rainforest region
like the amazon-Cybernetics; the model that would be created for the robot would be such that it
would make use of the animal‟s gait style and movement. The animal‟s gait style and way of
adapting to its surrounding would provide aid in creating navigation algorithms necessary for the
robot‟s movement. Some of the animal‟s that were considered were
The study involves finding methods to generate control algorithms and successful control
of a robot in the rainforest region which evidently consists of different soil types that the robot
will have to move on (Anders-Wallen). Another reason why the rainforest has been chosen as a
case study is because over two-thirds of central Africa‟s forests still qualify as large tracts of
low-access forests and the South-American amazon basin has larger areas of undisturbed tropical
rainforests.
In other for an autonomous robot to navigate successfully in this region, a careful in this
region, a careful study has to be done on the rain forest-which is already in progress. With this in
8 Cybernetics involves a field of science whereby artificial systems being built up or made with processes of
communication and control (especially) are biologically inspired.
36
mind, it is however known that locomotion in the rainforest could prove difficult, which is why
these research studies have been chosen.
4.3 IMPEDANCE CONTROL CHARACTERISTICS ON A ROBOT ACTUATOR
IN THE RAINFOREST
To drink from a cup, a person must successfully reach for the cup, pick it up, and bring it
to his/her mouth without spilling the contents. To successfully complete this activity, the person
must be able to compensate for the forces exerted on the arm by the movement of the cup and its
contents. It is widely accepted that the human CNS (Central Nervous System) learns about the
dynamics of the physical world and in particular, learns to compensate for the externally
imposed forces on the arm during movements.
The actuator used in the construction and design of the hexapod robot is the Ax-12+
which is a super servo that has a torque of about 12kgf.cm at 7Volts and 16.5 kgf.cm at
10Volts.Since the actuator to be used (Dynamixel Ax-12+ servo) would have contact with the
environment, hence the need for impedance control analysis on the actuators. The output of the
actuator is more of force than motion-hence the torque needed for motion, in this paper we
would consider or conducting impedance control on the system without the use of force sensors
as is normally done. The rainforest is the case of study. Impedance control is used for actuators
that have a contact with the environment or a contact, it is called admittance control if
The aim of this write up is to use impedance control to determine the best kind of terrain
the robot would most likely adapt to and at different times-like sandy, rocky, swampy etc., in the
long run, it will be easy to determine the amount of torque each leg of the robot would need to
exert on the terrain to move freely. To do this the force exerted by each leg is gotten by
37
measuring the combined mass of both actuators on each leg which is then used to get the force
exerted on each leg. It is important for the actuator or manipulator/effector as the case may be
to have accurate positioning on the surface/ environment on which it is to move on, in order for it
to easily move different surfaces/terrains (Sandy, Rocky, Swampy etc.) in the rainforest. We
would look and study the impact of impedance control on different terrains, but first a look at the
structure/ characteristics of the actuator to be used (Ax-12+). The Ax-12+ as described in the
previous chapter is a super-servo, that has its own microcontroller (AVR). It is small but has a
reasonable amount of torque which would enable the robot move on different terrains. This paper
would exploit the use of Impedance control for the purpose of stability either in a static or
dynamic position.
4.3.1 GENERATING THE CONTROL ALGORITHM
Since the servo motor is an electromechanical device i.e. displays/gives a mechanical
output in response to an electrical input. The general formula in terms of torque, speed and
voltage would have to be found. This goes in line with our goal of generating control algorithms
necessary for an inference on the adaptation of a root in the rainforest.
According to the general equation for an electromechanical servomotor from classical
control theory is written below:
Jm (dω/dt) + (Dm + Kb) ωm= (Kt / Ra) Ea(t)
Where Jm = the typical loading on the motor which is also the equivalent inertia (in terms of
mass) at the armature / motor.
38
Dm = the load inertia reflected to the armature is the viscous Damping at the armature and
includes both the armature viscous damping in the motor.
Kb = the motor constant.
Ea(t)= it is the input voltage into the actuator (about 9.6Volts-)since the Ax-12 is an
electromechanical device.
dω/dt =angular acceleration of the motor.
ω(t)=dθ(t)/dt = angular speed.
Ra = Resistance of the actuator
Note: All parameters in the equation are in the time domain.
In frequency domain Vb(s)= Kbs θ(s),
Where Vb is the back emf of the motor in the frequency domain after taking the Laplace
transform of the function Vb(t)- in the time domain.
By taking the Laplace transform of the equation, we have:
RaIa(s) + La s Ia (s) + Vb(s)=Ea(s) ---------(3)
Taking note that Torque developed by the motor is given by
Tm(s) = KtIa(s)
Tm=Torque developed by the motor.
Ia=Current in the servomotor.
39
Kt=Proportionality constant.
Using this approach the transfer function (θ(s) / Ea(s)) of the motor is found whereby
Put Ia(s) = Tm(s)/Kt into (3)
And Vb(s) = Kbs θ(s)
Therefore transfer function is:
θ(s) / Ea(s)= 1 / [Ra(s)Tm(s)/Kt + Kb s θ(s)]
We usually ask the use of the transfer function, it relates the input to the output of a system, in
the case of the Ax-12 servomotor, it relates the electrical input to the mechanical output.
From the Ax-12 data sheet, it can be seen that the angular speed of rotation at 7Volts i.e.
At Ea(s)=7Volts, θ(s)=0.2690/sec
At 10Volts, θ(s) = 0.1960/sec
And the optimum/ recommended voltage is 9.6volts
All the above values are gotten from the model created by deriving the transfer function.
4.4 INFERENCE GATHERED ON THIS PROJECT
As at this time there have been a few issues in making this biologically inspired robot to move,
with the use of the Ax-12 servomotors-i.e. programming it.
40
(a)
(b)
Fig 4.1 (a) Effect of the servo's Inertia (mass) on its motion
(b)Diagram shows how the Ax-12 servo acts like an electromechanical device
41
CHAPTER FIVE
CONCLUSION AND RECOMMENDATION
The basis of this project is to develop control algorithms that would be used to test for its
adaptation features in the rainforest, therefore in the cause of building this robot, care has been
taken into account the necessary features like the torque-speed characteristics of the actuator and
other studies (Inverse Kinematics, Impedance control and other Linearization strategies) that are
still ongoing on how to make sure the robot easily adapts to the roughest of terrains in the
rainforest region.
5.1 CHALLENGES ENCOUNTERED
There have been some challenges in the construction and design of the hexapod robot,
some of which are, programming the Ax-12 finding the right machines in the fabrication of the
frame of the robot, having to cut hollow parts into the aluminium being used for the structure of
the robot being built. For example, the initial structure to be used for the frame of the robot was
very heavy, so there was a trade off between the beauty of the frame and the weight of the frame
to be used.
Due to the insufficient time, the Ax-12 could not be programmed, only the the driver was
written (collection of code for servo‟s control table), which makes the programming easy. The
circuit was built but the resulting plugs for the Ax-12 servo was not fixed, which is where work
would begin next session on how to make it work.
42
5.2 RECOMMENDATION
Due to the fact that the system is ongoing, there are certain targets that would be met in
the near future to ensure that work progresses on thus project.
Therefore, to ensure that this study is a success, the algorithm to be used will be tested on
the robot being built. In order to test the algorithm, a target location would be provided, and all
obstacles en-route to the target must be avoided in order to reach the target successfully.
Two things would be considered in focusing attention into creating algorithms for this
region; they are: Communication options and Behavioral Patterns of the autonomous robot.
Communication Options: With the ability of sending out a robot out into the rainforest it
should be able to send back communication reports on regions that have actually being passed
through. By using the algorithms initially developed and monitoring it, they can be altered to suit
the terrain better, in case future researches.
5.2.1 USING INVERSE KINEMATICS FOR ROBOT’S ADAPTIVE FEATURES
As explained above, in further studies inverse kinematics can be used to find the end
effector positions, by creating full body trajectories and then using inverse kinematics to solve
for the robot‟s positions at different points in trajectory path. Inverse Kinematics is simply stated
as, “Given the desired position of the robot‟s limb, what must be the angles at all of the robot‟s
joints?” . Human beings and generally animals solve inverse kinematics problems constantly
without conscious effort. For example, when eating cereal in the morning or a door is to be
opened, human beings reach out for their spoons or the door knob without considering the
relative configuration of their shoulder and elbow required to reach the spoon. The human brain
practically does all the necessary calculations in an attempt to solve the problem (Inverse
43
Kinematics) of gripping the spoon or the door knob by positioning his limbs and torso such that
the hand locates the spoon or door in order to necessary action.
The robot‟s motion which is determined by the robot‟s gait style is relatively studied by
solving the problem of Inverse Kinematics and therefore knowing the angles of all its body parts
just by moving its arm. Therefore Inverse kinematics in robotics is that branch of robotics which
deals with the study and application of the process of determining the parameters of a flexible
object in order to achieve a desired pose. So therefore, by moving the arm of the robot with the
use of actuators / effectors non-linear equations can be developed which are solved using
MATLAB or any mathematically oriented software.
With this at any point in time, the position of the robot can be determined. These
equations would differ for different terrains in Nigeria, beginning with the hilly terrain in Ile-Ife
Nigeria. Therefore, meaning that these equations would deal with the speed with which the joints
move to how rough the terrain is. When non-linear equations were developed in past researches,
some were solved using MATLAB and others were solved using Transformation Derivatives,
but not much emphasis would be placed on the solution to these equations but how they each
differ from each other depending on the terrain on which it is designed to move.
USES
Inverse Kinematics finds its use in so many fields from 3D animation where software
designers use inverse kinematics to determine the position of the animated characters; making
sure these characters connect physically to the world, such as the feet landing firmly on top of
the terrain.
44
APPENDIX
45
Diagram showing the Circuit diagrams for the Robot
46
Control Section of Circuit
47
Actuators in Use
48
Plan View of Robot
49
THE AX-12 DRIVER CODE
//This represents the driver for controlling the actuator.
//written code for Ax-12.c
#include <18F2620.h>
#include <stdio.h>
#include <ax12driver.c>
#use rs232 (baud=9600,xmit=PIN_C6,rcv=PIN_C7)
#use delay (clock=2000000)
void main()
{
#define ENABLE_BIT_DEFINITIONS
// the input / output header file
#include <io.h>
#include <inttypes.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
//Control table address
#define P_MODEL_NUMBER_L 0x00
#define P_MODEL_NUMBER_H 0x01
#define P_VERSION 0x02
#define P_ID 0x03
#define P_BAUD_RATE 0x04
#define P_RETURN_DELAY_TIME 0x05
#define P_CW_ANGLE_LIMIT_L 0x06
50
#define P_CW_ANGLE_LIMIT_H 0x07
#define P_CCW_ANGLE_LIMIT_L 0x08
#define P_CCW_ANGLE_LIMIT_H 0x09
#define P_SYSTEM_DATA2 0x0A
#define P_LIMIT_TEMPERATURE 0x0B
#define P_DOWN_LIMIT_VOLTAGE 0x0C
#define P_UP_LIMIT_VOLTAGE 0x0D
#define P_MAX_TORQUE_L 0x0E
#define P_MAX_TORQUE_H 0x0F
#define P_RETURN_LEVEL 0x10
#define P_ALARM_LED 0x11
#define P_ALARM_SHUTDOWN 0x12
#define P_OPERATING_MODE 0x13
#define P_DOWN_CALIBRATION_L 0x14
#define P_DOWN_CALIBRATION_H 0x15
#define P_UP_CALIBRATION_L 0x16
#define P_UP_CALIBRATION_H 0x17
#define P_TORQUE_ENABLE 0x18
#define P_LED 0x19
#define P_CW_COMPLIANCE_MARGIN 0x1A
#define P_CCW_COMPLIANCE_MARGIN 0x1B
#define P_GOAL_POSITION_L 0x1C
#define P_GOAL_POSITION_H 0x1D
51
#define P_GOAL_SPEED_L 0x1E
#define P_GOAL_SPEED_H 0x1F
#define P_TORQUE_LIMIT_L 0x20
#define P_TORQUE_LIMIT_H 0x21
#define P_PRESENT_POSITION_L 0x22
#define P_PRESENT_POSITION_H 0x23
#define P_PRESENT_SPEED_L 0x24
#define P_PRESENT_SPEED_H 0x25
#define P_PRESENT_LOAD_L 0x26
#define P_PRESENT_LOAD_H 0x27
#define P_PRESENT_LOAD_H 0x28
#define P_PRESENT_VOLTAGE 0x29
#define P_PRESENT_TEMPERATURE 0x2B
#define P_REGISTERED_INSTRUCTION 0x2C
#define P_PAUSE_TIME 0x2C
#define P_MOVING 0x2E
#define P_LOCK 0x2F
#define P_PUNCH_L 0x30
#define P_PUNCH_H 0x31
//---Instruction packet---
#define INST_PING 0x01
#define INST_READ 0x02
#define INST_WRITE 0x03
52
#define INST_REG_WRITE 0x04
#define INST_ACTION 0x05
#define INST_RESET 0x06
#define INST_DIGITAL_RESET 0x07
#define INST_SYSTEM_READ 0X08
#define INST_SYSTEM_WRITE 0x09
#define INST_SYNC_WRITE 0x10
#define INST_SYNC_WRITE 0x83
#define INST_SYNC_REG_WRITE 0x84
}
53
REFERENCES
J.Barreto et al, ‘Kinematic and Dynamic Modelling of a Six legged Robot’, Instituto de
Sistemas c Robotica, E.S.T.G – Instituto Polotecnico de Leiria, Portugal.
Michael Simpson (2008), Build the Ultimate Robot.
J.P.Flores Fernandes, J.C. Pimenta Claro, Fernando Ribiero, ‘Design of a Hexapod Robotic
System’, „Mech. Engineering Department‟ ,University of Minho, Portugal.
P.McDowell, S. Iyengar, M. Gendron, B. Bourgeois, and J. Sample (2000). ‘Control / Learning
Architecture for use in Robotics Operating in Unstructured Environments’ ,University of
Southern Mississippi, pp1-10.
Marc Raibert, Kevin Blankespoor, Gabriel Nelson, Rob Playter, and the BigDog Team,
BigDog, ‘The Rough-Terrain Quaduped Robot’, Boston Dynamics,
Michael Simpson (March 2007), ‘Understanding the AX-12’.
Lonnie T. Parker and Ayanna M. Howard, ‘Real-Time Robotic Surveying for Unexplored
Arctic Terrain’ , School Electrical and Computer Engineering, Georgia Institute of Technology,
Atlanta
I-Ming Chen and Gullin Yang (1998) ’Inverse Kinematics for Modular Reconfigurable
Robots’,School of Mechanical and Production Engineering, Nanyang Technological University,
Singapore.
. Encyclopædia Britannica 2009 Student and Home Edition (2009), ‘Jaguar (Panthera onca)’.
Chicago: Encyclopædia Britannica.
David Wettergreen,( 1995), ’Robotic Walking in Natural Terrain’, In Gait planning and
behavior-based control for statically-stable walking robots, The Robotics Institute-Carnegie
Mellon University,
Matt Zucker et al, ‘An optimization Approach to Rough Terrain Locomotion’: The Robotics
Institute- Carnegie Mellon University.
54
David W. Franklin et al, (2004), ‘Impedance Control Balances Stability With Metabolic
Muscle Activation’ ,ATR Computational Neuroscience Laboratories and ATR Human and
Information Science Laboratory, Kyoto, Japan.
Yung Zhu and Eric J.Barth (2005), ‘Impedance Control of a Pneumatic Actuator for Contact
Tasks’, Department of Mechanical Engineering Vanderbilt University, Nashville, Tennessee,
USA.
www.destination360.com
www.buzzle.com/articles
www.ehow.com/pets-and-animals
www.allaboutwildlife.com.com/links
www.servomagazine.com
www.kronosrobotics.com/projects/megabots.html
www.wikipedia.com/robotkinematics.php
www.webx.dk.html
http://www-personal.umich.edu/~artkuo/Passive_Walk/passive_walking.html.
http://www.youtube.com/watch?v=7XsaJwKKBYo&feature=related.
http://en.wikipedia.org/wiki/Uncanny_Valley
http://bostondynamics.com/content/sec.php?section=BigDog