Background
In the manufacturing context, surface grinding is often used to produce a finish of certain surface roughness on an unfinished surface, which is often milled finish. It is a widely used abrasive machining process which utilizes a spindle with an abrasive medium containing rough particles which cuts chips of metallic or nonmetallic substance from a workpiece to achieve a required surface roughness. In particular, burrs and other surface flaws are removed. Typically, a targeted surface roughness, quantified by the vertical deviations of a real surface from its ideal form, is obtained based on the application’s functional purpose. Careful selection of the abrasive material based on the surface to be machined is essential for the process to work effectively and progressively, and finer abrasive grid sizes should be used with each grinding pass. Suppliers of such abrasives have recommended strategies and products for end users to consider in order to meet the end product requirements.
Many manual machining processes today employ many older skilled workers with years of experience. Their knowledge is hard to duplicate and be transferred, and it usually requires a period of apprenticeship to identify a candidate who is up to the task. This laborious activity does not appeal to new job seekers and often results in a manpower shortage as attrition in the workforce takes its toll. There are health risks involved as the hours of handling a tool which creates significant vibrations can result in hand injuries. Depending on the location, continuous operating duration and daily allowable working hours for such workers are subjected to local legislative regulation which has to be abide to.
With so many constrains to the manufactures requiring grinding process, it makes sense to automate this task. Its immediate benefits include:
• De-skilling of workers
• Consistent finishing quality
• Reliable throughout
• Continuous operation
• Scalable operation
However, in addition to the aforementioned issues during the off-line programming process, there are other hurdles to address. Such issues include:
• The viability of replicating worker’s skills on a machine to achieve similar or better output
• The skill-upgrading issues because existing workers are required to equip with new skill set for robot operators
• The return of investment
The above considerations are out of the scope of this work. As mentioned in the previous section, absolute accuracy is a necessary evil when it comes to off-line programming as it is vital that the virtual environment is a true representation of the actual setup in order to have a meaningful simulation. However, when it comes to contact operations like grinding, another set of challenges are presented which poses greater issues for consideration.
Considerations for Programming Robots for Grinding Operations
Recent advances in robotic activities have led to the introduction of industrial robots with force control capabilities. This feature opens up the feasibility of utilizing such robots for contact operations like grinding. For simple task like performing contact task involving short straight motion with a constant orientation within the robot’s preferred working envelope, it is relatively easy and can be accomplished by a robot operator within minutes. However, such ideal scenarios are hard to come by in the real world.
Many workpieces come in various shapes and sizes, and quite often, they possess complex geometry. For manual operations, the human is adequately adapted to handle such situations as the human limbs are naturally compliant, and for contact task like grinding, the downward force to be applied is actually quite low. In fact in many cases, the weight of the grinding tool acting in the downward direction normal to the contact surface is enough. In cases where more force is required, the operator simply adds additional passes as and when it is required. In contrast, an industrial robot is naturally stiff, and getting it to perform complaint task like grinding is something that the robot is initially not designed for. Manufacturers overcome these inherent limitations by manipulating the robot’s stiffness by altering the internal controls and introducing force torque sensors at the robot’s end effectors to provide force feedback. They may even tweak some of the safety boundaries to allow force control capabilities to coexist with their existing software.
Fig. 10 Deformation due to applying force
While off-line programming tries to replicate the actual environment in the simulated world to the best possible, nevertheless, there are always some differences, and in contact operations, these differences will lead to collisions. In fact, for contact operations, collision is not a bad thing but is in fact a requirement but in a controlled fashion. Typically for contact operations, the abrasive tool will be subjected to deformation as it is pressed on the surface to be ground as depicted in Fig. 10. It is this deformation that creates the required force normal to the contact surface for the spinning abrasive tool to function. Sometimes a tool may work best if it is angled during use. With this in mind, the flexibility of the abrasive tool with any supports used has to be selected to provide the necessary deformation such that the final contact area between the tool and surface is constant and parallel to each other. The ultimate goal is to attain constant pressure throughout the surface to be processed. This requirement in reality is not always possible due to the various approach angles the tool needs to come in contact with the surface which results in varying contact area and thus a changing contact pressure. Reasons for this varying approach angle may include:
• Default angle interfering with the workpiece.
• Available space cannot accommodate the tool.
• Concave surface is too small resulting in multiple contact areas as shown in Fig. 11.
Fig. 11 Collision issues due to tool deformation during machining process
Should such situation arise, the applied force should be changed accordingly to ensure a consistent applied pressure. Separate trials have to be conducted to better characterize the tool’s abrasive performance at various angles, applied force, and feed rate so as to determine material removal rate. The range of these parameters which will not adversely affect the removal performance also needs to be identified. These numbers will help in determining how much material can be removed for each tool configuration and allow for adjustments.
Off-Line Programming for Contact Operations
Like any other applications requiring off-line programming, the process steps are similar:
• Obtain CAD of workpiece and environment
• Identify the tool path
• Get the tool center point
• Get the work object frame
• Simulate the process
• Generate robot program
The key difference is in the simulation studies. Typically for such studies, we will look out for the following:
• Reachability
• Singularity
• Collision
• Joint limits
For contact operations, it is not possible to simulate the deformation of the tool when it comes in contact with the surface in a fast and efficient manner. Hence, the tool is included in the kinematic simulation in its deformed state based on the studies conducted for better visualization. In the actual process, in the actual process, with the force applied, the TCP can be taken as the center of the contact area and it is identified based on this configuration. However, interference may result as the tool collides with the workpiece. Hence, an intentional offset is included to ensure that with a default deformation, no collision should occur during the simulation studies. If a collision does occur, it is then necessary to modify the tool approach angle such that the interference is resolved. If there is no possible solution, the process angle can be modified next such that it is within the acceptable range. However, if there is still no acceptable solution, it is likely that the tool used is not suitable for the task and modifications to the tool may be needed.
Fig. 12 Industrial robot programming process
If the robot is able to reach each designated target point without problems, it does not mean that the entire path can be executed in one continuous move. Take, for example, the case when there is an overhead obstruction along a path as illustrated in Fig. 11. While teaching each point along the path, the user may have identified suitable approach angles for each of them. However, during the path execution, the system has to create interpolation between 2 via points, and this may result in collision along the way as shown in Fig. 12. Without a suitable configuration to allow a continuous path motion, the existing path may need to be separated into two or more parts each with its approach and departure strategies designed to avoid the obstruction. It is important to note that breaking a path into several parts may result in a visible difference in surface output which may not be acceptable for certain applications. Placement of the workpiece or changing the extra DOF during path planning may help to make a single pass possible as the robot configuration is changed. Another problem with breaking up a finish path is the quality between adjacent segments. The exit of the last segment and the entry of the next need careful tuning of the parameters to ensure that there is no over machining. At times this is hard to predict as the online force search and depart algorithms may take longer than usual to reach the targeted force threshold values in order to start or stop subsequent force control routines. Causes of these fluctuations could be due to the following:
• Unnecessary vibrations introduced due to slight variations in new abrasive tools which affect the switching between different phases of the force control routine.
• Changing vibration output from tool due to wear and tear which affects the switching between different phases of the force control routine.
• Permanent deformation of abrasive tools which are reused as they still have abrasive capabilities. This deformation may shift the TCP slightly resulting in slight increases in search time causing extra machining.
At times, simple issues may cause the variation in performance. For example, take the case where the grinding is done in the gravity direction and against. If the sensor’s zeroing and calibration is done correctly, the system should compensate for gravity effects in its force control routine. However, in cases where there are improperly secured items like cables and the connection is secured after the force sensor, it will end up affecting the final outcome as the connection affects the sensor readings.