The Three Laws Of Robotics Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The Three Laws of Robotics are set of three rules on the robotics science fiction book "I Robot" written by Isaac Asimov. The rules are introduced in 1942 short story Runaround. The Three Laws of Robotics are as follows:

A robot may not injure a human being or, through inaction, allow a human being to come to harm.

A robot must obey any orders given to it by human beings, except where such orders would conflict with the First Law.

A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.

The rules show that robot are plays role to serve human in daily and industry working process and production field. Besides that, the robot responsibilities are far beyond the conventional industry task. Nowadays, robot plays role to serve as human companion and the entertainment industry [1].

Basically, robot is a special device which has an intelligence to perform a specified task. The intelligence of the robot is realized by the programmed on the microcontroller as a brain of robot. The goal of this project is to develop a robot capable of dance upper body when hear the music.

1.2 Objectives of Project

The objectives of this project are listed below:

a) To design and build a humanoid robot that will dance by the movement upper body when the robot hears the music.

b) To study the movement of robot and sound detector.

c) To develop a prototype of the propose project using microcontroller as main control of robot.

1.3 Scopes of Project

In order to ensure the project is done in a systematic manner and prevent overlapping of work, it is important to draw the guidelines for the scope of this project. There are three major scopes for this project, that include :

The robot is able to start move body, head and hands like robot dancer control by microcontroller.

The robot is automatically dance when hear the music only using sound detector.

The robot able back to initial position when the music stopped and movements of robot are using servo motor.

1.4 Outline

Chapter 1 in this thesis is to discuss about the background, objectives and scopes of the Robodance project.

Chapter 2 in this thesis is to discuss about the literature review. There are many previous final year projects and commercial robots are used as inspirations to the Robodance project. The movement, component and circuit diagram of each robot is being studied to apply in the Robodance.



2.1 Introduction

The humanoid robot title or any other similar biological robot title are relevant and have similarity connection with this project. These resources can be obtained via the access to the internet, the UPNM library thesis center and references on electronic journal, article and eBook. In this chapter the discussion will be focus on the certain robot which is relevant to the project title. Meanwhile technical references mainly will be focus on the design of body robot and the main electronic parts such microcontroller, motor, power supply and sensor.Finally the most important part for this project is hardware and software interfacing.Before the discussion of robot began, the type of robots existing in this world should be known as a knowledge .

2.2 Robots

Robots can perform many of the same functions that humans can, sometimes more accurately and efficiently. The robot be able to perform the moist perfunctory tasks or be made to complete tasks by develop artificial independent intelligent in robots. The types of robots are :


Telerobotics as shown in Figure 1 is the area of robotics concerned with the control of robots from a distance, chiefly using wireless connections (like Wi-Fi, Bluetooth, the Deep Space Network, and similar), "tethered" connections, or the Internet. It is a combination of two major subfields, teleoperation and telepresence [2].


Farmbot as shown in Figure 2 are mundane tasks in the medical industry, there are also mundane tasks in the agricultural sector. Robots to plant seeds, pick fruit, and water fields is not fully realized yet. Although some experimental robots are in development. In Australia, a robot that shears sheep [2].

Industrial Robots

Any job that requires repetitiveness and the need for reliability is a job that is perfect for a robot. Currently, the auto industry uses robots to paint cars and install tiny electronic chips in cars. Robots and robot arms also are used extensively in make computer motherboards and other computer equipment because they require precise movements and extreme accuracy. One distinctive feature of a robot arm that humans don't have is 360 degree motion of their "wrist" [2].The example shown in Figure 3.

Military robot

Military robots are autonomous robots or remote-controlled devices designed for military applications. Such systems are currently being researched by a number of militaries. Already remarkable success has been achieved with unmanned aerial vehicles like the Predator drone, which are capable of taking surveillance photographs, and even accurately launching missiles at ground targets, without a pilot. A subclass of these are Unmanned Combat Air Vehicles, which are designed to carry out strike missions in combat [2].The example shown on figure 5.

Humanoid Robot

A humanoid robot is a robot with its overall appearance, based on that of the human body, allowing interaction with made-for-human tools or environments. In general humanoid robots have a torso with a head, two arms and two legs, although some forms of humanoid robots may model only part of the body, for example, from the waist up. Some humanoid robots may also have a 'face', with 'eyes' and 'mouth'. Androids are humanoid robots built to aesthetically resemble a human [2].The example shown on Figure 6.

Articulated Robot

An articulated robot is a robot with rotary joints (e.g. a legged robot or an industrial robot). Articulated robots can range from simple two-jointed structures to systems with 10 or more interacting joints. They are powered by a variety of means, including electric motors [2].The example shown on Figure 7.

Robotic Surgery

Robotic surgery is the use of robots in performing surgery. Three major advances aided by surgical robots have been remote surgery, minimally invasive surgery and unmanned surgery. Some major advantages of robotic surgery are precision, miniaturization, smaller incisions, decreased blood loss, less pain, and quicker healing time. Further advantages are articulation beyond normal manipulation and three-dimensional magnification, resulting in improved [2].The example shown on figure 8.

In fact, there are more type of robot had been existing in this era but as a beginner in robotic is enough as basic knowledge .After that, research on the humanoid or biological robots will do to guiding researcher develop robot on the right way. Therefore, next subtopic provides the sufficient information regarding previous projects or model on robot which is connection with the robodance project. There are three relevant and main references had been selected as references and bench marks for this project.


The i-Cybie


2.2 Robonova-1

Robonova - 1 made by Hi-tech. The robonova-1 is a humanoid robot. It was manufactured by Hi-tech. The stable ROBONOVA-I can walk, run, do flips, cartwheels, dance moves and once programmed, is ready to compete in any Robo One Class "J" competition. Robonova - 1 is 12" high, mechanical man is controlled with 16 powerful HSR-8498HB digital servos built specifically for the ROBONOVA-I by Hitec..

The custom gold anodized metal servo brackets serve as strong and lightweight exoskeleton. ROBONOVA-I also features durable plastic body case components that protect the control board and battery from damage.RoboBasic is a programming tool based on the BASIC programming language and is provided for the more advanced users. Containing specific commands for simple robot operation, RoboBasic can also be used in conjuction with RoboScript to increase the performance of the supplied Micom controller board.

2.3 The i-Cybie

Figure 3 shows the i-Cybie dog-robot made by Silvernit Toys Company. The

i-Cybie is a robotic pet that resembles a dog. It was manufactured by Silverlit

Electronics. The i-Cybie robot responds to sound, touch, voice commands via remote

control. The i-Cybie has several sensors, motion sensors allow i-Cybie to detect

movement around it. Obstacle sensors are used to navigate as it walks and to avoid

bumping into objects.

An i-Cybie robot can interact with other i-Cybie robots using a

built-in IR communicator. Sensors on its help the i-Cybie react to touch. Sound

sensors allow i-Cybie respond to voice commands to clap commands. Voice

commands require training. Clap commands which do not require training. Edge

detectors help prevent falls, but there have been reports that this feature is not

necessarily reliable & was never an advertised feature. Tilt sensors allow it to detect

when it has fallen down. Light sensors let him detect changes in ambient light in

your room [13].

2.4 The Biobot

Figure 4 shows the cat robot developed by UTM student Mr. Lim Tian Siak. The Biobot is able to variety modes of movement such as walking, turning, obstacle avoidance; positioning modes such as nodding, curiosity, reposition after fall and standby; and emotion modes such as playful, angry, happy and neutral. It has entertaining elements will be implemented to this robot with the ability to dance on certain song rhythm and play music. [3].

After the researched of Robonova-1,I-cybie and Biobot done, there are 2 major part should be had on every robots ,there are hardware (microcontroller, motor, sensor and power supply) and software (pic matlab, C language dll) part. On the next subtopic will be discuss hardware and software part to build up the robot.

2.2 Microcontroller

A microcontroller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. The revolution of microcontrollers occurred as a result of the development of Large -Scale Integration (LSI) and Very Large-Scale Integration (VLSI) technologies, which enabled hundreds of thousands of transistors to be stored into one chip with the approximate area of 1/10 square inch. This made it possible to fabricate the microprocessors, and the first computers were made by adding external peripherals such as memory, I/O ports, timers, analogue-to-digital converters and so on. The main component to build up Robodances is microcontroller as a mind with its to control the whole system of robot. The microcontrollers that commonly used on developing robot are:-

2.2.1 PIC 18F452 Microcontroller

2.2.2 PIC16F877A Microcontroller

2.2.1 PIC 18F452 Microcontroller

The PIC18F452 microcontroller had to its reliable performance and availability to program in C-language. Figure 12 shows the characteristic specifications and the advancement of the microchip [9].

Figure 1 : PIC18F452 and its characteristics

2.2.2 PIC16F877A Microcontroller

Figure 4.7: PIC 16F877A microcontroller

The PIC16F877A Microcontroller manufactured by Microchip has 40 pins on it. Most of them can be used as an IO pin and others are already for specific functions. The microcontroller work by writing programming code using C programming language. So, everything become simple by use C programming to program the microcontroller to do and react to what programmer wish. The pin layout of the microcontroller shown in Figure 4.8.

Figure 4.8: PIC 16F877A pin layout

2.3 Software of Programming

Robot is a device which have some intelligence to perform a specific task with help of a microcontroller and the programmed in it. Besides that, programming of the Robot is important to control it and ensure robot may not injure a human. To building a Robodance which can move upper body is important to using a suitable programming language. The software of programming is depend on the robotics board or designed of circuit used. There three software of programming that usually using to building a Robodance known as:-


PIC MPLAB microcontroller programming software use as the platform to write the program, simulate, debug, verified and burn the hex file into the microcontroller via self made program board of the JDM.This is free software can be downloaded from the internet [11].

2.3.3 C language

The C programming development supported by many software such as RIDE - IDE for making the code in C and assembly, RC51 - C compiler, MA51 - Assembler, LX51 - Linker tools, LIB51 - Library Manager and RIDE Simulator/Debugger. The features of this sofitware is:-

The best price/performance for professional tools.

Excellent code density (even better with Code Compressor(TM)).

Optimizing C Compiler

Intuitive IDE (one click to start the simulator and load the program)

Powerful IDE (Scripts, Multiproc. Simulation and Peripheral Dev. Kit)

Accurate Simulators (bit level representation of the UART)

Hardware and Software managed from the IDE.

After the process of designing the circuit and selection of software for microcontroller, suitable motor will be choose for the movement of robot . The selection of motor depends on the characteristics and types of robot. The type of motor will be discuss on the next subtopic.

2.4 Motor

The type of motor chosen for a robot is based on its suitable movements. Besides, factors such as cost, availability and physical characteristics of the robot ,the dimensions and weight must also be considered thoroughly before making any decision on the motor used. The most common and general being applied on the robot are DC motor, servo motors, stepper motor. Each type of motor has its own pros and cons. This will be discuss bellowed:-

2.4.1 DC Motor

Figure 4 : DC Motor

DC motor has six basic parts, that are axle, rotor( armature), stator, commutator, field magnet(s), and brushes. Every Robo has more than one channel of DC motor drivers. the speed and direction of DC motor rotation can control with software because DC motor is driven by PWM (Pulse width modulation) signal [12].

2.4.3 Servo Motor

Figure 5 : Servo Motor

Servo motor is DC motor with built in gearing and feedback control loop circuitry and its no motor driver required. Servos are extremely popular with robot, RC plane, and RC boat builders. Most servo motors can rotate about 90 to 180 degrees and some rotate through a full 360 degrees or more. Since servos are fully self contained, the velocity and angle control loops are very easy to implement, while prices remain very affordable [13].

2.4.4 Stepper Motor

Figure 6 : Stepper Motor

A stepper motor is an electromechanical device which converts electrical pulses into discrete mechanical movements. The ability of stepper motor is will be accurately controlled in an open loop control, that's means no feedback information about position is needed. Therefore it's will excellent response to starting, stopping, reversing [14] .

The main objective of project is Robodance will be dance by the movement upper body when hear the music. Therefore, sound detector circuit will be used as a main sensor and switching ON or OFF of Robodance. Although sound detector is the main sensor for this project , other sensors usually used on robots will be discuss on the next subtopic

2.5 Sensor

Sensor is a device which receives and responds to a signal. A sensor can be defined as a device which receives a signal and converts it into electrical form which can be further used for electronic devices. There are many sensor using in robotics such as :-

2.5.1 line sensor

Figure 7 : Line sensor

Line sensor is a very important notion in the world of robotics as it give to the robot a precise, error-less and easy to implement navigation scheme. A line sensor is one that will gather information about the position of a line traced on the ground underneath the robot, to help it to navigate through an eventual grid of lines and intersections. For the software to function correctly, the sensor's electronic circuits have to provide a maximum number of information about that line [15].

2.5.2 Touch Sensor

Figure 8 : Touch Sensor

The touch sensor can detect when it is being pressed or released.There are a lot various types of touch sensing technology available in the market such capacitive, resistive, infrared and camera touch sensor. Capacitive touch sensor can be implemented using microcontroller with simple interfacing component. Capacitive type are normally used in a simpler button switch interface, which are commonly available on portable gadgets like mouse, iPod, and the On/Off switch on LCD monitor. This method senses the changed of capacitance when the user come in close contact on the switch plate surface.

2.5.3 Ultrasonic Sensor

Using the same principle as the SONAR, the ultrasonic sensor

can detect obstacles in its line of sight, and can also measure the distance

between itself and the object, up to a maximum of 255 cm [16].

2.5.4 Light Sensor

Figure 9 : Light Sensor

The light sensor is capable of detecting the intensity of light around

it, and of the light reflected from surfaces. The light sensing circuit of the robot consists of mainly an LDR.Its resistance varies with the variations in the light intensity falling on it [17].

2.5.5 Sound Detector

It is capable of detecting sound, and measuring its intensity (in decibels). Sound detector usually used for robot start activation. When a sound received by microphone in tone detector, the robot will start to move. This sound detector is suitable for Robodance, that is required to main objective of project with is the robot will dance when hear the music.

Robot is completely useless without power supply as power source for the movement. All the component electronics such microcontroller, servo motor and sensor need power supply to function properly. In the last sub topic will be discuss types of power supply usually used on robot.

2.6 Power Supply

The power supply part is the most important unit in an electronic project. Robodance need power supply to ensure all the microcontroller, servomotors and sensors are functional. Every component electronic require different volt obtain from the power supply. Batteries are the main sources of electrical power for robots. Battery requires two electrodes (anode and a cathode) and an electrolyte. Electrons flow between the electrodes outside the battery and through the electrolyte inside the battery. The closed circuit created by these two electron flows use up the chemical energy of the electrolyte and produce electrical power in the process. Wet and dry batteries are classified by the type of electrolyte the battery uses. If the electrolyte is a paste, the cell is referred to as a dry cell and If the electrolyte is a solution, the cell is called a wet cell. The types of battery are:-

2.6.1 Lithium Polymer ( Li-Po) Rechargeable Battery

Lithium-Polymer (Li-Po) Battery for robotic applications. It can give great instantaneous discharge current up to 44A. Very light weight and small size compared to Ni-Cd, Ni-MH and Lead acid batteries. Very long life without losing charging capacity. Weights just 192 gm and low maintenance (18).

2.6.2 Lithium-Ion Rechargeable Cell 4.2V

Lithium-Ion Battery for robotic applications. Very light weight and small size compared to Ni-Cd, Ni-MH and Lead acid batteries. Very long life without loosing charging capacity. Weights just 46 gm and low maintenance (19).

2.6.3 Alkaline Battery

In an alkaline battery, zinc is used as the anode, or the positive electrode of the battery. Zinc oxide is sometimes added to limit the corrosion of the anode. Manganese dioxide is used as the cathode, or negative electrode. Graphite is also added to the cathode, to improve conductivity. Potassium hydroxide is used as the electrolyte in an alkaline battery. Additionally, an alkaline battery includes a separator. This component of an alkaline battery serves to separate the electrolyte between the positive and negative electrodes.  The alkaline battery has the advantage of an extended life over that of a carbon-zinc cell of the same size however it is usually more expensive (20).