RoboLogix
Encyclopedia

Overview

RoboLogix is a robotics simulator
Robotics simulator
A robotics simulator is used to create embedded applications for a robot without depending physically on the actual machine, thus saving cost and time. In some case, these applications can be transferred on the real robot without modifications. The term robotics simulator can refer to several...

 which uses a physics engine
Physics engine
A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics , soft body dynamics, and fluid dynamics, of use in the domains of computer graphics, video games and film. Their main uses are in video games , in which case the...

 to emulate real-world robotics applications. The advantages of using robotics simulation tools are that they save time in the design of robotics applications and they can also greatly increase the level of safety associated with robotic equipment since various "what if" scenarios can be tried and tested before the system is activated. By using RoboLogix, it is possible to teach, test, run, and debug programs that have been written using a five-axis industrial robot
Industrial robot
An industrial robot is defined by ISO as an automatically controlled, reprogrammable, multipurpose manipulator programmable in three or more axes...

 in a wide range of practical applications. These simulated applications include pick-and-place, palletizing, welding
Welding
Welding is a fabrication or sculptural process that joins materials, usually metals or thermoplastics, by causing coalescence. This is often done by melting the workpieces and adding a filler material to form a pool of molten material that cools to become a strong joint, with pressure sometimes...

, and painting. RoboLogix allows for the execution of robot software
Robot software
Robot software is the coded commands that tell a mechanical device what tasks to perform and control its actions. Robot software is used to perform tasks and automate tasks to be performed. Programming robots is a non-trivial task...

 programs to test and visually examine the operation of robot programs and control algorithms, while plotting instantaneous joint accelerations, velocities and positions.

RoboLogix was developed by Colin Simpson and John (Bud) Skinner. It is primarily intended as an educational resource, and is used by high schools, colleges, and universities  to provide laboratory simulation of industrial robots. Some institutions, such as George Brown College
George Brown College
George Brown College is a public, fully accredited college of applied arts and technology with three full campuses in downtown Toronto, Ontario...

 use RoboLogix as part of an online robotics distance education program. The simulation software
Simulation software
Simulation software is based on the process of modeling a real phenomenon with a set of mathematical formulas. It is, essentially, a program that allows the user to observe an operation through simulation without actually performing that operation...

 allows for verification of the robot's reaching ability, travel ranges and collisions. This type of simulation software provides an increased level of reliability in the planning process and program development as well as reducing the overall completion/commissioning time.

The ability to preview the behavior of a robotic system in a virtual world
Virtual world
A virtual world is an online community that takes the form of a computer-based simulated environment through which users can interact with one another and use and create objects. The term has become largely synonymous with interactive 3D virtual environments, where the users take the form of...

 allows for a variety of mechanisms, devices, configurations and controllers to be tried and tested before being applied to a "real world" system. RoboLogix receives control signals, determines if contact or collision between objects in the system has occurred, and returns simulated sensor information as feedback
Feedback
Feedback describes the situation when output from an event or phenomenon in the past will influence an occurrence or occurrences of the same Feedback describes the situation when output from (or information about the result of) an event or phenomenon in the past will influence an occurrence or...

. This system has the capacity of real-time simulation of the motion of an industrial robot through 3D animation. The principles of 3D motion simulation and both geometric modeling
Geometric modeling
Geometric modeling is a branch of applied mathematics and computational geometry that studies methods and algorithms for the mathematical description of shapes....

 and kinematics
Kinematics
Kinematics is the branch of classical mechanics that describes the motion of bodies and systems without consideration of the forces that cause the motion....

 modeling are presented in the RoboLogix virtual environment.

RoboLogix enables programmers to write their own robot programs, modify the environment and use the available sensors. These sensors include video cameras which are used for obtaining the desired position of the robot end effector. In addition, a teach pendant control panel
Control panel (computer)
Many computer user interfaces use a control panel metaphor to give the user control of software and hardware features.-Computer History:The term control panel was used for the plugboards in unit record equipment and in the early computers of the 1940s and '50s...

 is included with the simulator that allows the user to command the robot to pick up a tracked object and return it to a home location through jogged commands or pre-programmed positions.

Control panel

The RoboLogix control panel consists of both robot control functions as well as environment control functions such as conveyor system
Conveyor system
A conveyor system is a common piece of mechanical handling equipment that moves materials from one location to another. Conveyors are especially useful in applications involving the transportation of heavy or bulky materials...

 controls, on-off hard-wired control, etc. The conveyor controls can move either conveyor in the forward or reverse direction. Motion control
Motion control
Motion control is a sub-field of automation, in which the position or velocity of machines are controlled using some type of device such as a hydraulic pump, linear actuator, or an electric motor, generally a servo...

 of the robot accomplished by moving the robot from one location position to another. This movement is achieved by setting the angular (A1 -A5) coordinates and the linear (X, Y, Z) coordinates. With robotic systems in general, angular position movements are commonly used for large (course) motion and linear position movements are often used for smaller (fine) increments.

There are several command instructions on the control panel such as Reset, Home, Setup and Zero which are used to automatically set the robot to a specific position for calibration
Calibration
Calibration is a comparison between measurements – one of known magnitude or correctness made or set with one device and another measurement made in as similar a way as possible with a second device....

 or realignment. The Reset
Reset (Computing)
In a computer or data transmission system, to reset means to clear any pending errors or events and bring a system to normal condition or initial state usually in a controlled manner. It is usually done in response to an error condition when it is impossible or undesirable for a processing activity...

  instruction is used to clear program errors and reset the system. The Home instruction will return the robot to its home base position, and the Zero instruction will reset the robot arm coordinates to zero. The Setup key provides access to a dialog box with setting adjustments for conveyor speed, as well as feed rates for angular (deg/sec) and linear (cm/sec) jog instructions. In addition, the Setup dialog box
Dialog box
In a graphical user interface of computers, a dialog box is a type of window used to enable reciprocal communication or "dialog" between a computer and its user. It may communicate information to the user, prompt the user for a response, or both...

 also allows for independent adjustment of the A5 rotary tool feedrate.

Vision system

RoboLogix provides 12 viewpoints
Viewpoints
Viewpoints is a technique of composition that provides a vocabulary for thinking about and acting upon movement and gesture. Originally developed in the 1970s by choreographer Mary Overlie as a method of movement improvisation, The Viewpoints theory was adapted for stage acting by directors Anne...

, or camera angles for a given robot work envelope. These viewpoints are accessed by the twelve CAM keys and allow for the viewing from a variety of angles and perspectives
Perspective (visual)
Perspective, in context of vision and visual perception, is the way in which objects appear to the eye based on their spatial attributes; or their dimensions and the position of the eye relative to the objects...

. By using these camera
Camera
A camera is a device that records and stores images. These images may be still photographs or moving images such as videos or movies. The term camera comes from the camera obscura , an early mechanism for projecting images...

 viewpoints, the user can move around in a 3D animated environment in much the same way they would in the real-world. When programming the robot, the camera views allow you to make fine adjustments to the arm and gripper position, or to view the entire work envelope and surrounding area. One of the camera views is from the robot's end effector. This viewpoint allows for the real-time visualization and positioning of the end effector (gripper) as it approaches the workpiece.

Programming language

Like most robot programming languages, RoboLogix programs consist of data objects and program flow. The data objects reside in registers and the program flow represents the list of instructions, or instruction set
Instruction set
An instruction set, or instruction set architecture , is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O...

, that is used to program the robot. RoboLogix program language is a type of scripting language
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...

 that is used to control the software application.

Programming languages are generally designed for building data structures and algorithms from scratch, while scripting languages are intended more for connecting, or gluing, components and instructions together. Consequently, the RoboLogix instruction set is a streamlined list of program commands that are used to simplify the programming process and provide rapid application development.

Instruction set

The RoboLogix instruction set contains 16 commands, which are usually written as a program on a line-by-line basis. These commands are used to instruct the robot to perform tasks such as moving to a specific location, picking up an object, executing a subroutine
Subroutine
In computer science, a subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code....

, waiting, etc. One of the more popular commands in the instruction set is the IF instruction, which compares numerical values located in two registers. If a register has a value that is greater than (>), less than (<), greater than/equal to (>=), less than/equal to (<=), equal to (=), or not equal to (<>) another register, it will execute the next line in the program if the condition is true. The IF command is often used with the JMP LBL instruction to control program execution.

All instruction set information is stored in registers, which are data locations capable of holding variable numeric values. There are two main types of registers used by RoboLogix: position registers and variable registers. Position registers contain both the linear and angular data point
Data point
In statistics, a data point is a set of measurements on a single member of a statistical population, or a subset of those measurements for a given individual...

 coordinates and include axis (joint) information for A1, A2, A3, etc. and for X, Y, Z linear, or Cartesian coordinates. There are also 32 variable registers which can be used for holding instruction set data such as position comparisons and time-delay information. In addition to position registers and variable registers, some robot software programs also have palletizing registers, which are used to manage the position of the stack point in palletizing applications.

Palletizing


Palletizing is one of the more popular applications for robots, and is accomplished by combining a series of commands into a palletizing routine. A RoboLogix palletizing routine consists of five program instructions, or lines. The first instruction is the Palletize instruction, which is followed by a linear motion
Linear motion
Linear motion is motion along a straight line, and can therefore be described mathematically using only one spatial dimension. The linear motion can be of two types: uniform linear motion, with constant velocity or zero acceleration; non uniform linear motion, with variable velocity or non-zero...

instruction to move to the stack point. The stack point is the top-center of the workpiece, and a group of stack points forms a stacking pattern, as shown in the image to the right. The first stack point in a stacking pattern is located at (1,1,1) (row,column, layer) and is incremented each time the palletizing routine is executed.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK