Programming Movements

## Controller

Since an industrial robot is a computer-numerically controlled (CNC) machine, it requires a controller as its brain. The controller has a memory as well as a processor along with an operating system. It is designed to withstand the environment of a manufacturing plant and includes input and output modules for the robot to interact with its environment. The controller receives input signals from the environment, executes the program including its motions, and sends output signals.

An industrial robot operating system is flexible and modular (made up of pieces or parts). Multiple function-specific programs (also known as macros) can be added to the operating systems for enhancing robot capabilities. Such enhancements could include moving from simple pick and place operations to pick up and place boxes onto a pallet.

Another important feature of the robot operating system is the system variables that are subject to change. Many of a robot’s functions are controlled by these variable elements. These variables can be utilized in many applications. For example, a paint spraying robot can control the thickness of the paint being sprayed on a vehicle by using a variable.

## Understanding Robot Kinematics

Robot kinematics assesses if a movement of the robot is achievable or not. For example, can the arm mounted on the VEX V5 Workcell reach a disk across the table? Kinematics looks at the length of each section and the specific joint limitations to determine the possible positions available to the robot.

Forward kinematics begins at the base of the robot and determines where the robotic arm will end if joints are set to a specific position. This results in one singular answer because the arm will only be able to end in one spot. If working with a robotic welder, the programmer will be able to program each joint of the robot so that the tip of the welder lands at the specific spot needed to be welded.

Inverse kinematics is the more commonly used process. A programmer determines the location of an object, such as a disk, they want to pick up. The programmer must then think backwards joint by joint, beginning at the disk, to determine how to move the robot to the disk. The existence of multiple joints creates numerous ways to solve the same problem with inverse kinematics. There may be more than one solution because the joints have different capabilities.

As the programmer manually moves (also referred to as jogging) the robot using the teach pendant, they can see the position of each joint (known as joint coordinates) while the robot is moving towards a critical point (x,y,z position of the tool center point with respect to the world/base frame) for the task at hand.

## Understanding Robot Dynamics

Robot dynamics requires an understanding of the forces acting on each joint and how those forces affect the movement of the robot. Robotic designers need to consider the kinematics (as discussed above) and the torques associated with each joint and how these forces can affect the robot.

Robot dynamics has two main problems to solve:

• Based on a given (known) trajectory point: What is the velocity, and acceleration, torque required to accomplish the motion.
• Based on a given set of torques: How will the manipulator move? Solving for the trajectory points, what is their velocity, and acceleration?