# Adaptive Visual Servoing Control for Hoisting Positioning Under Disturbance Condition
## 3 Materials and Methods
### IBVS Model  
In this paper, the camera is fixed on the component in the form of \"eye-in-hand\". \(C\) denotes the frame of the camera at its current pose, \(C^{\star}\) represents the frame of camera at the desired pose, \(G\) represents the world coordinate system. We set the camera coordinate frame to coincide with the hoisting component coordinate frame, where the hoisting component is considered to be consistent with the camera's pose and speed (as Figure 4). Visual servo control uses a visual feedback signal as input, and calculates the end-effector velocity according to the Jacobian matrix. Therefore, it is necessary to associate the velocity of the end-effector in the camera coordinates with the robot reference system and establish the transformation relationship. A flow chart of the coordinate transformation is shown in Figure 5.  
If \(O_{c}\) and \(O_{c}^{\star}\) represent the feature points in the frame of \(C\) and \(C^{\star}\), we define them as \(O_{c}=\left(X_{c},Y_{c},Z_{c}\right)^{\mathrm{T}}\in\mathbb{R}^{3},O_{c}^{ \star}=\left(X_{c}^{\star},Y_{c}^{\star},Z_{c}^{\star}\right)^{\mathrm{T}}\in \mathbb{R}^{3}\). The derivative of \(O_{i}\) can be denoted as follows. \[\dot{O}_{c} =\
u_{a}+\
u_{b}\times O_{c} \tag{4}\]  
The camera coordinate system is transformed to the image physical coordinate system through the focal length diagonal matrix:  
\[\left\{ \begin{array}{l}x_{c}=\frac{f}{Z_{c}}X_{c}\\ y_{c}=\frac{f}{Z_{c}}Y_{c}\end{array} \right. \tag{5}\]  
In matrix form, it can be written as  
\[Z_{c}\left[ \begin{array}{c}x\\ y\\ 1\end{array} \right] =\left[ \begin{array}{ccc}f&0&0\\ 0&f&0\\ 0&0&1\end{array} \right]\left[ \begin{array}{c}X_{c}\\ Y_{c}\\ Z_{c}\end{array} \right] \tag{6}\]  
Figure 4: Simulation platform and coordinate system. Figure 5: Flow chart of coordinate transformation. \(f>0\) is the camera focal length. \(\left[X_{c},Y_{c},Z_{c}\right]^{T}\) represents the camera coordinates. \(\left[x,y,1\right]^{T}\) represents the normalized physical coordinates of the image. The image physical coordinate system is transformed to the pixel coordinate system through the pixel transformation matrix:  
\[\left\{ \begin{array}{l}u=\frac{x}{dy}+u_{0}=\alpha_{1}x+u_{0}\\ v=\frac{y}{dy}+v_{0}=\alpha_{2}y+v_{0}\end{array} \right. \tag{7}\]  
In matrix form, it can be written as  
\[\left[ \begin{array}{l}u\\ v\\ 1\end{array} \right]=\left[ \begin{array}{ccc}\frac{1}{dx}&\gamma&u_{0}\\ 0&\frac{1}{dy}&v_{0}\\ 0&0&1\end{array} \right]\left[ \begin{array}{l}x\\ y\\ 1\end{array} \right] \tag{8}\]  
\(\alpha_{1}\),\(\alpha_{2}\) are the number of pixels per unit distance in two directions. \(u_{0}\), \(v_{0}\) are the pixel coordinates at the intersection of the camera optical axis and imaging plane. According to the perspective projection principle, the feature points of the current and desired image coordinates can be expressed as follows:  
\[s_{i}=\left[u_{i},v_{i}\right]^{\mathrm{T}}=\frac{F}{Z_{i}}[x_{i},y_{i}]^{ \mathrm{T}},s_{i}^{*}=\left[u_{i}^{*},v_{i}^{*}\right]^{\mathrm{T}}=\frac{F}{ Z_{i}}[x_{i}^{*},y_{i}^{*}]^{\mathrm{T}} \tag{9}\]  
where, \(u_{i},v_{i}\) represent the coordinates of the feature points in the pixel coordinate system. \(F=\left[ \begin{array}{cc}\alpha_{1}f&0\\ 0&\alpha_{2}f\end{array} \right]\). According to (3), we can directly define the camera velocity as \(\mathrm{v}=\left[v_{x},v_{y},v_{z},\omega_{\varphi}\right]^{\mathrm{T}}\in \mathbb{R}^{4}\), which consists of translational and rotational velocity under the disturbance condition. In order to solve the problem of motion decoupling control, a vision servo decoupling control method [33] based on the line feature and inner region feature is adopted. The line direction feature is not affected by the camera's translation movement, but only related to the camera's rotation movement. The inner region feature is sensitive to the camera's translation movement along the Z axis, but not affected by the rotation movement around the Z axis.