Practical Development of An Experimental PDF
Practical Development of An Experimental PDF
Abstract
The paper presents the design, implementation of the a unique type of computer controlled circular mobile robotic
unit equipped with intelligence. Building an experimental autonomous vehicle or robot, which has the ability to
perform in real time environments is both a technical and scientific challenge and demands the development of
systems for perception, modelling, planning and navigation. Within this scope, this paper describes the construction
of a low cost mobile autonomous robot, intended for educational purposes. The work presented in this
communication describes the mechanical structure of the vehicle, the electronic modules developed and the software
modules implemented for the control and remote navigation. The work was undertaken as a sponsored consultation
based project under the guidance of the author in the institute.
Keywords: Driver Units, Actuators, Visual Basic, Parallel Port Interface.
1. Introduction for navigation. This project has its origin in our own
fascination for the field of robotics. That, coupled with
Today, a mobile robot [1] can be designed in order to our genuine urge to build something substantial, led us
operate in a wide range of industrial, military, to undertaking this endeavor.
scientific, domestic, humanity and in educational
applications. The important aspects of the design
include the choice of the materials used in the vehicle
framework, the kind of batteries, the type of sensors to
assist the navigation, the choice of actuators and the
steering system configuration. The user interface and
the navigation software are also important. The
relevance of these issues was shown in the
development of CRUI, one of the advanced version of
the mobile platform. In this version, it contains a
working map describing the permanent and stationary
obstacles like the walls, corridors, etc.,. An onboard
controller performs the control of the vehicle.
25
2nd International Conference on Autonomous Robots and Agents
December 13-15, 2004 Palmerston North, New Zealand
Since robotics encompasses everything from mechanics the help of brackets made from aluminium in order to
to electronics to computer software, we had the reduce the weight .
opportunity to learn more than we could have The two wheels of diameter 12 cms , plastic made with
otherwise. The whole of the city was roamed in search a rubber tyre over it is coupled to the main driving
of components that matched our very stringent motors using a chain of gearing systems and supported
requirements. Nevertheless, we are mighty proud of our between two ball bearings . The motors are coupled to
efforts and, more so, of the end result. Presenting – the the wheels using aluminium shafts via the spur gears of
“C R U I”. The main objective of this work is to 12 and 48 teeth’s . Since the hylam base has to carry
design, fabricate each part, construct an educational the entire weight of the robot , it was necessary for us
model of a mobile robot with an arm and control it with to increase the torque rating at the wheel shafts. This
a computer. The robot would move on a horizontal was achieved by using spur hard nylon gears of 1:4
plane such as floor avoiding obstacles in its path of ratios .
motion by making use of infra-red sensors.
The smaller gear attached to motor has 12 teeth’s and
2. Design and Implementation of the bigger gear attached to the wheel has 48 teeth’s .
the Mechanical Unit The two driving wheels of 10 inches are placed along
the diameter of the circular hylam sheet below it . The
The built autonomous vehicle [2] weighs 30 Kgs. with rubber tyre helps the robot better gripping of the
a circular base of 2 feet diameter and can travel at a surface . Two castor wheels one at the front and
maximum speed of 0.5 m /s . The sensorial system is another at the back are attached perpendicularly to the
composed of a pair of infra-red sensors, limit switches, diameter . These two castor wheels allow the robot free
encoders etc.,. This is a vehicle presenting a differential rotation of the castor resulting in a frictionless drag free
configuration, capable of operating in semi-structured motion of the robot . The view of the mobile trolley is
environments, avoiding unknown obstacles. The shown in Figure 1.
operation is performed in various modes. The control
architecture software was developed using modular 2.2 Arm Assembly
approach implementing an optimized set of efficient
routines both at the low level sensor and actuator signal The arm assembly is divided into arm base assembly
management and at the high abstraction level to take and the two link arm which is attached to the base unit.
care of the navigation problems and the communication
protocol. The GUI implemented at the supervision 2.2.1 Arm Base Assembly
station was developed using the Visual Basic
The base assembly of the 3 axis robot arm is at the
Programming environment and provides the necessary
center of the circular acrylic platform. It consists of two
facilities for the definition, simulation / execution of
small circular plates one above the other (bottom plate
tasks required from the vehicle.
being fixed and the upper one rotating w.r.t. the
The mechanical system consists of three divisions. bottom) with a thrust bearing in between them to
Robot Base Assembly (mobile trolley). provide a smooth base rotation of 300° either in the
Robot Arm Assembly. clockwise or in the anticlockwise direction . A Big
Robot Gripper Assembly. D.C. Servomotor is attached at the bottom of the
acrylic platform.
2.1 Moveable base assembly
A worm and a worm wheel assembly of 1:20 ratio is
(mobile trolley)
keyed to the D.C. Servo shaft in the horizontal plane. A
The base is made up of a brown hard hylam sheet of central rotating shaft is attached to the big rotating
thickness 8 mm and of diameter 1.5 feet (circular in worm wheel . This shaft is extended from the bottom of
shape) . Hylam sheet was chosen keeping in mind the the platform to the top circular plate and is welded at
following properties , viz., Good insulating medium, the center. Limit switches are used at the extreme ends
Light in weight, Can be easily cut into required shape of the double plates . The entire arm (with the shoulder
and size and provides a platform for the arm and the assembly , elbow assembly and the gripper assembly)
entire structure including the electronic circuitries. is mounted on the upper rotating plate . The
To drive the mobile trolley, we have used D.C. specification of motor used for Base are 12 V D.C, 60
Servomotors which will give sufficient torque and at rpm, 60db noise, Torque: 10 kg-cm, Weight : 1 kg, 0.5
the same time sufficient rpm so that the robot can move A Current rating (Off Load), Up to 1.75 A as load
at a particular speed. We have chosen D.C. servos increases.
because they have got only two wires (+ and –) and 2.2.2 Shoulder Assembly
they can be easily driven from a simple driving IC chip
and speed control is easier. Two D.C. Servomotors of The shaft is fitted with a pair of parallel Acrylic plates
10 Kg - cm torque, 1.75A current rating, and 60 rpm, that move along with the shaft. These plates house the
drive the mobile trolley on which all the electronic mechanisms that actuate the joint motion. On the other
components and the mounted arm. The motors are end of these plates is another shaft pin that rotates the
mounted on the lower surface of the hylam sheet with outer arm along its axis, thus providing the revolute
26
2nd International Conference on Autonomous Robots and Agents
December 13-15, 2004 Palmerston North, New Zealand
motion for the shoulder joint. The plates for the inner is of length 140mm. The specifications of the elbow
and outer arms are made of Acrylic which is very light motor are, Type : DC Motor, Torque : 2kg-cm, Current
and strong, thus reducing the leverage of the two arms rating : 0.5A., Direction : CW-CCW Motion, Elbow
on the base and at the same time strong enough to Motor Speed: 60 r.p.m. Limitation of the elbow
sustain the weight of the motors and the mechanisms motion is 120°. Limit switches are attached at the
housed by them. The motion is actuated by a very extreme ends of the elbow. An Opto-coupler is attached
compact mechanism of worm and worm wheel. The to the elbow joint axis performs same function as
double helical worm is fitted on the motor shaft, while mention for Shoulder assembly.
the worm wheel is fitted on the shaft, which provides
elbow rotation. The speed ratio of this arrangement is
1:20, that is, the worm wheel makes one complete
revolution when the worm makes 10 revolutions. The
motor is fixed on the circular Acrylic Plate on the base
assembly to the shoulder axis, first link of length
250mm .
Specification of Motor [4] used for Shoulder Assembly
are 12 V D.C, 60 r.p.m, 60db noise, Torque: 10 kg-cm,
Weight: 1 kg, 0.5 A Current rating (Off Load), Up to
1.75 A as the load increases. Limitation of the Shoulder
motion is less than 90°. Opto-coupler is attached to the
Shoulder joint axis. Working of the Opto-coupler is
explained in later chapter. Main function of Opto-
coupler is that it gives uniform count irrespective of Figure 2 : Elbow Assembly Unit
varying load. 2.3 Gripper Assembly
Speed at which Shoulder Motor Rotates : 60 r.p.m. The robot being a PNP-type has a gripper as the end
Gear Ratio of worm and worm wheel : 1:20 effector. The gripper is of parallel jaw type, which
Speed at which Axis of shoulder joint rotates : 3 works on the principle of left-hand / right-hand screw.
r.p.m These jaws run on the LH / RH screw. The LH / RH
Rotation of Axis per second : 3/60 = 1/20 screw is made by tapping a brass rod with LH die from
This states that one complete revolution of shoulder one end and RH die from other end. This ensures that
joint Axis moves arm by 360°. the gripper jaws move in the opposite direction, that is,
Therefore 1/20 revolution of shoulder joint axis the jaws move either towards each other to grip an
moves arm by 18° at this time count at Rotating Disk object or away from each other to release it as shown in
is 90 / 20 = 4.5 (For one rev count is 90 therefore for Figure 3.
1/20 rev count is 90/20)
Hence, for every increment in the count there is
(18°/4.5 = 4°) rise in angle.
2.2.3 Elbow Joint Motion
The motion is actuated by a very compact mechanism
of worm and worm wheel. The double helical worm is
fitted on the motor shaft, while the worm wheel is fitted
on the shaft, which provides elbow rotation. The speed
ratio of this arrangement is 1:20, that is, the worm
wheel makes one complete revolution when the worm
makes 20 revolutions. The motor is fixed on the lower
plate of the inner arm. The position of the motor is so
adjusted that it does not obstruct the rotation of the
outer arm. The plates of both the arms are coupled to Figure 3 : Gripper Assembly Unit
the shaft with the outer arm plates inside the inner arm
plates. The LH / RH screw is coupled to a small dc tape motor
shaft ( 12V, 1A) via a bevel gear arrangement in the
The shaft moves in a pair of Brass bushes in the inner ratio 1:1 as shown in the Image. One limit switches are
arm plates. Contact between the two plates is avoided placed at the inner ends of the finger. This limit switch
by a pair of thrust bearings between them. The upper is connected to the controller card and is used to
plate of the outer arm is pinned to the shaft motor. prevent the further closing of the fingers after the
Actuating the motion is a DC tape motor; small in size object has been gripper properly . Another limit switch
with considerable torque and speed. The motor is light is attached to the extreme end of the maximum opening
in weight (200gm) and easy to control, thus making it of the gripper which is also connected to the controller
an ideal choice for actuation. In elbow axis, second link card.
27
2nd International Conference on Autonomous Robots and Agents
December 13-15, 2004 Palmerston North, New Zealand
The maximum opening of the gripper is 75 mm. The Common terminal is connected to GND while Vcc
gripper motor used has following specifications, viz., (+5V) is directly applied to NO through resistance, also
Type : DC Motor, Torque : 2kg-cm, Current rating : NO is connected to one of connector of 1: 8
0.5A, Direction : CW-CCW Motion. Multiplexer on controller card.
3. SENSORS
Incorporation of proper feedback mechanism of
sensory information to the robot can enable it to
perform complicated tasks. Sensors perceive the
environment and provide vital feedback information to
the robot. Sensors are the eyes of the robot , i.e., they
act as the vision system and make the robot very
intelligent . Sensors are used to obtain the position and
orientation of the robot arm and that of the obstacles in
the surrounding environment in the 3D space . They
are defined as the sensory data preceptors which detect
the changes in the surrounding environment (detect the
obstacles) and get adaptable to those changes
Figure 4 : Working of Diffused scan sensor
(overcomes the obstacles, avoids collision and proceeds
towards the destination) . They are nothing but the
feedback devices which are used to obtain the position
and orientation of the object / obstacles and this
information is fed to the robot system to properly
configure the tool / gripper and reach for the object,
avoiding all the obstacles in its path of motion.
28
2nd International Conference on Autonomous Robots and Agents
December 13-15, 2004 Palmerston North, New Zealand
29
2nd International Conference on Autonomous Robots and Agents
December 13-15, 2004 Palmerston North, New Zealand
30
2nd International Conference on Autonomous Robots and Agents
December 13-15, 2004 Palmerston North, New Zealand
The Data Path D0-D2, through 74HCT374 latch 5. Design of the software algorithm
connected to each multiplexers select lines in parallel.
NO of limit switches are directly connected of the
inputs of Multiplexers.
Opto-coupler is four terminal device, whose on of the
output terminal is directly given to Multiplexers.
Sensor Interface: It operates in the range of 10 to 25V
DC supply. It has three colored wires; Blue is
Grounded, Brown is connected to 12V and output is
taken between Black and Blue as explained in previous
sections.
The two constraints are defined by manufacturer. Figure 10 : Block Diagram Of Mobile Robotic System
Object not Sighted : Output Low ( 0V ).
Object Sighted : Output High ( 10V ). CRUI employs a sophisticated application-controlling
interface created in visual basic 6.0 as it is a fantastic
As the control unit operates on TTL logic must supply programming language for any application software
+5V for Logic High and 0V for Logic Low. On development. The software is designed for maximum
detection of opaque object, Output high (10V) signal is Robot control & working efficiency. It is so designed
passed through 7805 voltage regulator and 7486 NOT that the user can have complete control over each
IC converting it into Logic High and then into Logic movable part of the Robot. Also the user can easily
Low. This Active Low on the line is detected by maneuver the Robot & make it traverse a path towards
software and both trolley Motors are immediately the object to be picked. He can then manipulate the
stopped. The range can be easily adjusted with small different limbs of the Robotic arm so that the gripper
screw provided at back. comes closer to the object & eventually picks it up. VB
Function Table : is selected as it is a simple, yet powerful, windows
EP : Encoder Pulse ( From Opto-Coupler ) platform based programming language, which provides
USW : Upper Limit Switch us with a complete set of tools to simplify complex
LSW : Lower Limit Switch rapid application development.
UpSDn : Up side Down Limit Switch Visual refers to the method used to create the GUI.
DnSUp : Down Side Up Limit Switch BASIC stands for Beginners All Purpose Symbolic
TMLSP : Trolley Motor Left Sensor Pulse Instruction Code. VB is a combination of these two.
TMRSP : Trolley Motor Right Sensor Pulse The best part of VB is that it is an object oriented event
GPCL : Gripper Close Limit Switch driven language which means that we write code
GPMW : Gripper Maximum Width Limit Switch. specific to only desired events of an object. The object
written in VB6 does not respond to events that are not
4.5 Design Features of Control Unit coded by us and hence there is a less chance of errors.
The software module to be developed in order to
Control Circuitry works on TTL Logic : Since output
control the robotic system to do successful
from PC’s port is in the TTL form, The control Unit
manipulation tasks will be consisting of the following
designed accordingly. The TTL Short Circuit
features.
Prevention Logic : This circuit, a part of the Control
1. Manual mode control,
section, is a protection mechanism, employed by us to
2. Programming mode of control,
ensure that the motor does not receive 12v signal on
3. Dynamic home position reset facility,
both the CW and CCW inputs which may cause the
4. Facility to loop operation to do the same task again
motors to get stalled. The H-Bridge has 2 direction
and again.
Inputs for each motor, which should be activated
5. Teach mode,
exclusively and not simultaneously. The TTL Short
6. Parallel Port Interface.
Circuit prevention Logic makes sure that if both signals
(CW and CCW) for a motor are low simultaneously In 1, the system is controlled manually by pressing a
then the input to the Bridge on both the direction lines computer key. Each key is assigned for a particular
will be Logic 1. This is because Logic 1 as Input, to operation.
both Inputs of Level shifter ( Level shifter Implemented In 2, the user writes a application program for the robot
by using simple BJT in self bias mode ) will give 0V to to do a PNP operation using the built-in sub-routines
input of all MOSFET pairs , that keeps motor off. and execute it.
In 3, the system comes to the reference home position
Control unit is designed in such a way that 8 Motors
once the reset button is pressed. All the angles,
can be controlled. Slight enhancement in the circuit
distances will be measured from this reference /
will allow to control maximum Twenty Four motors.
resetted home position.
31
2nd International Conference on Autonomous Robots and Agents
December 13-15, 2004 Palmerston North, New Zealand
In 4, the robot can perform the same task again and angle in degrees is to be specified in the combo boxes
again repeatedly by looping the program ‘n’ number of provided for the same.
times.
ROTATE [Motorname with direction, Angle]
In 5, the user teaches the robot how to do a particular
task. Once he is teaching the robot how to do a OPEN : Command given to open the gripper
particular task, all the instructions will be stored in the CLOSE : Command to close the gripper
memory. Once taught, the robot can perform the same SPIN : On clicking the Spin button the user is required
task again and again. to select the motors (Trolley motor Left or Right) as
In 6, the PC interface to the system is done through a specified in the combo boxes provided for the same.
parallel port as it is a powerful platform for SPIN [Motorname with direction]
implementing projects dealing with the control of real INSERT : Command to insert a blank line of code
world peripherals ( Robots and its accessories ) and between any two instructions in the program.
multiple bits can be transferred in and out of the system DELETE : Command to remove a line of code from the
at once and as a result of which multiple actuators can program
be controlled at the same time. This reduces the on-
RUN : Command to invoke the run screen where the
time of the motors, thus saving the power of the power
loaded program is executed
supply. The Robot basically works in two modes.
Programming Mode. Manual Mode. MENUS : The screen features the following menus :
FILE Menu : This menu has options related to handling
5.1 Programming Mode of files and exiting the application. They are NEW (Ctrl
In this mode of working the robot is fully controlled by + N), OPEN (Ctrl + O), SAVE (Ctrl + S), SAVE AS
the user’s commands. It accepts the commands for the (Ctrl + A), CLOSE (Ctrl + L), EXIT (Ctrl + X).
various motors from the input interface. The software
EDIT Menu : This menu facilitates cut copy paste
provides the user full control of manipulating any
operations in the program such as CUT (Ctrl + X),
movable part of robot. Each and every command works
COPY (Ctrl + C), PASTE (Ctrl + V), MODES
on feedback system. The software provides the user
(MANUAL MODE, PROGRAMMING MODE),
with the ability to write his / her own programs using
HELP.
the commands provided. The programs written by the
user employ the intelligent path decision feature of the
application. This feature highlights the ability of the 5.2 Manual Mode
program to calculate the various angles associated with This interface allow user to select individual Motor and
the robot and take a decision about enabling one or activate it for any particular time period until it stops
more motors simultaneously to save on time and power automatically by receiving command by computer that
consumed in reaching the destination point specified by violation has taken place or on a user wish. This screen
the user. allows direct control of each motor employed in CRUI .
The screen is invoked from the programming mode
FEATURES : It is the start up screen for the software screen when the user selects it from the menu bar.
application ; Features a complete HELP file, which can The screen features : Manual control of each motor,
be invoked from the menu provided ; Has a menu, Fine positioning of the base, rack, elbow and roll,
which enables the user to select different options ; Facility to rotate the motors clockwise and
Simple yet powerful interface ; Ability to loop counterclockwise, Automatic RESET function to bring
operations ; Cut - copy - paste Instruction function ; the robot to the reset/home position on startup,
Facility to save current program ; Facility to save Dynamic reset function to allow the user to bring the
current program with different name ; Insert function ; robot to the reset position at any instant.
Minimization of typing ; Editing of program is possible
by use of up / down buttons. ABOUT THE SCREEN
ABOUT THE SCREEN CODE box : The program MOTOR SELECTION LIST BOX : The screen
loaded / generated by the user is displayed in code box. features a list box, where the user selects the desired
PROGRAM Commands : The screen provides the user motor. The user selects the motor by double-clicking
with following commands in the form of buttons which on the motor name in the list box.
are discussed as below : MOTOR SELECTED TEXT BOX : The selected
MOVE : On clicking the move button, the user is motor is then highlighted and displayed in the motor
required to select the motor (Trolley motor Left or selected textbox.
Right) and the distance in meters is to be specified in
the combo boxes provided for the same. MOVE DIRECTION OPTION BUTTONS : The clockwise
[Motorname, Distance] option button is enabled by default. The user can
ROTATE : On clicking the rotate button, the user is change the direction of rotation prior to pressing the
required to select the motors (Trolley motor Left or start button. The user is required to click on the option
Right, base, Elbow, Gripper with Direction) and the button for selection of the direction.
32
2nd International Conference on Autonomous Robots and Agents
December 13-15, 2004 Palmerston North, New Zealand
START BUTTON : The START button, when clicked, depend on the speed of the motors but also on the gear
enables rotation of the desired motor. On clicking the ratios and loads. These values are pre-calibrated and
start button, all the remaining components on the loaded into the reference variables of the software. A
screen except the stop button are disabled as a feature to change these values in the software, in the
precautionary measure. event that the motors are replaced is also provided.
The program calculates the angles associated and then
calculates the different time intervals corresponding to
these angles. These intervals are then loaded into the
timers used in the program. The program then sends the
necessary byte to the parallel port to turn on the desired
motors and then the timers are started (that is, the
timers are enabled). After a timer’s interval elapses, the
respective timer raises a timer event, which the
program uses as a cue to stop the desired motor. The
program sends a byte to the parallel port to stop the
necessary motor while at the same time not affecting
the status of the other motors.
6. Conclusions
A design and implementation of a low cost mobile
robot was described. It implied the choice of several
alternatives such as materials, motors, programming,
sensors, controllers and so on. Experiments were
conducted to demonstrate its utilities. A user friendly
GUI was developed. The vehicle presented is a good
experimental robotic base for the future development of
algorithms and paradigms for the navigation, mapping,
trajectory planning and task planning. A brief
Figure 12 : Screen Layout - Manual Mode kinematic analysis of the robot was also carried out. A
STOP BUTTON : The STOP button, when clicked, number of pick and place operations were successfully
disables rotation of the desired motor by sending byte 0 performed by the developed robot by using teaching
to the port. On clicking the Stop button, all the mode , manual mode and programming modes.
components disabled by the start button are re-enabled.
MESSAGES : The messages are an indication, to the 6. References
user, of the motor selected, the direction of rotation. [1]. Costa, N., and et.al., “Robots Navigation on a
5.3 The Logic Algorithm Dynamic Environment”, World Automatica
The application makes use of visual basic’s timers. The Congress ’98, Anchorage, Alaska, USA, 1998.
main function of the program is to calculate the various [2]. Dr. Amitabha Bhattacharaya, “Mechatronics of
movement angles and movement distances associated Robotic Systems”.
with the robot from the user given data. The movement [3]. Groover, Weiss, Nagel and Odrey, “Industrial
angles and distances are then converted into time. A Robotics”, McGraw Hill.
calibrated value of time taken to move through one [4]. Manjunath. T.C., “Fundamentals of Robotics”,
revolution, that is, 360 degrees, is known. This time Nandu Publishers, 3rd Edition, Mumbai, India.
will be different for the base motor shaft, elbow motor [5]. Klafter, Thomas and Negin, “Robotic Engineer-
shaft and roll motor shaft since this time will not only ing”, Prentice Hall of India, New Delhi.
33