Anda di halaman 1dari 15

Computer Control Robotic Arm

Project proposal CTP 2010

Project ID: xxxxx

Group members: 1. 2. 3. 4. 5. S.M.D.Damith Srimal Senarathna Chamika Ranasinghe Prashaktha Senevirathna S.M.D.Dasun Ranganath Senarathna Hiran lahiru Abesiri

Supervised by: Mr. Anuruddha Jayakodi

. Mr. Anuruddha Jayakodi

14 July 2010


Robotic arm based systems has become popular in the world of robotics and use of robot arm increases in various fields day by day. There is always a demand for more intelligent and sophisticated robotic products in the market. And much research is done about the use of robot arm. In the modern world robotic arm based systems are use for fulfill the human satisfaction in several fields such as education, medicine, military, research and mostly in the world of manufacturing. Therefore need for a simple design to a robotic arm with controlling method is very essential. The Computer Control Robotic Arm (CCRA) is a combination of software and hardware which actuator can control by a software application. The user can use the computer to control the robotic arm by using several buttons on the application. The application that user using to control the robotic arm provide graphical user interface to do the task easily through the computer.

Table of Contents

The basic concepts and principles of robotics have been established for quite some time and have a history of its own. However, it was much later that the field of robotics started drawing heightened interest with the advent of the modern computer. Along with the advancement in computer technology and the related fields of artificial intelligence, robot arms started emerging in all types of applications which were not feasible earlier.

Robot arm and controller

Modeling and simulation is an important section in robotic manipulators as it is in many other fields. It provides a test field for experimenting with and learning existing and new concepts related to the subject. A computer control robotic manipulator provides a cost-effective and flexible solution compared to the mechanical design. The desire to gain the possibilities of designing and controlling a robotic arm manipulator of this nature, lead to the concept of the Computer Control Robot arm and its controller. The Computer Control Robotic arm will be referred to as the CCRA while in this project proposal.

In these days people dont have enough time to do the house-works such as mowing the things because of having busy working schedule. In such a case a smart robotic arm becomes very handy. Therefore, the team developed an idea to build a robotic arm that does more than just move in a given moving. Since making the robotic arm that can memorize up to four sequences can help in fixing the boundary limits of a arm mower. With up to four sequences, this designed robotic arm can be used in a wide range of areas with different helpful purposes. For example, the robotic arm can be programmed to help elderly person or patient such as being a reminder or medicine giver. Controlling the robotic arm via computer terminals through the application gives the user flexibility to access it from any computer terminal at any place.

According to the many texts the term robot was first used by the Czech novelist and playwright Karel Capek in his 1921 play R.U.R. (Rossum's Universal Robots). The word is derived from the Slavic word robota, meaning compulsory labor. The term Robotics, meaning the study of robots, seems to have been coined by the science fiction writer Issac Asimov in his famous book I Robot (Asimov, 1950). Even though the robots are thought of as futuristic machines, the concept has been around for quite some time. Dolls operating with clokc work mechanisms have been displayed in European churches in the middle ages. However, the major breakthrough came with the advent of feedback control mechanisms. In 1788 the Scottish engineer James Watt invented the Watt governor for the steam engine to regulate the flow of steam. Robotics had drawn from the field of feed-back controllers and self-correcting mechanisms to advance from mere machines to the automated entities of today. It was the development of the multi-jointed manipulator which on tribute most towards the modern robot. An arm that could be programmed to perform specific tasks was first developed in 1954 by George Devol Jr. This somewhat primitive design was improved upon by Victor Scheinman in 1975, when he was a graduate student at Stanford University. His design was a truly flexible multipurpose manipulator known as the Programmable Universal Manipulation Arm (PUMA). The PUMA was capable of moving an object and placing it with any orientation in a desired location within its reach. It was modeled on the human arm and had similarities in its reach and its weight handling capacity. This basic multi-jointed concept of the PUMA had served as a template for most contemporary robots including the SVR. The SVR inherits the PUMAs anthropomorphic design and joint configuration but differs with the inclusion of an YPR 1 wrist in place of a 3-R wrist. Present research in robotics is drive in several directions. Mobile robotics, machine vision, robotic manipulators are several of them. However, in applications most of these areas are united. In the early days the main application of robotics was in automobile assembly line operations, but in recent times robots have made an entry in too many diverse application areas including medical science, space exploration, warfare and even entertainment.

This Robotic Arm is going to be controlled from a computer with a wide range of functions that the team going to be discussed below. The robotic arm will be controlled from a computer application. The user can use the computer to control as many as several functions by using different keys on the computer. The keys on the computer application tell the robotic arm to move up, down, forward or reverse, turn right or left, or stop of its actuators. Some keys enable the robot to produce sound effects thorough a built-in piezoelectric speaker mounted on the robotic arm. And other keys flash the robots LED lights. The Robot also has an onboard 16-Kilobit, non-volatile memory that enables it to remember movement sequences. There are six selectable memory banks, each with several steps of memory. This means that we can have the Robotic arm repeat its movement and produce sound effects automatically. We can store six sequences each with up to several steps and, with a press of a button; the Robot will replay the sequence. Sequences are stored and remembered even if the power is temporarily turned off or the batteries die. The on-board receiver is sensitive enough for a control range of up to length of the wire. We are also planning to put a video camera on the robot and sending the video signal on the robot to computer so that the user knows what exactly the Robot is heading. But this part is only implemented if time permits. We can also select two speeds: a high range and a low range. We must fully document our progress to assure that we have learned the proper procedures for the original design of the Robot and successfully performed them. Lastly, we have our self-assigned requirements. The three of us want to make certain that our project is a sufficient challenge and that the final product will be something in which we can be proud of. This decision, which we recently came to, has changed the scope of our project to the construction of infrared transmitterreceiver, and the Robotic arm, as opposed to purchasing a pre packaged RS 232 USART transmitter-receiver and interface it with a computer.


In order to design the Computer Control Robotic Arm, the team considered some possibilities in design and implementation approaches. There are three major portions: 1. The Robotic Arm 2. The Interfacing Medium 3. The Application with GUI (for communicate with robotic arm) Each major part is guided by several approaches.

When creating the Robotic Arm the team has to consider physical implementation, Programming for intelligent section. Furthermore the team has to consider about software for programming and hardware for physical robotic arm availability in the market. Second major part of the implementation process is considering about interfacing medium. There are two major parts to consider. Hardware and software sections like Robotic Arm. When evaluating the possibilities of interfacing, have to consider about computer physical interfaces. Finally the team consider about creating an Application with graphical user interface (GUI). Software and the language that use to implement an Application get important part of this module.

1.) Robotic Arm 1.1 Physical Implementation 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 Electro mechanical actuators Motors: DC motors, Servo motor, Stepper motor Microcontroller Power supply End effecter (for arm)

1.2 Software Implementation 1.2.1 Data acquisition system 1.2.2 A/D and D/A conversion 1.2.3 Software for programming(for PIC)

1.3 Availability of Software for programming and hardware actuator in the market.

2.) The Interfacing Medium 2.1 Computer Interfacing 2.1.1 Serial Port 2.1.2 Parallel Port 2.1.3 USB 2.1.4 Fire wire 2.1.5 PCI Express 2.2 Peripheral Interfacing 2.2.1 I2C 2.2.2 SPI 3.) The Application with GUI 3.1 DLL Methods 3.2 Serial Port Related Methods 3.3 GUI

1.) Robotic Arm

Mechanical Structure of the Arm

In constructing the arm, the team going to use four servo motors and gears since the structure is a three dimensional structure. A typical prototype structure is shown on Figure 2.There is a servo motor at the base, which allow for circular movement of the whole structure and another servo motor at the shoulder which allows for upward and downward movement of the arm. While the last servo motor at the wrist allows for the picking of objects by the end effecter. The Robotic team decides to use normal end effecter which can hold a object via two fingers.


1. Servo motor


A microcontroller is an entire computer manufactured on a single chip. Microcontrollers are usually dedicated devices embedded within an application e.g. as engine controllers in automobiles and as exposure and focus controllers in cameras. In order to serve these applications, they have a high concentration of onchip facilities such as serial ports, parallel input/output ports, timers, counters; interrupt control, analog-to-digital converters, random access memory, read only memory etc. The I/O, memory, and on-chip peripherals of a microcontroller are selected depending on the specifics of the target application. Since microcontrollers are powerful digital processors, the degree of control and programmability they provide significantly enhances the effectiveness of the application. In order to control the CCRA the team should use below features which are in microcontroller. Random Access Memory (RAM): RAM is used for temporary storage of data during runtime. ROM: ROM is the memory which stores the program to be executed. SFR Registers: Special Function Registers are special elements of RAM. Program Counter: This is the "engine" which starts the program and points to the memory address of the instruction to be executed. Immediately upon its execution value of counter increments by 1. Control Logic: As the name implies, it which supervises and controls every aspect of operations within MCU, and it cannot be manipulated. It comprises several parts, the most important ones including: instructions decoder, Arithmetical Logic Unit (ALU) and Accumulator. A/D Converter: A/D stands for analog to digital. They convert analog signals to digital signals. I/O Ports: To be of any practical use, microcontrollers have ports which are connected to the pins on its case. Every pin can be designated as either input or output to suit user's needs. Oscillator: This is the rhythm section of the MCU. The stable pace provided by this instrument allows harmonious and synchronous functioning of all other parts of MCU.


Timers: timers can be used for measuring time between two occurrences and can also behave like a counter. The Watchdog Timer resets the MCU every time it overflows, and the program execution starts anew (much as if the power had just been turned on). Power Supply Circuit: this powers the MCU.

By considering this information the team going to use PIC16f87XA microcontroller for control the actuator.


The main idea the PIC 16F87XA The 16F873A, example microcontroller, is part of a family group that was briefly introduced at the beginning of Chapter 2. The group is made up of the 16F873A, the 16F874A, the 16F876A and the 16F877A. Generically, we can refer to them as 16F87XA. Each microcontroller in the group also has an LF version, for example 16LF873A, which can run at a lower power supply voltage than the standard device. The features of this group are summarized in Table 2.1. Looking back at that table, it is easy to see that the four group members are distinguished simply by different memory sizes and different package sizes, where the larger package allows more parallel input/output ports to be used. This is illustrated in the pin connection diagrams of Figure 7.1. The extra pins on the larger devices are enclosed in a dotted line. It can be seen that a primary difference is the Port D and Port E that the 874A/877A have.


2.) The Interfacing Medium Computer Interfacing Ease of usability, being hot pluggable, fast enough for usage, room for expandability fulfill the needs of PC communication. Potential interfacing standards will be discussed in the below and one of them will be chosen for design criteria. Serial Port Serial port is an interface on a computer system with which information is transferred serially means in or out one bit at a time; this was accomplished using the RS-232 standard over simple cables. Originally 25 pin D-type connector was specified but later 9 pin D-type connector is replaced. The RS 232 standard is 24 formally limited to 20 Kb/s; serial ports on popular personal computers allow settings up to 115 Kb/s. Transmission may be synchronous or asynchronous. By the developments in technology, serial port is supplanted by newer standards such as USB and FireWire. Parallel Port At Parallel port, data is transferred in or out in parallel fashion, that is, on more than one wire. A parallel port carries one bit on each wire thus multiplying the transfer rate obtainable over a single cable. It has two modes EPP and ECP with 1.5 Mb/s and 2.5 Mb/s speed respectively. On many modern computers, the parallel port is omitted for cost savings, and is considered to be a legacy port. USB USB is a serial communication protocol designed for variety of peripherals from mouse to video cameras to share a standard connection. There are hosts located at computers or at devices and slaves which are devices, peripherals and up to 127 devices may be connected to a single host controller. USB connectors also carries power lines (5V, 500mA) which makes some devices work with only USB cables. USB devices are hot pluggable that means after enumeration of devices and determination of driver, there is no need for rebooting the computer. It has 3 types of devices which determine data transfer rates; low speed, full speed and high speed devices at 1.5 Mb/s, 12 Mb/s, and 480 Mb/s transfer speeds respectively. FireWire FireWire is a personal computer and digital video serial bus interface standard offering high-speed communications and isochronous real-time data services. FireWire can be considered as a successor technology to the obsolescent SCSI 25 Parallel interface [W_FireWire]. Up to 63 devices can be daisy-chained to one FireWire port. It allows peer to peer communication between devices which uses less system CPU memory but also makes it more costly than their USB equivalents. FireWire devices are plug and play and hot pluggable devices. It has 2 versions FireWire 400 and FireWire 800 whose transfer rates are 400 Mb/s and 800 Mb/s respectively.


PCI Express PCI Express (PCIe) is a development of the old technology PCI (Peripheral Component Interconnect) bus. Unlike PCI, PCIe is a serial bus. Its topology is like point to point network topology. All PCIe devices connected to motherboard processor which is also integrated PCIe switches, at separate connections. Communication is real time with handshaking and error detection. There are several types of PCIe devices according to their physical connections also called links from 1 to 32. One bit transfer is done at one clock cycle at one lane and 8 GB/s maximum transfer rate for 32 link device. PCIe devices might be used as hot pluggable according to hardware.