Introduction - Department of Computer Science

advertisement
Project Tutorial
Artificial Intelligence
Dr. Martine Ceberio
Project Title: AI and Engineering
Team Members:
David Flores
David Hinojosa
Kendra Kramer
Tomas Meza
Introduction
A robot is a “system that contains sensors, control systems, manipulators, power
supplies and software all working together to perform a task” [1]. Robots are being used
all over the world for a wide variety of tasks. For example, they are used for assembling
automobiles, for cleaning houses with automatic vacuum cleaners, and for building robotplayed games such as table tennis. They have even been used to explore other planets,
such as the Mars Rover. Currently, a large part of research is focuses on robots and their
applications in industry, such as their participation in the manufacturing process. Robots
can be self controlled by means of a logic-based inference engine, directed by a human,
or previously programmed with a specific set of functions
Robotics is a “branch of engineering that involves the conception, design,
manufacture, and operation of robots.” [2] Robotics involves several fields, such as
mechanical engineering, computer science, mathematics, and depending on the robot
system, sometimes medicine and biology, among others. Robotics has improved greatly
during the past few years due to the fast technological advances in the fields of
mechanics and electronics. The mechanics used to build the robots are becoming faster
and more precise. Furthermore, electronic sensors can detect changes faster and are more
reliable. These sensors help robots to acquire information to be used by artificial
intelligence techniques to detect changes and react to these changes. For example,
through the use of video cameras or pressure sensors, the robot gets information in order
to react to the changes in the environment.
Making robots adapt to changes in the environment and/or react to these changes
is the biggest challenge of robotics. Although there exists the technology to create robots,
we need to use artificial intelligence techniques in order to implement ways to address
robots’ adaptation and reaction. Artificial intelligence gives robots the tools necessary to
perform these tasks via logic-based systems. A robot can perform three main actions:
1. Perceive: A robot need to get information form the environment before doing any
kind of information processing. Common ways to obtain this information is via
sensors and cameras.
2. Process: After the information about the environment has been obtained, the robot
needs to process it in order to determine what reaction to make. This is usually done
via an inference engine.
3. Interact: The reaction of the robot to a given event is known as the interaction
between the robot and its environment.
1
Definition of the Project
Simulate two robots, where one robot will act randomly and inform the other
robot trough a software interface, then the second robot will react according to the given
information from the software interface and will take appropriate responsive actions. The
main objective is to have Robot 1 grab an object with its gripper and to inform Robot 2 so
it can pick it up with its gripper from Robot 1.
We will be mainly using Unigraphics, a software tool that will allow us to model the
robots in a 3D environment, and then program those models to generate a specific goal.
Once we model the robots and apply the algorithms and necessary mathematical
approaches for the movements of the robots Unigraphics can be used to test these
programmed robots and evaluate their functionality and performance. A more detailed
description of this software tool is given in the “Introduction to Unigraphics” section.
The main goals of the project are the following:

Coordination of motion: coordinating movements between robots will be done by
software communication; this means that the robots will communicate each
other’s movements at software level. For example, if robot1 moves into one
direction this robot will inform robot2 about its position, and robot2 will need to
act according to that movement. This software communication can be later
implemented if the design changes, this means that if a sensor is added to the
robots the software interface will need to be slightly changed to add the
functionality to read from sensors and the system would need now to reason under
uncertainty.

Collision avoidance: this means that the robots will not collide between them in
the interaction or reaction at any time. For this purpose we are currently planning
to use a software inference engine that will decide the best next action to be taken
based on the information perceived form the environment at a particular moment
in time.

Path Optimization: determine which will be the optimum movements for each
robot for completion of the goal.
Following is a picture of the actual robots involved in this project, as photographed in the
Engineering Department:
2
Purpose of Project
The purpose of this project is to simulate the robots and its possible movements
through the use of a software called Unigraphics. This will help us to test the added
artificial intelligence that will be programmed into the robots. The purpose is to test them
in advance prior to a physical test to the actual robots, without the need of having to
modify or change the real machines, until an efficient algorithm is obtained and applied
to perform a specific goal.
Therefore, the reason why artificial intelligence techniques need to be applied to
this project is to add the robots the functionality of a reacting system. After doing so, we
need to observe the behavior of the robots, determine if the applied algorithms are
efficient, and determine whether the specified goal has been achieved or not.
Collision avoidance is a critical issue that will need to be taken in consideration
before the physical robots are programmed, since we want to ensure that no damage to
the robots is being done by any collision. After applying these techniques, we will
program these machines physically and will test the added artificial intelligence to the
robots and prove that it works in real life. The following pictures specify the parts of one
of the robots, as specified in the user’s manual [3]:
3
The use of artificial intelligence into this project is vital to make these robots
intelligent devices. These robots will need to be modeled in the Unigraphics software
provided from the electrical department, and a pre-designed Unigraphics model that we
will be using to program the robots.
It is important to note that the robots will be part of a reactive system since one
robot will be reacting to the other robot’s movements. This means that Robot 1 will react
in an IF-THEN way. For example:
IF Robot 2 moved left THEN Robot 1 move right
A reactive system is a reflex agent, “possibly with internal state, that can be
implemented with any of a variety of representations for condition-action rules.” [4] Such
representations include, for example, finite state machines, which we will use in our
project to represent the current state of the system at any given point in time.
Applications of This Project in Real Life:
In real life situations we are faced with decision making on a daily basis. We
base our decision making by using logic. For instance, is it convenient to go for lunch at
12:30, even though I have not studied at all for my quiz which is at 1:30. This represents
real life applications of logic and decision making. However, for our project, logic will
be used to represent our system’s knowledge base. Since decision making will be
involved due to the establishment of rules for our system, a logic system will allow us to
define the necessary rules of inference in order to make robot 1 react to robot 2’s
movements.
However, the main application of this project is in industry. As specified in the
user’s manual, “the SCORBOT-ER4pc was designed and developed to emulate an
industrial robot.” [3] Thus, the robots can be used to implement and evaluate different
algorithms in the manufacturing area before such algorithms are implemented in the
actual assembly lines. Doing so can save a lot of money to a company by experimenting
with different algorithms without having to actually implement them on the assembly
lines, for example.
In the next section, we will give a brief introduction to Unigraphics, the software
tool that will allow us to simulate the robots’ system for our project.
4
Introduction to Unigraphics
Unigraphics NX is a software tool that supports the management of a product’s
lifecycle [5] [6]. By product lifecycle we mean the design, manufacture, and maintenance
of a product [7]. The three technologies that this software tool provides to support these
stages are Computer-Aided Design (CAD), Computer-Aided Manufacturing (CAM), and
Computer-Aided Engineering analysis (CAE), respectively. Unigraphics is developed by
Unigraphics Solutions Inc. (UGS), a company that specializes in the development of 3D
software that supports the product lifecycle management (PLM) [7].
In particular, we will be using Unigraphics NX 3.0 as a modeling tool to simulate
the robots. Furthermore, we will only be using the CAD and CAE parts of this software,
since we will be both simulating and evaluating the robots, but we will not be
maintaining them since this objective is not within the scope of our project. However, it
is important to at least know how all the PLM stages are supported within Unigraphics,
and so a brief overview on CAD, CAM, and CAE follows.
Computer-Aided Design [8]
CAD allows the user to make a design of a product. It is commonly used by
engineers to design automotive components and by architects to sketch roads and house
complexes.
In this project, we will model the robots that are in the engineering department.
We are currently waiting for the robots to be moved to the CS department in order to start
their modeling in Unigraphics.
Computer-Aided Manufacturing [9]
CAM allows the design of a product to be translated into code that a machine can
execute in order to manufacture the real piece. However, we are not using CAM in our
project since the robots have already been built.
Computer-Aided Engineering analysis [10]
CAE supports the analysis and evaluation of a designed system. A common
practice is to evaluate a system’s performance. In the picture to the left, friction between
the ground and the wheels can be analyzed, for example.
In our project, we will be evaluating the performance and robustness of the robot
system. We will be testing, for example, that the robots do not collide or have no physical
contact, and that the shooting robot hits as much as possible on the target area.
5
Finally, we give a preview of how the robots should be simulated. The following
is a screenshot taken from the Unigraphics software tool. This is only a draft including
only one robot, so we will need to extend it to include the two of them. Furthermore, the
picture shows only the design part, but we will need to program the two arms in order to
implement our inference engine.
Conclusion
In summary, our semester project consists of implementing a two-robot system
that does the following: Robot 1 should grab an object with its gripper and inform Robot
2 so that Robot 2 can pick it up with its gripper from Robot 1. The system will be
reactive, and implemented in Unigraphics. The applications of this project are mainly in
the computer-aided manufacturing process in industry.
6
References
[1]
Introduction to Robots
http://www.galileo.org/robotics/intro.html
[2]
Define robotics – a Whatis.com definition
http://whatis.techtarget.com/definition/0,,sid9_gci520361,00.html
[3]
User’s Manual
http://dockweb.utep.edu/~daflores/courses/courses_html/robots_manual.html
[4]
Peter Norvig, Stuart Rusell. “Artificial Intelligence: A Modern Approach”,
Prentice Hall, 2002.
[5]
Lesson 1 Tutorial of the Unigraphics BE 1205 class
[6]
NX (Unigraphics)
http://en.wikipedia.org/wiki/Unigraphics
[7]
UGS: Product Lifecycle Management (PLM) Solutions
http://www.ugs.com
[8]
Computer-aided Design
http://en.wikipedia.org/wiki/Computer-aided_design
[9]
Computer-aided manufacturing
http://en.wikipedia.org/wiki/Computer-aided_manufacturing
[10]
Computer-aided Engineering
http://en.wikipedia.org/wiki/Computer-aided_engineering
7
Download