[IEEE 1994 IEEE International Symposium on Industrial Electronics (ISIE'94) - Santiago, Chile (25-27...

3
Anthropmmorphic Interface for Robot Arm Programming through a Data Glove Dulal G. M. Mostafa, Assistant Professor Indiana University - Purdue University Fort Wayne, Indiana, USA ABSTRACT The objective of this paper is to present an implementation of a system in which a data glove worn on a human hand is interfaced with a robot. A controlling program translates the movements done by the glove into robotic motion. This implementation may have future prospect in remote handling in a protected or hazardous factory environment. The equipment used in this implementation were two robots and their controllers, a data glove and it's controller, an X-Y glove sensor system and a personal computer. INTRODUCTION This project was initiated as the result of a request made by upper administrators of the university to foxmulate a contraption to be used at the ribbon cutting ceremony of a new Engineering and Technology building. The idea was to present something that was "tugh-tech" so it would be appropriate for the purpose. It was timely that a few students were investigating the usefulness of a data glove to relay positional information. In another department, some other students were working on robotic information translation. One thing led to another and very soon a group was set up for the ribbon cutting purpose. The data glove is one that was initially manufactured by Nintendo, the Video game company, for use by children in certain action games. The command acceptance structure however was set up to receive only discrete packaged data. The task at hand was to continuously translate positional information. This requires a reasonably fast processor whch is why the personal computer and sharp programming was desired. The robots used were table-top Mitsubishi RV-MI five axis which for the task were more than capable provided the information was in the correct format. The majority of the success was dependent upon very sophisticated program 'splicing'. The programs, however, were a combination of home-made and those supplied by friends on internet that had developed these proyluns for other purposes. 'lbercforc U considerable amount of time was spent in communicating with the original authors of the programs. As a large part of this code was borrowed fiom vivid users of the glove it is appropriate to credit them for their assistance and work. The main source of information was fiom Mark T. Pflaging. The others that were directly or indirectly involved were Manfiedo, Greg Alt, Dave Stampe, and Mitch Allen. Original program was "power.c" (c) by Maniiedo 9/91; (email address. ma&[email protected]). Th~s was then ported to PC compatibles by Greg Alt 10/91 (email address: galt@ peruvian.utah.edu or [email protected]). Further it was substantially rewritten by Dave Stampe (c) 1991: "PWRF1LT.C" 17/10/9 l(emai1 address: dstampGJwatserv1 .uwaterloo.ca). Finally it was converted to C++ by Mitch Allen, 11/91, (email address: [email protected]). The assistance works of Chris Babock and John Eagan, must also be appreciated. TECHNICAL SPECIFICATION Robot arms are typically programmed by describing points in three-dimensional space. Robots can then be instructed to move through a path of sequential points to perform the necessary tasks. Teach pendants are the most common devices to describe such points in space. Buttons on the teach pendant are pressed in an appropriate sequence for the robot to move to, and memorize new points in space. Productivity gains can be achieved by making the process of programming a robot BR~ more intuitwe. A data glove translates the orientation of the operators hand into digital information which is sent synchronously to the BIOS of a personal computer. Then a device driver translates the data into position dormation for use by the application software. 'This information is further processed by the I application software into an appropriate set of commands for a robot. A program was written to utilize device drivers designed specifically for this setup. The program is flexible enough to translate sensored dormation into robotic movements. The implementation system configuration and setup are shown in Figures 1 and 2. This setup was successfully tested. Figure 3 shows the test in progress at the recent university building dedication ribbon cutting ceremony. Table 1 shows a portion of the programmatic functions, their description and the parameters utilized in this scenario. It is important to realize that the level of technology has been kept siinplr and so dicrc is no capability of fccd back information. TROUBLESHOOTING During the process of this project a lot has been learnt about how the glove behaves in different situations. Some of the problems are related to jumpiness or dimensions not responding. Most problems with glove accuracy can be attributed to one or more of the following conditions (in order of co"oMess): 326

Transcript of [IEEE 1994 IEEE International Symposium on Industrial Electronics (ISIE'94) - Santiago, Chile (25-27...

Page 1: [IEEE 1994 IEEE International Symposium on Industrial Electronics (ISIE'94) - Santiago, Chile (25-27 May 1994)] Proceedings of 1994 IEEE International Symposium on Industrial Electronics

Anthropmmorphic Interface for Robot Arm Programming through a Data Glove

Dulal G. M. Mostafa, Assistant Professor Indiana University - Purdue University

Fort Wayne, Indiana, USA

ABSTRACT

The objective of this paper is to present an implementation of a system in which a data glove worn on a human hand is interfaced with a robot. A controlling program translates the movements done by the glove into robotic motion. This implementation may have future prospect in remote handling in a protected or hazardous factory environment. The equipment used in this implementation were two robots and their controllers, a data glove and it's controller, an X-Y glove sensor system and a personal computer.

INTRODUCTION

This project was initiated as the result of a request made by upper administrators of the university to foxmulate a contraption to be used at the ribbon cutting ceremony of a new Engineering and Technology building. The idea was to present something that was "tugh-tech" so it would be appropriate for the purpose. It was timely that a few students were investigating the usefulness of a data glove to relay positional information. In another department, some other students were working on robotic information translation. One thing led to another and very soon a group was set up for the ribbon cutting purpose.

The data glove is one that was initially manufactured by Nintendo, the Video game company, for use by children in certain action games. The command acceptance structure however was set up to receive only discrete packaged data. The task at hand was to continuously translate positional information. This requires a reasonably fast processor whch is why the personal computer and sharp programming was desired. The robots used were table-top Mitsubishi RV-MI five axis which for the task were more than capable provided the information was in the correct format. The majority of the success was dependent upon very sophisticated program 'splicing'. The programs, however, were a combination of home-made and those supplied by friends on internet that had developed these proyluns for other purposes. 'lbercforc U

considerable amount of time was spent in communicating with the original authors of the programs. As a large part of this code was borrowed fiom vivid users of the glove it is appropriate to credit them for their assistance and work. The main source of information was fiom Mark T. Pflaging. The others that were directly or indirectly involved were Manfiedo, Greg Alt, Dave Stampe, and Mitch Allen. Original program was "power.c" (c) by Maniiedo 9/91; (email address. ma&[email protected]). Th~s was then ported to PC compatibles by Greg Alt 10/91 (email address: galt@ peruvian.utah.edu or [email protected]). Further it was substantially rewritten by Dave Stampe (c) 1991:

"PWRF1LT.C" 17/10/9 l(emai1 address: dstampGJwatserv1 .uwaterloo.ca). Finally it was converted to C++ by Mitch Allen, 11/91, (email address: [email protected]). The assistance works of Chris Babock and John Eagan, must also be appreciated.

TECHNICAL SPECIFICATION

Robot arms are typically programmed by describing points in three-dimensional space. Robots can then be instructed to move through a path of sequential points to perform the necessary tasks. Teach pendants are the most common devices to describe such points in space. Buttons on the teach pendant are pressed in an appropriate sequence for the robot to move to, and memorize new points in space. Productivity gains can be achieved by making the process of programming a robot B R ~

more intuitwe.

A data glove translates the orientation of the operators hand into digital information which is sent synchronously to the BIOS of a personal computer. Then a device driver translates the data into position dormation for use by the application software. 'This information is further processed by the I

application software into an appropriate set of commands for a robot.

A program was written to utilize device drivers designed specifically for this setup. The program is flexible enough to translate sensored dormation into robotic movements. The implementation system configuration and setup are shown in Figures 1 and 2. This setup was successfully tested. Figure 3 shows the test in progress at the recent university building dedication ribbon cutting ceremony.

Table 1 shows a portion of the programmatic functions, their description and the parameters utilized in this scenario. It is important to realize that the level of technology has been kept siinplr and so dicrc is no capability of fccd back information.

TROUBLESHOOTING

During the process of this project a lot has been learnt about how the glove behaves in different situations. Some of the problems are related to jumpiness or dimensions not responding. Most problems with glove accuracy can be attributed to one or more of the following conditions (in order of co"oMess):

326

Page 2: [IEEE 1994 IEEE International Symposium on Industrial Electronics (ISIE'94) - Santiago, Chile (25-27 May 1994)] Proceedings of 1994 IEEE International Symposium on Industrial Electronics

FUNCTION DESCJUPTION

ProcessButtonPres

AdjustAnnPosition

This hnction responds to button presses on the glove and as returned

Adjusts the position of the arm based on the current glove position. Use mixture of commands.

SendString Transmits a string of characters out of the specified serial port. The str is also displayed on the screen.

Waits for a specified number of seconds to elapse before returning to caller.

Pause

Main Translates glove movements into robot commands and transmits them the robot arm.

Table I . Programatic Functions and Descriptions

1 I

Glove

Figure I . Schematic of System Configuration

Background Noise Sensors on or near hard, smooth surfaces. This problem

was difficult to correct. The ideal place to use the glove is in a 20' x 20' "room" with all walls (and ceiling) carpeted. It is desirable to get as close to this ideal as possible. Taping a duck blanket up against a wall and attaching the sensors directly to the blankets is a band-aid solution. If its still not good enough, start putting blankets up on other walls. It was noticed that there was a dimetically better response with the "softer" environment. The problem results because the ultrasonic waves emitted by the glove (and measured by the sensors) tend to bounce off smooth hard surfaces. The circuitry interprets the glove position based on the assumption that the waves are coming directly from the glove. Waves that have been reflected off any object in the room will be interpreted incorrectly, and will cause the glove to seem "glitchy" or prevent the glove cursor from sensing certain positions correctly. "Soft" surfaces made of thick fabric dampen the waves enough to keep the sensors from getting confused. It is disappointing to learn that the sensors do not belong on a computer monitor, or a television.

Objects Between Glove and Sensors It is obvious that the ultrasonic waves cannot travel

through objects on their path to the sensors. Less obviously, objects that are simply in the vicinity of the path between the glove and the sensors will reflect ultrasonic waves and cause problems as described in #l.

User Distance from Sensors The glove should be kept between five and ten feet

away from the sensors. If Uir glove gcts too closc, i t will become unable to sense certain positions, and perhaps even fail to detect changes on an entire axis. If the glove gels too far away, it will "move" even when your hand is still. Also, the position reported will be "grainier" that is, it will lose resolution.

Connector wiring If it is verified that all of the above problems are non-

existent and the glove still fails to work as expected, the wiring should be checked. An easily overlooked factor is the

327

Page 3: [IEEE 1994 IEEE International Symposium on Industrial Electronics (ISIE'94) - Santiago, Chile (25-27 May 1994)] Proceedings of 1994 IEEE International Symposium on Industrial Electronics

Figure 2. Operation In Progress

Figure 3. Operation At Ribbon Cutting Ceremony

CONCLUSION

voltage. Though this has not been experimented, it is necessary that the voltage must be between +4SV and +5.5V. We were using the 5V wire 6 0 m the computer, so there was nothing to wony about as long as the computer behaved normally. The keyboard connector and the joystick connector also have reliable 5V wires. A possible problem could be that the computer is too slow for the software (very unlikely) or the software is incompatible with the computer, which is nearly impossible.

The success of thrs project was enlightening in the aspect of information sharing and making a convincingly "high-tech" task using rcadily available equipment aod toys. It was a rewarding experience for the students and the faculty involved. Certain shortcomings were experienced by using this glove, whereas a more sophisticated glove would have been more efficient. The next logical step in the process would be to collaborate with a local industry and conduct tests in a factory environment.

328