{'fraction_non_alphanumeric': 0.032856590645535366, 'fraction_numerical': 0.007279989692049993, 'mean_word_length': 4.875473126419379, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Whole-Body Control on Non-holonomic Mobile Manipulation for Grapevine Winter Pruning Automation

Mobile manipulators that combine mobility and manipulability, are increasingly being used for various unstructured application scenarios in the field, e.g. vineyards. Therefore, the coordinated motion of the mobile base and manipulator is an essential feature of the overall performance. In this paper, we explore a whole-body motion controller of a robot which is composed of a 2-DoFs non-holonomic wheeled mobile base with a 7-DoFs manipulator (non-holonomic wheeled mobile manipulator, NWMM) This robotic platform is designed to efficiently undertake complex grapevine pruning tasks. In the control framework, a task priority coordinated motion of the NWMM is guaranteed. Lower-priority tasks are projected into the null space of the top-priority tasks so that higher-priority tasks are completed without interruption from lower-priority tasks. The proposed controller was evaluated in a grapevine spur pruning experiment scenario.


I. INTRODUCTION
Technology is one of the key driving forces in the development of precision agriculture [1]- [3]. Robots are incredibly effective in combating the pressures of population growth [4]. Agricultural robots are not only able to help farmers solve labor shortages, but they also help to mitigate environmental impact [5]. In the drive to increase yields and maximize resources through the utilization of new technologies, grapevine pruning automation is a typical application scenario in precision agriculture [6], [7]. The main purpose of grapevine winter pruning is to determine the number and location of the nodes remaining over the winter. These remaining nodes will grow into new canes in the next harvest season, and grapes will grow on these new canes. As a consequence, it fundamentally determines the final yield. Such tasks can be accomplished with a mobile manipulator extends Fig. 1. An example of a robot grapevine pruning system Rolling Panda. To achieve this scenario, the following temporal sequences are followed: grapevine spur detection, whole-body motion to approach pruning point, and cutting the spur. This combined, more complex structure creates motion planning and control issues due to the high redundancy and versatility of mobile platform [8]. Previously, the mobile base and manipulator could be considered to be two separate subsystems [9]- [12]. Wrock et al. created an automatic switching scheme that used teleoperation methods to achieve decoupled mobile manipulator motion. Decoupled motion refers to motion in which the mobile base remains fixed while the manipulator is operated, or vice versa. This provides high tracking accuracy at the end effector, but it takes more time to complete the task because tracking must be interrupted during motion. Coordinated movement of the mobile base and manipulator [13], [14] is required to fully utilize the strengths of mobile base and manipulator and boost efficiency.
De Luca et al. [15] proposed a comprehensive theory to deal with modeling and redundancy resolution for non-holonomic mobile manipulators. A multi-tasks whole-body regulating strategy based on velocity control was proposed by Li et al [16] for a highly redundant mobile manipulator. The mobile manipulator follows the predefined end-effector trajectory while avoiding low-priority control primitives by using null-space projection. To obtain the inverse kinematics, Roberto et al. [17] provided a systematic mobile manipulator solution that included a selection of redundancy parameters. The solution was capable of managing obstacle avoidance, mobile base motion restriction, and dexterity enhancement.
In this paper, a whole-body motion controller enhanced by hierarchical tasks that can regulate a non-holonomic mobile manipulator for grapevine winter pruning is proposed. The trajectory of the end effector, which is treated as the top-priority task, is created by using quintic polynomial programming. Conflicts between the end-effector tasks and the constraint tasks are handled within the stack-of-tasks (SoTs) framework [18]- [20] by correctly assigning an order of priorities to the given tasks and then ensuring that the lower priority tasks are projected into the null space of the higher-priority tasks.
The manuscript is organized in the following way: Firstly, Sec. II introduces the overall non-holonomic wheeled mobile manipulator system platform Rolling Panda. Sec. III presents the kinematics and dynamics models of this NWMM system. Whole-body controller for the non-holonomic mobile manipulator is designed in Sec. IV. Subsequently, Sec. V. describes the experimental validations of the proposed control scheme. Finally, the paper is concluded in Sec. VI.

II. OVERVIEW OF NON-HOLONOMIC MOBILE MANIPULATOR SYSTEM
The designed grapevine winter pruning system is called Rolling Panda. It primarily consists of a non-holonomic wheeled mobile base, a manipulator, an RGB-D (Intel Realsense D435i) eye-in-hand camera, and pruning clippers.

A. Hardware of the Mobile Manipulator System
As shown in Fig. 1, Rolling Panda consists of two parts: the velocity controlled two-wheel non-holonomic mobile robot, MP-500 (Neobotix GmbH. Co.) and 7-DoFs robot arm manipulator, Panda (Franka Emika. Co.). Both the mobile base and manipulator have their own controller interfaces which are simple and user-friendly programming interfaces. On this mobile base, there is a ROS interface for low-level, real-time velocity controller and localization algorithms using wheel 1 . The localization algorithm returns the direction and position and velocity of the mobile base's central frame in relation to its global frame. The Franka ROS Interface provides utilities for controlling and managing the Franka Emika Panda 2 . The control frequencies of the manipulator and the base are 1 kHz and 50 Hz, respectively. The ROS master laptop, used for the controller, is a core-i7 processor 1.8 GHz with 16 GB RAM. The RGB-D camera (Intel Realse D435i) is mounted on the end effector of the Rolling Panda. 1 https://robots.ros.org/neobotix-mp-500/ 2 https://frankaemika.github.io/docs/

III. NON-HOLONOMIC MOBILE MANIPULATOR MODELING
In this section, we explored a system kinematic and dynamic modeling for the non-holonomic mobile manipulator Polling Panda.

A. Kinematic Modeling and Kinematic Constraints
Considering the non-holonomic mobile manipulator with 2 wheels and 7-DoFs manipulator. The moving base of the Rolling Panda contains 3-DoFs of rigid body motion, hence a generalized coordinate system can be defined as following: x m y m φ T ∈ R 3 is the coordinate of the rotation central frame of the mobile base, q w = θ l θ r T ∈ R 2 is spinning of the wheel joints and q n ∈ R n is the joint vector for the manipulator. µ is the distance between the driving wheels and the mobile platform geometric center , ρ is the distance from the mobile platform rotation center to the center of mass of mobile platform, and R is the radius of the wheels. Due to its inherent properties a differential mobile platform can not move sideways [21]. Hence, the velocity of the mobile base in the lateral directions should be zero.
The other two constraints are a pure rolling constraint, relating the base velocitiesẋ m ,ẏ m ,φ while the wheel velocitiesθ l ,θ r , ensure the no-slip condition at each rolling wheel in the forward directions.
We can set the constraint matrix between rigid body motion of the mobile base and the generalized coordinates to satisfy the following equation.
Using the null-space of A(q), we can obtain the following transform equation,q where S(q) satisfies A(q)S(q) = 0, and where c = R/ (2µ). The set of feasible velocities may be expressed in terms of a suitable vector,ξ = q T wq T n T ∈ R 2+n is the joint velocity for actuators of the robot. Jacobian matrix [22] between Cartesian velocity space and actual joint velocity space, J ξ ∈ R 6×(2+n) , can be derived as where J q (q) is the Jacobian matrix for q.

B. Dynamic model
The following is the unconstrained equation of motion for a non-holonomic handheld manipulator [13]: where M (q) is an n × n symmetric positive definite inertia matrix, V (q,q) is the centripetal and coriolis matrix, G(q) is the gravitational vector, τ dis is the vector of bounded unknown disturbances including unstructured unmodeled dynamics, B(q) is the input matrix, τ is the input torque vector, Λ T (q) is the matrix associated with the kinematic constraints, and λ is the Lagrange multipliers vector.
Finally, the dynamic motion of no-holonomic mobile manipulator with respect to ξ andξ can be reformulated by removing the generalized constrains, Λ(q) T λ, in (9) by using (6) and combining (9) and time derivative of (6), as follow:

IV. PROPOSED CONTROLLER DESIGN
To automate the grapevine winter pruning, a hierarchical control formulation based on multi-tasks scheduling has been designed.

A. Null-Space Dynamic Control Strategy
Robots with redundancy (particularly high redundancy) can deal very effectively with constrained tasks in the Cartesian space. The redundant self motion can can simultaneously satisfy both, the higher-priority end-effector task and the additional low-priority constrained tasks.
The task-space augmentation principle incorporates a constraint task that must be performed simultaneously with the end effector task. In this case, an augmented Jacobian matrix is constructed, the inverse of which yields the required joint velocity solution [23].
The relation between the i-th configuration coordinate vector ξ i and the i-th Cartesian space task vector x i can be considered as a direct kinematics equation: The well-known generalized Moore-Penrose pseudo inverse J + (q) is used since the inverse of the nonsquare  (2). Optimization criteria for the redundant self motion can be supplemented by, for example, null-space projection, which leads to the relation: The expression (I − J + ξ J ξ ) represents the orthogonal projection matrix in the null space of J ξ , andξ 0 is an arbitrary joint-space velocity satisfying argumented constraint tasks; hence, the second part of the solution is therefore a nullspace velocity.

V. GRAPEVINE WINTER PRUNING EXPERIMENTS
Grapevine winter pruning is a key agricultural activity involving cutting of the canes of each vine that grew during the previous growth cycle. The pruning leaves a certain number of nodes that are able to guide the ideal direction of future growth of the vine towards a desired vine balance [24], [25]. The aim of this work is that pruning which currently requires experienced and skilled technicians, can eventually be conducted by intelligent and autonomous robotic systems [7], [26].
The proposed hierarchical control framework was validated through grapevine winter pruning experiments. The subsections below describe the details of our system specification and experimental results with the Rolling Panda.

A. Grapevine Pruning Task
The definition and determination of the "correct" grapevine pruning point is based on grapevine modeling and physiological response [27]. Fig. 5 (a) gives a intuitive and graphical illustration of the potential optimal pruning point.
In this paper, we use the visual perception methodology mentioned in [28] to determine potential pruning points, first creating a representative model of a grapevine plant using object segmentation on grapevine images and , second, generating a set of potential pruning points.  Fig. 5 (b). The whole-body controller generates a trajectory to approach the target pruning point using quintic polynomial interpolation programming [29]. The planned trajectory is defined as follows: where P x , P v and P a respectively correspond to the position, velocity, and acceleration in Cartesian space. Therefore, Eq. 13 can be rewritten as: where x s , v s , and a s correspond to the position, velocity, and acceleration of the interpolation initial point respectively, and x e , v e and a e correspond to the position, velocity, and acceleration of the interpolation end point respectively.
Constraint task 1: Singularities are configurations in which a robot loses control in one or more directions, and they should be avoided when planning and controlling robot motion. The manipulability calculation has been widely used and proven to be an effective way to keep robots away from singular configurations among several methods. Since singularities have no effect on the location of the mobile base, only upper manipulator configurations will be considered in this hierarchical control formulation. The term "manipulation" refers to the ability to manipulate something. The manipulability measurement is defined as When the manipulability measurement is increased, the manipulator will move away from singularities. The following equation can be used to determine the corresponding joint inputs:ξ where k 0 is a positive gain. Constraint task 2: Joint limits are physical constraints on robots that must be carefully considered in order to avoid damaging the robotic system. Certainly, only the upper manipulator joints have physical limitations. All joint angles are restricted to a range of −180 • to 180 • . To avoid joint limits, the artificial potential field technique [30] is used to computes the distance between the ith joint and its limits.
where γ i denotes joint angle of the i-th joint, γ 11 and γ ul denote the lower and upper joint limits of the i-th joint, respectively. The i-th joint's "repulsive velocity" is defined as follows: (18) where k i denotes a positive gain, and γ start denotes the minimum distance to be free of repulsive force. So far, we have modeled the main task (Rolling panda's end effector approach grapevine pruning point ) and lowlevel tasks (constraint task 1 and constraint task 2) at the velocity level. The application of mull-space projection technology is able to project constrained tasks to the null space of main task, so that the robot can perform these tasks simultaneously and ensure the priority of the tasks.

B. Results and Discussion
The proposed controller for the non-holonomoic mobile manipulator can deal with grapevine pruning tasks while satisfying singularity avoidance and joint limitation avoidance, as shown in Fig. 6. The main task is to move the end-effector along the direction of x-axis to approach the pruning point and then rotate around pitch-axis to match the orientation of the pruning point. When the target pruning point is generated by the visual perception system, the whole-body controller can control the overall coordinated movement of the robot to reach the pruning point smoothly.

VI. CONCLUSIONS
In this paper, which addresses the problem of grapevine winter pruning, we present a task-priority coordinated wholebody motion controller for a non-holonomic mobile manipulator. The controller can plan and schedule whole-body coordinated motion to complete the grapevine pruning task. The top priority task can be executed by employing all capabilities (manipulation and locomotion) of the robotic system. The second (lower) priority task is then projected into the null space of the top priority task, hence they have no impact on its execution. We conducted grapevine pruning experiment to demonstrate the performance of the proposed framework using a two-wheeled mobile base with a 7-DoF robot manipulator. Our future work will involve the extension of the proposed framework for whole-body motion and perception coupling.