The NexDroid-Controller function library provides a palletizing process package that allows for the rapid implementation of array palletizing.
The NexDroid palletizing process package is divided into two types of palletizing: complete palletizing and simple palletizing. Complete palletizing provides comprehensive palletizing parameters to meet various palletizing scenarios. However, for quick implementation of array palletizing, simple palletizing, which is simple and easy to understand, can be used.
The process package provides multiple process numbers to differentiate and store different stacking data. In this example, we will use process number 1 as an example.
1. Set as simple palletizing:
- First, use the function interface
int NRC_Pallet_SetUsePalletType(int id, int type);to set the palletizing type of process number 1 as simple palletizing- When type is 0, it indicates the use of simple palletizing
NRC_Pallet_SetUsePalletType(1, 0);2. Calibrate the position data of the stacked workpieces
- For simple palletizing, only 4 points are needed to determine the position of the stacked workpieces: the starting point, the column end, the row end, and the height end
- In contrast, for array palletizing, the starting point and the height end are the same point, requiring only 3 points
- The function interface
int NRC_GetCurrentPos(NRC_COORD coord, NRC_Position& position);can be used to obtain the current position of the robot - The function interface
int NRC_Pallet_SetSimplePosParm(int id, int posType, NRC_Position pos);can be used to set the position data for simple palletizing - First, move the robot to the starting point of the workpiece, align the gripper with the workpiece, then obtain and record the current position of the robot, and set this position as the starting point of the workpiece
- Since the starting point and the height end are the same point in array palletizing, this position can also be set as the height end
NRC_Position startPos;
NRC_GetCurrentPos(NRC_MCS, startPos);
NRC_Pallet_SetSimplePosParm(1, 0, startPos);
NRC_Pallet_SetSimplePosParm(1, 3, startPos);- Next, move the robot to the column end position of the workpiece, align the gripper with the workpiece, obtain the current position, and set it as the column end point
NRC_Position columnPos;
NRC_GetCurrentPos(NRC_MCS, columnPos);
NRC_Pallet_SetSimplePosParm(1, 1, columnPos);- Then, move the robot to the row end position of the workpiece, align the gripper with the workpiece, obtain the current position, and set it as the row end point
NRC_Position rowPos;
NRC_GetCurrentPos(NRC_MCS, rowPos);
NRC_Pallet_SetSimplePosParm(1, 2, rowPos);3. Set auxiliary points and entry points
- In order to prevent the workpieces on the gripper from colliding with the workpieces on the stack or the surrounding environment during the palletizing process, auxiliary points and entry points can be set to avoid obstacles
- The auxiliary points will automatically offset according to different workpieces, while the entry points will rise with the increase of layers
- During calibration, it is only necessary to calibrate the auxiliary points and entry points of the starting workpiece. The process package will automatically calculate the offsets
- The calibration method is the same as other position calibration methods: first move to the corresponding position, then obtain the current position, and set it in the corresponding palletizing data
NRC_Position auxiliaryPos;
NRC_GetCurrentPos(NRC_MCS, auxiliaryPos);
NRC_Pallet_SetSimplePosParm(1, 4, auxiliaryPos);
......
NRC_Position entryPos;
NRC_GetCurrentPos(NRC_MCS, entryPos);
NRC_Pallet_SetSimplePosParm(1, 5, entryPos);4. Set the number of workpieces
- The function interface
int NRC_Pallet_SetSimpleNumParm(int id, int numX, int numY, int numZ);can be used to set the number of workpieces in the stack- numX, numY, and numZ respectively indicate the number of workpieces in the X, Y, and Z directions of the stack, which are the number of rows, columns, and layers
- In this example, the number of layers is 1, and the number of rows and columns are 10 and 5respectively
NRC_Pallet_SetSimpleNumParm(1, 10, 5, 1)




