## 2 Overview of the Problem  
The goal of the error compensation approach is to reduce the position error of the robot tool in the real world during the online operation. The added information, usually the real coordinate value of objects, must be precisely determined with respect to the robot coordinate [18]. One can estimate the pose of the object based on its 3D object model known a priori. The pose of the model in the frame (B) is written as  
\[{}_{W}^{B}x=\left[\begin{array}{c}\mathbf{t}_{W}\\ \mathbf{\theta}_{W}\end{array}\right], \tag{1}\]  
where \(\mathbf{t}\) and \(\mathbf{\theta}\) denote the position and the orientation of the object from the world coordinate to the robot base coordinate, respectively. Based on the \({}_{W}^{B}x\) pose, the transformation matrix describing the model frame (\(W\)) relative to the base frame (\(B\)) can be determined as follows:  
\[{}_{W}^{B}T=\left[\begin{array}{cc}{}_{W}^{B}R(\theta_{W})&{}_{W}^{B}t\\ 0_{1\times 3}&1\end{array}\right]. \tag{2}\]  
However, the robot has its own error, so that the real pose of the object corresponding to the robot coordinate is different compared to the \({}_{W}^{B}x\) pose. We denote the real pose as \({}_{W}^{B}x^{\prime}\). Figure 1 shows that the positions of these two objects differ from the coordinates of the robot.  
In order to pick up objects using the robot, the robot moves to a fine search position. The 3D pose of the correct object is then calculated through the sensor and produces the object coordinates. After calculating the pickup posture considering the 3D posture of the object, the trajectory of the robot is modified to reach the expected position \({}_{W}^{B}x\).  
In a real-life scenario, however, the robot will reach an actual location \({}_{W}^{B}x^{\prime}\) due to a robot's error. From a general point of view, there is a full pose corresponding to the pose \({}_{W}^{B}x\) of an object that allows the controller to control the robot's reach. The important problem is that in order to get to the expected pose correctly, the controller will have to do an error compensation, and the actual pose of the robot  
Figure 1: Difference between expected and actual robot position.  
will be moved to the expected pose. To solve this problem, we proposed a method using a neural network and a machine vision to predict a new pose \(\prescript{W}{x}{new}\) after training the data inside the workspace.  
Figure 2 describes the architecture of the proposed error compensation algorithm for the object picking system. It consists of two stages: the initial stage and the robot operation stage. The first stage includes the pre-error compensation and error compensation operation. In the pre-error compensation, the operator has to register the reference pattern in the workspace; calibrate the camera in order to detect the 3D pose of the pattern as shown in Block 1. Next, the reference pattern will be detected in the error compensation operation; hand-eye calibration work is implemented to build up the coordinate relationship between camera and robot frames, and the position of the robot will be estimated in this operation based on the neural network as shown in Block 2. Finally, the whole process of object picking is described in the robot operation stage, which includes the go-to-fine-search-position to pick-object as shown in Block 3. The main technical functions of the proposed robot error compensation are training the workspace for the robot using the indirect calibration approach.