The utility of a robot manipulator focuses on the ability to locate its end effector in a position with a determined orientation following a specified trajectory. For this, algorithms were used in order to generate and control the movements joints of robot in a synchronized way. The high-level languages to program robots are based on three types of movement: joint interpolation (MOVEJ), linear interpolation (MOVES), and circular arcs (MOVEC), which are used to develop any type of task. In this work, these three movements are implemented in the industrial controller CompactRIO, as part of the reconditioning process of a robot manipulator of five degrees of freedom (5 DOF) whose controller was obsolete. As a result, it will have an interface in LabVIEW where you can view and modify the basic parameters implemented in the industrial controller. In addition, the results of the validation tests of the joint positions and the end effector of the manipulator will be found.
The robot manipulators have been constituted as an essential part of modern industries. Some of the reasons are the low production cost, the optimization in the processes, their flexibility, and the adaptation to several productive situations. Additionally, the robot manipulator with only small modification in the programming allows industries to adopt this technology in their operations instead of company staff. Generally, the algorithms designed for the monitoring and control of trajectories must be accompanied by the mathematical support that guarantees the good performance of the scheduled tasks. There are techniques with different approaches to control robot manipulator movements, such as neural networks [
In this article, we intend to endow a robot manipulator of five degrees of freedom (5 DOF) a new industrial controller (CompactRIO) (Figure
Robot manipulator Scorbot ER_4PC.
In this new control unit, three types of path-generating algorithms are implemented, which provide the positions that a robot manipulator must follow to execute a specific task [
The Scorbot manipulator (Figure
Mechanical structure of the Scorbot manipulator [
The anthropomorphic design provides a broad region of end effector operation [
The Scorbot-ER 4PC has several types of transmission to generate the movement in the joints of the robot; these transmissions are composed of gears with different configurations of trains, pulley, and toothed belts. It also has a spindle transmission in charge of opening and closing the clamp.
Manufactured by the company
Industrial controller, NI CompactRio [retrieved on June 8, 2017, from
Three movements (MOVEJ, MOVES, and MOVEC) will be dealt with, which will be implemented in the industrial controller CompactRio, which can be combined so that the robot can develop a specific task [
The use of this movement allows the manipulator to reach an end position, with independent joint movements. This does not ensure a linear trajectory between the initial and final points (Figure
Simulation of movement joint.
The coordinates in the end effector workspace can be obtained through the Direct Kinematic Model (DKM) [
desired position:
If it is desired to arrive at a Cartesian position following a trajectory in a straight line with the end effector, the command MOVES is used. This command requires a vector with six values; the first three are Cartesian variables (
In this way, you will have a linear movement as Figure
Simulation of motion in a straight line.
For this command, we will briefly discuss the two transformations that must be performed [
Comparing the two movements, translation is the simplest of the two interpolations, since it is expected that a point
The interpolation of orientation and rotation is done by the mathematical method SLERP (
Spherical linear interpolation.
With this method, implemented in Algorithm
Algorithm
Interpolation implemented in
Three linearly independent points are indispensable to do this movement. The first is the value of
Arc and circular movement.
To perform the stroke, we define the orientation and direction of a vector associated with the systems
The circumference in the plane is drawn from the perpendicular bisector of
Construction of the circle, using the perpendicular bisectors
Similarly if you wish to complete the drawn arc to form a complete circle, it is necessary to generate another movement on the same plane, which has, as its starting point, the end point of the first and the end point, as the starting point of the first command. The diameter is defined by the distance between the start and end points and in turn must be equal to the distance between the two-way points. If this proportion is not met, it is also possible to obtain an ellipsoidal trace whose distance between its height and width can vary depending on the distances of the initial and final points with respect to the distances of the way points (or vice versa). The operations that they use to implement the MOVEC command are defined in Algorithm
the system to
vectors
circumference;
The implementation of the algorithms of trajectories for the robot manipulator required the implementation of the graphical interface that incorporates the acquisition and control of variables supplied by the industrial controller, the input of parameters for the generation of the movements, and the algorithms generators of trajectories, among others. Next, a brief description will be given on the most relevant components that are part of the work done.
To integrate the mechanical system of the robot and the industrial controller CompactRIO, to the environment of LabVIEW, the programming and interconnection scheme of the figure was developed in Figure
SubVI scheme for robot arm control.
The main VI of the system is completely designed and intended to interact with the user. To do this, it receives and displays the articulator positions of the manipulator, together with the Cartesian positions of the end effector. In addition, it sends the commands that are to be executed to the two blocks responsible for interpreting them (Commands.vi and Home.vi).
The VI Home is just responsible for providing the articular positions to bring the manipulator to the initial configuration (Home). On the other hand, the VI Commands organizes and sends the other orders to the VIs in charge of executing each of the algorithms (MOVEJ, MOVES, and MOVEC), the desired speed with which to execute each robot movement (SPEED), the time delay between commands (DELAY), and the opening and closing of the fingers of the clamp (OPEN and CLOSE).
As the names indicate, the MOVEJ, MOVES, and MOVEC VIs, with the help of the DKM, IKM, and validate blocks, are in charge of creating the algorithms generating articular, linear, and circular trajectories, respectively. These three first blocks give the point to point the route that must be made to comply with the command, the acquisition block, and the control of variables (Adpcont.vi). The other VI is destined to interpret the commands SPEED, DELAY, OPEN, and CLOSE to later execute them in the manipulator.
NI 9503 FPGA modules will be responsible for the acquisition of the signals generated by the encoders, through the entrances: phase A+ and phase B+. In addition, it will be responsible for energizing the motors that move each joint, through the PWM that each module counts. The signals from the switches, used to calibrate the positions, are read in the inputs 1, 2, 3, 4, and 5 of the NI 9403 digital input module.
These six modules, five to control the motors and one for the calibration switches, are connected to the industrial controller CompactRio, which, in turn, communicates with the computer through a network connection that owns the chassis.
The purpose of this VI is to provide the program with variable reading and writing, such as the direction of rotation of the motors, number of pulses generated by the
To obtain the PWM signal with which the speed of each of the motors will be controlled, a block is created in a time frame, which is executed at a clock frequency of 40 Mhz (internal frequency of the CompactRio), as the picture shows in Figure
PWM signal control block.
In addition, the NI-9505 module delivers signals A and B of the encoders that are 90 degrees out of phase, so that the diagram in Figure
Structure used to read signals from encoders.
With this count, a small operation is carried out to find the angle that the motor has turned.
The way the manipulator is constructed, with
The implemented control scheme was carried out through a simple control, which is based on the movement of the joints independently or decoupled (Figure
Decoupled control loop diagram.
The first control block is in charge of following the reference position given by the algorithms generators of trajectories; the second control block allows reaching the changes of speed that must make the manipulator guarantee the correct articular and Cartesian positions in different instants of time.
The PID controllers are limited to generate a maximum and minimum PWM of
The development of this VI allows entering the commands for the robot manipulator to perform a task. There are three options: the first is to write directly the command to be used in the command console of the main screen of the program; the second way is to import to the command console the flat file where you have the commands to execute; the last one requires moving the manipulator from grade to grade at each joint until the desired position is reached, then adding the point with the desired operation to the command console (Figure
Enter orders to execute.
For correct use of the manual mode (option three), it is necessary to select the joint you want to move and then increase or decrease the angle with the plus (+) or minus (−) buttons. Once the robot is in the desired position, you can choose the operation to perform pressing the add button, which is added to the list. For MOVEJ and MOVES commands, only the end point needs to be stored, but for MOVEC it is necessary to store two points; one will be the end point and the other will be the way point.
The commands allowed and the correct way to enter them are mentioned in Table
Commands allowed.
Command | Operation |
---|---|
HOME | Press button |
DELAY | DELAY [ |
MOVEJ | MOVEJ |
MOVES | MOVES |
MOVEC | MOVEC |
SPEED | SPEED [%] |
OPEN | OPEN |
CLOSE | CLOSE |
The angles
This command has the function of calibrating the angles of each joint and bringing the robot manipulator to an initial or reference position (home).
This order provides the speed change with which the robot manipulator performs the movements, and the
This command forces the robot to remain in its last position during the seconds that it is commanded. For that, the block time delay of LabVIEW is used.
With these commands, the manipulator can open and close the clamp, which makes it possible to hold and release objects.
These commands have the function of generating the interpolations so that the manipulator can trace desired trajectories, as previously exposed.
The effective working space is directly related to the length of the links, the mechanical limitations, and the configuration that the robot has. It can be found mathematically, through the equations describing the position of the end effector along with the mechanical limitations it possesses [
Physically, the workspace indicates that it is able to reach these points without exceeding the joint limits. This is essential to be able to propose the movements that are required to develop a task.
Due to the configuration that the Scorbot manipulator has (anthropomorphic), the movement described by the end effector is realized in the three-dimensional space.
The graphs corresponding to the workspace of the robot manipulator Scorbot-ER, with the new restrictions implemented by software in this work, are shown in Figures
Scorbot workspace found in simulation.
Border of workspace outside area, top view
Border of workspace, side view
An analysis of the result of the kinematic model is performed, based on the MOVEJ command. For that, a known position and a desired joint position are used. For the test, the starting point is chosen as
Afterwards, a comparison of the data of the movement made by the manipulator and those obtained in the simulation is made. Figures
Joint movement of the MOVEJ command.
Articulation movement
Articulation movement
Articulation movement
Articulation movement
Articulation movement
A straight stroke is the result of applying the MOVES command (Figure
The desired movement for the end effector is seen in Figures
Cartesian movement of the MOVES command.
Shaft movement
Shaft movement
Shaft movement
Like the previous move, in this command, a planned figure is described on the Cartesian plane. This movement realizes a circular stroke realized by the end effector during its trajectory. The starting point was Cartesian coordinates
Consequently, the movements of the coordinate axes shown in Figure
Cartesian movement of the MOVEC command.
Shaft movement
Shaft movement
Shaft movement
Having programmed the path generator algorithms and position control system in the CompactRio controller allows the manipulator to continue the task it is developing when there is a connection failure between the computer and the controller.
Three path algorithms are implemented, MOVEJ, MOVES, and MOVEC, which provide a sequence of points in the joint space to generate the different movements (articular, linear, and circular). For the interpolations of trajectories in Cartesian space (MOVES and MOVEC), it is necessary to calculate the IKM to find the articular values of each interpolated Cartesian point, which implies that it requires more processing in these commands, compared to MOVEJ.
It is possible to determine the workspace presented by the robot manipulator Scorbot ER_4PC, taking into consideration the mechanical and electrical limitations. It means that the maximum work space was founded, restricting the manipulator’s movements due to the positions that are not allowed for this type of anthropomorphic robot.
The use of rigorous mathematical models allows us to obtain the algorithms generators of trajectories, which supply articular and Cartesian coordinates for the movement of the manipulator. In the latter case, shown in Figures
The authors declare that there are no conflicts of interest regarding the publication of this paper.