title: Reproducible Pruning System on Dynamic Natural Plants for Field Agricultural Robots
authors: Sunny Katyara Fanny Ficuciello Darwin G. Caldwell Fei Chen Bruno Siciliano
text: 
  
  
  
  
  Field Agricultural Robotics  
  
  
  
  
  
  Sunny Katyara et al. 
  
  
  Sunny Katyara, Fanny Ficuciello, Darwin G Caldwell, Fei Chen, Bruno Siciliano
  
  Department of Advanced Robotics, Istituto Italiano di Tecnologia, Via Morego 30, 16163, Genova, Italy
  
  Interdepartmental Center for Advances in Robotic Surgery, University of Naples Federico II, Naples 80125, Italy
  
  
  Reproducible  Pruning  System  on  Dynamic  Natural  Plants  for  Field Agricultural  Robots
      Sunny Katyara1,2 Fanny Ficuciello2 Darwin G. Caldwell1 Fei Chen1 Bruno Siciliano2
      December 30, 2023
  ============================================================================================
  
  This research is supported in part by the project “Grape Vine Perception and Winter Pruning Automation” funded by joint lab of Istituto Italiano di Tecnologia and Università Cattolica del Sacro Cuore, and the project “Improving Reproducibility in Learning Physical Manipulation Skills with Simulators Using Realistic Variations” funded by EU H2020 ERA-Net Chist-Era program
  
  
  Pruning is the art of cutting unwanted and unhealthy plant branches and is one of the difficult tasks in the field robotics. It becomes even more complex when the plant branches are moving. Moreover, the reproducibility of robot pruning skills is another challenge to deal with due to the heterogeneous nature of vines in the vineyard. This research proposes a multi-modal framework to deal with the dynamic vines with the aim of sim2real skill transfer. The 3D models of vines are constructed in blender engine and rendered in simulated environment as a need for training the network. The Natural Admittance Controller (NAC) is applied to deal with the dynamics of vines. It uses force feedback and compensates the friction effects while maintaining the passivity of system. The faster R-CNN trained on 3D vine models, is used to detect the spurs and then the statistical pattern recognition algorithm using K-means clustering is applied to find the effective pruning points. The proposed framework is tested in simulated and real environments. 
  
  
  
  
  
  
  
  § INTRODUCTION
  
  
  Field robotics is an important research domain especially in agricultural applications as promising solution to increase the yield and reduce the environmental effects. Field robotics uses advanced technologies to give more autonomy to mobile robots to help or do the tasks that are hazardous and dangerous to humans. Now-a-days, most of the agricultural robots are primarily being used for monitoring and quality control such as aerial inspection but can also be used for heavy tasks like harvesting, seeding, pruning etc. As an emerging research domain for agricultural robotics, robotic pruning system is receiving much attention in the community these days. 
  Pruning is an important agricultural activity of removing the branches, limbs and spurs from the natural plants. Pruning becomes effective if it only removes the unwanted, unhealthy and poorly positioned branches with least effects on the healthy parts. The effective pruning makes the difference to the quality and yield of plants in the field <cit.>. Pruning which requires qualified and experienced professionals, can eventually be performed by intelligent and autonomous robotic system. The stand-alone mobile robot equipped with vision and machine learning is used to travel through the agricultural field and to identify, manipulate and finally cut the branches. The general idea of pruning is illustrated in Fig. <ref>. As a representative application for commercial plants, the grape vine winter pruning is chosen for analysis. It can be seen from Fig <ref>a that grape vine pruning is more difficult as compared to other plants, because of complexity in manipulating, locating and deciding the potential cutting points.
  
  
     
  
  Manipulation skills of robot require active perception and interactive learning technologies. Active perception defines the behaviour of agents i.e, robots in the environment on the basis of collected sensor data in order to increase its autonomy and performance. However, robot learning is an iterative process and thus the robot learner tries eventually to learn the specific set of skills and generalize them to new conditions <cit.>. Since, in agricultural applications, the reproducibility of manipulations skills is another important aspect because most of the plants even in the same field have different physical characteristics. Therefore, a simulator with real time rendering allows developing large data base and testing the learned skills under the new conditions. Moreover, the sim2real interface allows teaching and interacting with the robots in their virtual environments (simulated) and enables them to learn different manipulation skills in the multi-structured scenarios. In order to create the virtual environments for robots to learn, the 3D modeling of objects is one of the key steps towards the object manipulation.
  
  However, manipulation in field robotics has not yet achieved maturity because of uncertainties associated with objects and environments. Most of the machine learning techniques consider fully known, discrete, stationary, deterministic and discrete environments for robot manipulation skill learning and transfer <cit.>. But in order to deal with dynamic, unknown, stochastic and continuous environments, more advanced learning approach with promising long-term solution has to be studied, e.g.,  Reinforcement Learning (RL) <cit.>. Due to the number of issues such as natural environmental constraints, limited data sets, need for repetition of experiments, limited resources etc the sim2real approach with highly efficient rendering capabilities are chosen to teach the specific set of skills to robots in simulated environments. 
  
  A lot of research has already been done on manipulating rigid body objects but the manipulation of soft and moving objects is still an open question to answer <cit.><cit.>. There are many hindrances in automating the manipulation of soft objects and the most common among them is the estimation of their deformation properties because even they are not same among the objects of similar groups. Moreover, in order to deal with moving objects, especially plants, the interaction controllers are needed <cit.>. The most popular interaction controllers are impedance and admittance controllers, which offer gentle and fast response. Impedance controller under the large variations of system parameters such as compliance, stiffness, damping and inertia affects the passivity and stability of system <cit.>. However, the admittance controller, more precisely Natural Admittance Controller (NAC) proposed by <cit.> uses the force feedback to overcome the effects of friction during the interaction without affecting the passivity of system. In our case, NAC is one of the feasible solution to deal with moving plants whose dynamics are unknown during the interaction and thus requires the passivity of system to be maintained. The complex task of pruning has several steps to be followed but the two most important among them are; the perception of agricultural field and identification of spurs on the plants to be pruned and the second is related to motion planning of robot, with the intention of making cuts.
  
  To the best of our knowledge, most of work on robotic pruning has been done on stationary branches and with least consideration on reproducibility of robotic pruning skills. The contributions of this research are; (1) proposing multi-modular framework which combines deep learning (Faster R-CNN) , computer vision (graph morphometry) and robot control (natural admittance controller) for dynamic and reproducible pruning skills (2) Designing 3D models of the grape vines similar to real ones in blender for training the network in the simulator (3) Teaching and testing pruning skills on mobile manipulator in simulated environment initially and then evaluate them on real system. For the sake of convenience, the grape vine winter pruning is taken as an representative case study, shown in Fig. <ref>(b).
  
     
  
  
  
  § RELATED WORKS
  
  
  A systematic literature review on the challenges and solutions for effective pruning, sensing and automation technologies is investigated in <cit.>. It points out that the effective pruning relies on the set of key technologies: pruning methods, 3D modelling of dynamic branches, training of robot perception, and handling the dynamics of process. Even though the study is limited to apple tree pruning but its discussion inspires for general natural plant pruning. Another design of robot system for harvesting apple orchard is presented in <cit.>. This system uses a redundant robot manipulator equipped with global camera, which can effectively harvest the desired area at a least error rate using an open loop controller. However, the reliability of system need to be improved with grasping status force feedback. A robot system is introduced in <cit.> to address the grape vine pruning. The robot system is equipped with multiple cameras for online 3D reconstruction of the vines. Having this geometrical information of vines, the robot plans a collision free trajectory to apply reasonable cuts. However, the research does not take into account the dynamics of vines and their setup uses a tractor pulling a house with robot system inside the vineyard, limiting its wide adoption to different complex conditions. A dual-arm mobile manipulator for pruning and fruit picking is discussed in <cit.>. It deals with the non-holonomic constraint introduced by the wheeled platform using recursive Gibbs-Appell method. The system is tested under symmetrical and unsymmetrical conditions during the pruning and fruit picking. The system considered the dynamics of rigid objects but is not tested on moving and soft object manipulation. The effectiveness of algorithm is measured in terms of simplicity, computational timing and repeatability. The idea of sim2real skill transfer for the simple manipulation tasks i.e, object pushing is suggested in <cit.>. The idea is based on randomizing the dynamics of simulator to teach the recurrent policies to robot so that it can adapt to different environments in real world. However, this approach can be extended to the manipulation of complex tasks i.e, pruning with the incorporation of deep learning and vision system.     
  
  
     
     
  
  
  § RESEARCH METHODOLOGY
  
  
  For the two important sub-tasks discussed in previous section, initially a convolutional neural network (ResNet-101 R-CNN) trained on modeled 3D vines, is used to detect the possible spurs on the analyzed branches from the set of RGB images and then the graph morphometry together with K-means is applied to find the Potential Pruning Points (PPP) on the vines. Once the pruning points are determined, the next task is to command the robot towards the respective branches on the vines with desired trajectories and hence the quadratic programming is being used for such path planning <cit.>. The block diagram of proposed methodology is shown in Fig. <ref> and associated kinematic model in Fig. <ref>.
  
  
  
     
     
  
  
   §.§ Modeling of 3D vines and robot platform
  
  
  The 3D models of vines are constructed in blender engine and then rendered into simulated environment. The 2D images of vines captured from agricultural field are used as reference for creating 3D models. The 2D images are imported into blender as background in vector graphics form and resized upto 76.3 cm to give them more realistic shape. In the edit mode, the circular extruder with 3.121 cm diameter is selected and the path is traced along the 2D image but with precise rotation, resizing and extension to take into account all the spurs, canes and buds on the vine branches. Once the extrude is done, the proportional editor is activated to give the tilt to the branches according to their real shape. Moreover, the sub-division surface modifier is applied to shape the irregularities on the vines. In order to give real looking texture, UV mapping is done with unwrapping on the selected texture image to follow the lines on real vines and cubic projection is applied to cover the whole surface area of designed vine. Since, the vines are given multi-textures similar to realistic ones and the buds are carefully being placed on alternatives sides of the canes. For adding the softness to vines, specially the jiggle effect when wind blows, the dynamics of vines are changed from rigid body to cloth physics. The pinning is activated and the weighted paint is selected to add jiggle to the branches and then a vertex group is created and scene is activated. In the add brush setting, the paint is applied on the parts in wire frame mode which are not needed to jiggle until they turn reddish. The final result for all the chosen three vines, designed and rendered in blender are shown in Fig <ref> (a, b, c).  
  
  In this study, the mobile manipulator, named “Rolling Panda”, is consist of 7-DOF robot arm from Franka Emika, a two wheel mobile platform from Neobotix, two Intel Realse D435i RGBD cameras attached to the end-effector, a cutting tool with pruning shear attached to the end-effector, and a SICK laser scanner for 2D SLAM.
  
  
     
  
  
  
  
   §.§ Estimation of Potential Pruning Points (PPP)
  
   
  Before estimating the pruning points, it is required to find the dedicated spur regions so as to narrow down the search space for pruning algorithm. Identification of possible spurs on the vines is the crucial step in finding the pruning region. The Faster R-CNN is used to mathematically characterize the spurs <cit.>. It calculates the centroid of each region and assigns bounding box around to ensure the average variance does not go beyond the centroid boundaries. Such information about the centroid of spur is used to find its pose. R-CNN model with ResNet-101 maps the spurs on the vines with mean precision of 0.679 and at a learning rate of 0.0005. The architecture of faster R-CNN network used for spur detection is shown in Fig. <ref>.
  
  
      
     
  The faster R-CNN uses convolution layers to extract the desired feature map and the anchors are used to define the possible regions from the feature map. Total 9 anchors are used with three aspect ratios 1:1, 1:2 and 2:1 which stride over the feature map skipping 16 pixels at each time. The possible regions predicted by anchors are fed to the regional proposal network (RPN). The RPN is a small neural networks that predicts the region of the object of interest. It actually predicts whether there is object (spur) or not and also frames the bounding box around those spurs. In order to predict the labels of anchors, the output from RPN is passed through softmax or regressor activation functions. Since, RPN results in CNN feature maps of different sizes and hence Region of Interest (RoI) pooling is applied to harmonize the given maps to the same size. The faster R-CNN uses original R-CNN network to perform RoI pooling. It takes the feature vector predicted by RPN, normalize it and passes through two fully connected convolution layers with ReLU activation and thus predicts the class and bounding boxes of object. In order to train and test our faster R-CNN network, 1210 and 245 images of modeled grape vines are used respectively. The dimensions of feature map generated are 25×25 and the size of anchor is 9, therefore there are total 2916 potential anchors. The test time per image is 0.2 secs and 8359 bounding boxes are detected in the regions of interest with a minimum threshold of 0.7 and which are then finally passed to classifier layer as an output.
  
  Once the spurs are detected, the next step is to find the Potential Pruning Points (PPP) which mainly depend upon the geometric information of vines and their intrinsic properties. A predictive HOG (Histogram of Gradients) is applied to find out the normalized patches in the spur regions. The regions are subdivided into cells on the basis of gradient intensity and histogram of gradient directions is computed as shown in Fig. <ref>. The pipeline adopted to estimate the pruning points is defined in Fig . <ref>.
  
  
      
     
  Since, the algorithm results into a flattening matrix with dense information about the intensity gradients. Therefore,the Mean Predictive HOG (mpHOG) is calculated under a Bayesian Linear Regression for inference matrix distribution which is normalized by a probabilistic model evidence. On the basis of mpHoG descriptor, a statistical-based pattern recognition pipeline is applied to identify the geometric properties of vines and is merged with K-means clustering to classify the regions in terms of similarity of their intrinsic characteristics. Since, the K-means is a unsupervised machine learning technique used to find the centroid of a given data set and locates the average of data around it <cit.>. The algorithm continues to minimize the distance between consecutive centroids until it does not move any more. The algorithm is formulated as minimization problem and is given by Eq. <ref>
  
  
      F̅=∑_m=1^k∑_n=1^j||U_m-V_n||^2
  
  
  
  
  
  The objective function minimizes the distance between U_m points and V_n cluster centre. The structural graph based morphometry uses the graph kernel to identify the similarity between the obtained clusters. The classifier with local information locates the centre of data in each neighborhood, thus provides the information that’s maps the series of pruning points in the given regions. Hence, the cutting pose based on the determined pruning points is obtained by using X̅_̅p̅=Rt. Where R and t denotes the rotation and translation of pruning region with the given set of pruning points. According to Rodrigues rotation formula, with the known unit rotation axis vector r(r_x , r_y, r_z) and the angle of rotation Ø, the R is expressed by Eq. <ref>
  
  
      R(ϕ,r)=(cosϕ)I+(1-cosϕ)rr^t+sinϕ[r]_x
  
  
  I is the identity matrix of 3 × 3 and t is the skew symmetric matrix. Let p_1 and p_2 be the two pruning points in the region, they should satisfy the constraint defined by the Eq. <ref>
  
  
      p_2^TX_pp_1=0
  
  
  The homogeneous vectors of the pruning points p_1 and p_2 are always being pre-multiplied by the inverse of intrinsic camera matrix Mc.
  
   
     
  
  
  
   §.§ Motion Planner
  
  
  Motion planners are used to navigate the robot to a goal through the sequence of valid configurations. The configurations of robot subjected to constraints are used to avoid collisions with the obstacles and maximize the manipulability of system. The motion planner formulates the task as a cost function to be minimized on the basis of constraints solved by using the equality and inequality solvers and is expressed by the Eq. <ref>. 
  
  
      X⊗Y= {ax-y ∈R^n|x ∈ X, y ∈ Y, a ∈ R}
  
  
  Where X, Y and R represent goals, constraints and robot configuration space respectively. In order to define the pruning task and to set the priorities on it, a stack is formed. In our research, the Stack of Task (SoT) is formulated by the Eq. <ref><cit.>, with L_jointposition, and L_jointvelocity representing constraints on robot system joint positions and velocities respectively
  
  
      [                   {T_base}^World; {T_Arm}^Base+{T_Endeffector}^Arm;               {T_Postural}^world ]
  
                                  s.t 
  
                       L_jointposition+L_jointvelocity
  
  T represents task and is generally defined by T_i=(J_i, ė_̇i̇)
  
  
  J_i - Jacobian of associated links:
  
  ė_̇i̇ - Error in joint velocities
  
  
  The tasks are given hard and soft priorities and the constraints are defined by the quadratic programming. The task has hard priority if it does not deteriorate the performance execution of first task while the soft priorities are defined at same task levels and they may influence each other on the basis of their associated weights. In Eq. <ref>, the postural task is set at minimum priority as compared to base, arm and end-effector levels. The tasks related to the arm and end-effector are being solved without affecting the configuration of the mobile base. 
  
  In order to deal with such kind of motion planning, the motion planner using Quadratic Programming (QP) optimization interface is used<cit.>. The general task using quadratic programming in joint space is described by the Eq. <ref> and is subjected to Rq̇≤C constraints
  
  
      q̇_̇i̇=argmin(J_iq_i, ė_̇i̇)
  
  
  
  
   §.§ Natural Admittance Controller and dynamics of vines
  
  
  When dealing with vibrating and moving objects, the friction during the interaction is always ambiguous and passivity of the system is also lost. Natural Admittance Controller (NAC) is the method to analyze the system under the force feedback that results in the loss of passivity due to reduction of inertia during the interaction <cit.>. Since, NAC declares the designated values of inertias close to the actual physical values and thus ensures to maintain the passivity by eliminating the friction effects. From the differential kinematics, the relationship between the joint and operational space velocities is given by Ẋ_̇i̇=J_robotq̇_̇i̇. Where Ẋ_̇i̇ is 7×1 vector of velocities of franka arm in operational space and q̇_̇i̇ are its associated joint velocities and J_robot is the Jacobian of franka arm.
  
  The forced applied by the end-effector on the plants at the goal position is determined by Eq. <ref>
  
  
      F_e=K(P_g-P_base)-BẊ_̇i̇
  
  
  Where, K and B define the stiffness and damping of panda arm respectively, P_g and P_base are the goal points and the base points respectively. The total interaction force is the sum of end-effector force and feedback force from the F/T sensor for plants (F_net = F_e + F_sensor). The equivalent joint torque thus is computed by τ_i=J_robotF_net, with obvious meaning of variables. The values of joint accelerations needed to reach the goal are given by Eq. <ref>
  
  
      q̈_desired=H^-1τ_i-B_Hq̇_actual
  
  
  Where, H is the matrix of inertias and B_H is the desired damping. With the use of Euler’s integration rule, the joint velocities are computed.
  
  With the control loop running at 100 Hz, the desired joint velocities are sent to command the robot to interact with stationary and moving vines. The filter is used at force-feedback to suppress the noisy data and also the anti-wind up criteria is applied to avoid the saturation of controller and system parameters. 
  
  The motions of the vines are modeled with three virtual joints as PRR kinematic chain in simulated environment, which can translate in and rotate around y direction and also generates rotation around z-axis. The dynamics of plant is defined by F_plant=mv̇+bv
  
  Where, F_plant is the force applied by plant and its sensed by F/T sensor as F_sensor, m represents the mass of plant, v̇ is its acceleration and b is the friction. The desired admittance of the system in Laplace domain is defined by Eq. <ref>
  
  
      C_desired(S)=1/ms+B+K/s
  
  
  Since, the mass of vine is not altered but the friction b is compensated to get the desired behavior with the feedback gain given by Eq. <ref> and the effect of friction further diminishes with an increase of velocity loop gain g_v. It has been found that the system under NAC is passive, no matter how large the value of g_v is increased for minimizing the friction effects. 
  
  
      g_f=(b-g_v-B)s-K/ms^2+Bs+K
  
  
  
  
  § RESULTS AND DISCUSSION
  
  
  
      
     
  The results from the spur detection algorithm trained for almost 6 hours are shown in Fig. <ref>(a, b). The bounding boxes represent the possible spurs on the vines with confidence interval of more than 70% in Fig. <ref>(b). Figures <ref>(c, d) illustrate the Potential Pruning Points (PPP) obtained with the application of proposed algorithm. Fig <ref>(c) represents the morphometry data of vine. The big circle in Fig <ref>(d) on the regions indicates the classification of spurs, either to prune or not and yellow dots in each region indicate the range of pruning points detected. The pink dots denote the effective PPP on the vine to perform the required cuts.
  
  The cutting pose shown by orange line in the Fig. <ref>(d) between pruning points is sent to the motion planner to generate the desired trajectories for the robot platform, executed within 60 secs approximately. The application of proposed framework on robot pruning scenario in simulated and real environments is reported in Fig. <ref>. It can be seen from the Fig. <ref> that the results in the simulated environment Fig. <ref>(a-f) are successfully reproduced on the real robot Fig. <ref>(g-l) with minor deviations in pruning time and pruning accuracy. Total two spurs, 8 potential pruning points and four cutting poses are detected within 6 secs in both the environments successfully. Since, during the experiments on the real robots it is found that it skips one cut on the designated vine position while the robot in simulated environment performs all the four cuts more accurately and in a less amount of time. It is obvious, because the changing real time conditions i.e, lighting, temperature, sensor fidelity i.e, F/T information, friction of vines etc are however steady in the simulated vineyard scenario. However, the domain randomization plays an important role in bridging the gap between sim2real skill transfer but still the 100% reproduciblity of manipulation skills on real system suffers mainly due to inaccuracy in modeling of system dynamics and varying environmental conditions as what happens in our case too.
  
  
     
  
     
     
  The associated joint position trajectories for the base and arm are shown in Fig. <ref> (a, b) respectively. It can be seen that the pose of robot arm is not affected when the mobile base is navigated to a desired vine under 40 sec time interval and then the robot arm is actuated to reach the cutting region without violating the current configuration of mobile base. This case validates the definition of hard constraints between the mobile base and robot arm used in our framework.    
  
  
     
  
  However, the soft constraints are defined between the cutting tool and robot arm in order to facilitate the adaptive translation and orientation to reach the desired cutting pose on the vines. The vines are initially stationary and the cutting tool after reaching the pose of PPP, performs the required cut and is shown in Fig. <ref>(c). The tool centre point (TCP) is defined on the cutting tool at 5 mm away from tip of the blades. It can be seen that the blades on the cutting tool moves 0.075 m close to each other to execute the pruning action. Next, the vines are given motion in different directions i.e, y-translation, y-rotation, z-rotation and finally combination of all (mixed). The motion of plants within all defined directions is shown in Fig. <ref>(a).
  
  
     
  
  Due to the interaction between the robot arm and vine, the force is exerted by both on each other. The force exerted by end-effector on plant is constant regardless of the motion of vines. The force profile of vine in stationary and dynamic conditions is shown in Fig. <ref>(b). Since the vines are placed in Y-direction and when they touch the cutting tool during the motion equipped with F/T sensor, it experiences a spike of impact as shown in Fig. <ref>(b). The force applied by the end-effector F_e is composed of two terms, one is the force of spring between the arm and vine and the other is due to the damper (inertia) of arm acting between reference and actual velocities of the end-effector.  
  
  In case of dynamic pruning, the F/T information is crucial for effective pruning. When cutting tool and moving vine interact, the force is experienced by F/T sensor and is sent to the planner via NAC as feedback to execute a cut on the vine at the instant of interaction. Since, the cutting action defines the number of attempts made to reach the final assigned end goal. During stationary pruning, the cutting tool mostly performs all the desired cuts in one trial but for moving vines, several attempts are being made to finally reach the required cut.  
  
  The various pruning tests under different scenarios are listed in Table <ref>. The pruning accuracy is measured in terms of the cuts made by blades at the assigned location with a correct position and orientation <cit.>. Since, the value of vine force is averaged over its time to reach the pruning points. The more complex pruning scenario is obviously a mixed one, in which the vines have given random motions in all the defined directions and hence the cutting tool after sensing force tries several times to reach the final cut. 
  
  
  
  
  
  
  § CONCLUSIONS
  
  
  This research proposed a multi-modal framework for automating the pruning of dynamic vines. For the reproducibility of pruning skills under different scenarios with the aim of sim2real skill transfer, the 3D models of vines were constructed and rendered in blender. The RGB images taken with Intel Real-Sense camera mounted on end-effector were used for spurs detection using Faster RCNN at a threshold of 0.7. The robot arm then moved close to a bounding box at the distance of 8.35cm between the cutting tool and vine and then within the vicinity of spurs, the pruning points were located using statistical pattern recognition algorithm based on the graph morphometry. The cutting poses of these points were constructed to command the robot. The vines were initially stationary and then moved in random directions. The proposed framework was trained and tested on designed 3D models of vines in simulators and then the pruning skills were also repeated on the real system in laboratory environment. NAC was applied to deal with dynamic nature of the vines. It was found that the pruning timing was compromised while dealing with moving vines but the accuracy was still maintained within the ± 5% tolerance limits.
  
  The current research has been carried out in the controlled laboratory environment with limited sim2real skill transfer. The next goal is to test the learned skills in real vineyard on the field and also to increase the autonomy of robot platform by using deep SLAM under distinct environmental conditions.
  
  99
  
  c1 Adhikari, S., and Kandel, T. P. (2015). Effect of time and level of pruning on vegetative growth, flowering, yield, and quality of guava. International journal of fruit science, 15(3), 290-301.
  
  c2 Osentoski, S., Jay, G., Crick, C., Pitzer, B., DuHadway, C., and Jenkins, O. C. (2011). Robots as web services: Reproducible experimentation and application development using rosjs. In 2011 IEEE International Conference on Robotics and Automation (pp. 6078-6083). 
  
  c3 Russell, S., and Norvig, P. (2002). Artificial intelligence: a modern approach; Pearson Education Limited.
  
  c4 Matas, J., James, S., and Davison, A. J. (2018). Sim-to-real reinforcement learning for deformable object manipulation. arXiv preprint arXiv:1806.07851.
  
  c5 Wang, Z., and Hirai, S. (2011). Modeling and estimation of rheological properties of food products for manufacturing simulations. Journal of food engineering, 102(2), 136-144.
  
  c6 Katyara, S., Ficuciello, F., Caldwell, D., Siciliano, B., and Chen, F. (2020). Leveraging Kernelized Synergies on Shared Subspace for Precision Grasp and Dexterous Manipulation. arXiv preprint arXiv:2008.11574.
  
  c7 Biagiotti, L., Melchiorri, C., and Vassura, G. (2001). Position/force control of an arm/gripper system for space manipulation. In 2001 IEEE/ASME International Conference on Advanced Intelligent Mechatronics. Proceedings (Cat. No. 01TH8556) (Vol. 2, pp. 1175-1180)
  
  c8 Colgate, J. E., and Hogan, N. (1987). On the stability of a manipulator interacting with its environment. In Proc. 25th Allerton Conf. Communication Control and Computing.
  
  c9 Newman, W. S. (1992). Stability and performance limits of interaction controllers. Journal of dynamic systems, measurement, and control, 114(4):563-570.
  
  c10 He, L., and Schupp, J. (2018). Sensing and automation in pruning of apple trees: A review. Agronomy, 8(10), 211.
  
  c11 Silwal, A., Davidson, J. R., Karkee, M., Mo, C., Zhang, Q., and Lewis, K. (2017). Design, integration, and field evaluation of a robotic apple harvester. Journal of Field Robotics, 34(6), 1140-1159.
  
  c12 Botterill, T., Paulin, S., Green, R., Williams, S., Lin, J., Saxton, V., ... and Corbett‐Davies, S. (2017). A robot system for pruning grape vines. Journal of Field Robotics, 34(6), 1100-1122.
  
  c13 Korayem, M. H., Shafei, A. M., and Seidi, E. (2014). Symbolic derivation of governing equations for dual-arm mobile manipulators used in fruit-picking and the pruning of tall trees. Computers and electronics in agriculture, 105, 95-102.
  
  c14 Peng, X. B., Andrychowicz, M., Zaremba, W., and Abbeel, P. (2018). Sim-to-real transfer of robotic control with dynamics randomization. In 2018 IEEE international conference on robotics and automation (ICRA) (pp. 1-8).
  
  c15 Hoffman, E. M., Rocchi, A., Laurenzi, A., and Tsagarakis, N. G. (2017). Robot control for dummies: Insights and examples using opensot. In 2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids) (pp. 736-741).
  
  c16 Faster, R. C. N. N. (2015). Towards real-time object detection with region proposal networks. Advances in neural information processing systems, pages 91-99.
  
  c17 Na, S., Xumin, L., and Yong, G. (2010). Research on k-means clustering algorithm: An improved k-means clustering algorithm. In 2010 Third International Symposium on intelligent information technology and security informatics (pp. 63-67).
  
  c18 Mansard, N., Stasse, O., Evrard, P., and Kheddar, A. (2009). A versatile generalized inverted kinematics implementation for collaborative working humanoid robots: The stack of tasks. In 2009 International Conference on Advanced Robotics (pp. 1-6).
  
  c19 Rocchi, A., Hoffman, E. M., Caldwell, D. G., and Tsagarakis, N. G. (2015). Opensot: a whole-body control library for the compliant humanoid robot coman. In 2015 IEEE International Conference on Robotics and Automation (ICRA) (pp. 6248-6253)
  
  c20 Dohring, M., and Newman, W. (2003). The passivity of natural admittance control implementations. In 2003 IEEE International Conference on Robotics and Automation (Cat. No. 03CH37422) (Vol. 3, pp. 3710-3715).
  
  
  
  
  