Blog post by Brian Parkham, Senior Electrical Engineer
Robots are becoming ever more popular in today’s automated manufacturing world and are often tasked with applications that are excessively tough, delicate, fast, precise, or mundane for a typical human operator to partake in. These applications can instead be tasked to a robot system that does not become fatigued, tired, ill, or take vacations. But with the vast influx of robots entering the manufacturing environments, many people are still very unaware as to how these amazing pieces of technology operate. By the end of this blog, I hope to unveil some of the mysteries and questions about how these robots fundamentally operate their positioning control.
For the purpose of this blog, I am going to compare a robot system’s positioning control to navigating to a street address. The first topic to discuss is frames. Frames in a robot define a coordinate system that the robot uses to know where it is and where to go. A frame is comprised of six main components: an X, Y, & Z axis and a rotation about each of these axis. There are generally three types of frames used on a robot: base (world) frame, user frame, and tool frame.
The base frame is located near the base of the robot and is not adjustable. When comparing to the street address example, the base frame can be thought of as the Earth or a country. This base frame is the fundamental starting point for our robot system. The base frame comes predefined and is generally not changeable by the user. User frames are separate coordinate frames within the base frame that can be customized by the user. Multiple user frames can be used to define different areas in a robot system and to group programmed points. Back to our street address example, user frames can be related to the city and zip code. Just as there are multiple cities and zip codes in the world, so can multiple user frames be defined within the robot’s base frame.
Next in our list of frames is tool frames and tool center points (TCP). Tool frames are special frames that are defined to a tool on the end of a robot arm. These tool frames can be thought of as being attached to the end of the robot. Unlike a base or user frame that remains stationary as the robot arm moves, tool frames are always moving as the robot moves. The tool frame defines a coordinate frame for a specific tool that the robot is using. The center, or origin, of this tool frame is called the tool center point (TCP). Since a robot system can be equipped to use multiple tools, multiple tool frames can be defined for a robot. This TCP is also the point that the tool will rotate about when jogging the robot. Referring back to our street address example, the tool frame can be thought of as the car when driving to an address. Just as a car is constantly moving as it navigates towards an address, so is the robot tool frame moving as the robot moves.
The next key component of robot positioning is the actual positions. A robot position or point is a single point in space that has X, Y, and Z coordinates as well as rotation about each axis. This point is the exact location of the TCP when the position is taught and defines an exact point in space. When a robot position is recorded, some additional information such as robot configuration and current user frame are also recorded. Depending on the type of robot, it may be possible for the robot to reach a specific position in multiple ways. The configuration data for that point tells the robot how it should be positioned to reach that point. The user frame data defines which user frame to use when referencing the position. For example, two positions may be recorded with the exact same X, Y, Z and rotation coordinates, but if they are defined for different user frames, they can be in completely different physical locations. Back to our street address example, a robot position or point can be thought of as the house number and street name of the address. Different address can have the same house number and street address, but since they are in different cities and zip codes, they are in completely different locations.
Now, combining all of this information, let us review our street address example. To start off, just as you would start navigating to an address with the Earth, Country, and State, the robot starts its positioning process with the base frame. Next the robot specifies which user frame to use within that base frame, just as you would use a city and zip code as your next pieces of information for your address. Finally, once the country, state, city and zip code is defined for your address, you look to the street name and house number to reach your final destination. In the robot, once the base and user frame is determined, the robot uses the taught position or point to determine its final destination.
By using this layered structure to define robot positions, a robot system can be set up to be flexible for changing applications or minor adjustments. Let us look, for example, at a pallet loading process that has 40 positions taught for each box location on the pallet. If, for some reason, this pallet fixture needs to be moved, all of these positions need to be modified or updated. If a user frame is properly set up and programmed, all a programmer would need to do is modify the user frame location and all of the 40 positions will move with that user frame. Modifying the location of a user frame usually requires 3 or 4 positions to be taught and takes about 10 minutes to complete. But, if the robot was improperly set up and those same 40 positions are not referenced to a user frame, all 40 of those positions need to be updated and fixed. That’s 40 positions to re-teach which would take 2-3 hours to complete and much lost production time!
Hopefully with this blog, I have familiarized you with the fundamentals of robot positioning and have illustrated the importance of properly setting up a robot system. These amazing pieces of technology can bring new life into a production facility providing higher throughput, higher quality product and less down time. If you have a project that you think would benefit from robotic automation, please feel free to contact Patti Engineering to see how a robotic system could benefit your manufacturing processes.