A polishing robot teleoperation method

Through the use of a robotic arm with a six-dimensional force sensor at the end and virtual space technology, combined with a force feedback main hand and VR glasses, the problems of low guidance efficiency and dust hazards of objects with uncertain shapes in traditional polishing robot control methods are solved, efficient position and posture guidance is achieved, and operational efficiency and accuracy are improved.

CN118438312BActive Publication Date: 2025-10-17JIANGSU UNIV OF SCI & TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410636820.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-05-22
Publication Date
2025-10-17
Estimated Expiration
2044-05-22

AI Technical Summary

Technical Problem

Traditional polishing robot control methods require human intervention when facing objects with uncertain shape and position, and the dusty environment harms the health of operators. The guidance efficiency of existing remote operation methods is low and the robot arm posture guidance is not achieved.

Method used

A robotic arm with a six-dimensional force sensor at the end is used, which is controlled by force feedback from the main hand. Visual feedback is achieved by combining virtual space and VR glasses. Cylindrical and funnel-shaped virtual force guides are constructed to guide position and posture. The six-dimensional force sensor is used for gravity compensation and coordinate conversion to avoid the Euler angle universal lock problem.

Benefits of technology

It achieves efficient position and posture guidance, reduces the burden on operators, improves operational efficiency, provides tactile perception and immersion, and significantly improves operational accuracy and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118438312B_ABST
    Figure CN118438312B_ABST
Patent Text Reader

Abstract

The application discloses a polishing robot teleoperation method, in the position guidance, the position of the polishing target point on the surface of the object to be polished in the virtual space is determined, the distance between the end point of the mechanical arm and the polishing target point is calculated, if the distance is greater than the distance threshold, the distance priority virtual force guidance is adopted by using the cylindrical channel, otherwise the precision priority virtual force guidance is adopted by using the funnel-shaped channel; in the posture guidance, the normal line at the polishing target point is determined, then the Euler angle of the normal line posture is converted from the virtual space coordinate system to the robot coordinate system, the normal line posture is subtracted from the current posture of the mechanical arm, and the difference value between the postures is calculated; the virtual force guidance close to the target posture is generated according to the difference value. The application can realize a more accurate auxiliary teleoperation process, and significantly improve the working precision and efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to robot motion control, in particular to a polishing robot teleoperation method. BACKGROUND

[0002] The traditional polishing robot control method adopts pre-programming or handle control. For the object to be polished, when the polishing operation is performed, due to the shape position uncertainty of the object generated in the previous processing process, it cannot be completed through the traditional teaching function of the robot, and the participation of the operator is required. The labor cost is increasing, and a large amount of dust in the polishing environment can harm the health of the operator. The remote control of the robot is carried out by using the teleoperation device, and the operator can safely participate in the polishing operation of the robot. CN114643576A discloses a kind of man-machine collaborative target grabbing method based on virtual force guide, uses virtual force field to carry out obstacle avoidance, and constructs force field to generate the guide of approaching task, but its guiding mode is low in efficiency, and the guiding content only includes position guide, and the posture guide of mechanical arm is not realized. SUMMARY

[0003] The purpose of the present application is to provide a polishing robot teleoperation method with high position guiding efficiency.

[0004] Technical scheme: the polishing robot teleoperation method disclosed by the present application, the polishing robot is a mechanical arm with a six-dimensional force sensor at the end, which is controlled by force feedback master hand and realizes force feedback;The teleoperation method comprises:

[0005] (1) a virtual space including a polishing robot, an object to be polished and a surrounding environment is established, and the virtual space is realized by visual feedback through VR glasses;Gravity compensation is carried out on the six-dimensional force sensor, and coordinate conversion and working space matching are carried out on the force feedback master hand and the mechanical arm, so as to realize the movement operation of the force feedback master hand on the mechanical arm;

[0006] (2) the position of the polishing target point on the surface of the object to be polished in the virtual space is determined;

[0007] (3) the distance between the end point of the mechanical arm and the polishing target point is calculated, if the distance is greater than the distance threshold, step (4) is executed, otherwise step (5) is executed;

[0008] (4) a cylindrical channel is constructed to generate distance priority virtual force guide, when the position of the end point of the mechanical arm is in the cylindrical guide channel, no force feedback is carried out;When the end point of the mechanical arm exceeds the cylindrical guide channel, virtual force guide is generated, the direction is the point closest to the end point of the mechanical arm in the cylindrical guide channel;Then return to step (3);

[0009] (5) If the end point of the robot arm is in the funnel-shaped channel, a virtual force guide is generated according to the position of the end point of the robot arm and the middle axis and the polishing target point, the middle axis being the line between the end point of the robot arm and the polishing target point; then returning to step (3);

[0010] (6) Steps (3) to (5) are executed in a loop until the polishing target point position is reached.

[0011] Further, in step (1), the gravity compensation of the six-axis force sensor comprises:

[0012] The values of the six-axis force sensor in different postures are measured, the tool gravity and the position of the center of mass point of the six-axis force sensor are calculated:

[0013]

[0014] Wherein, G is the tool gravity; L x , L y , L z is the coordinate position of the center of mass point in the sensor coordinate system, F is the measured axial force, and T is the measured torque.

[0015] Further, step (2) comprises: establishing a plane coordinate system with three known corner points O, A and B of the bottom surface of the object to be polished, taking the OA direction as the X axis and the OB direction as the Y axis; then establishing a space coordinate system with the direction perpendicular to OAB and facing the polishing target point P as the Z axis; translating the P point along the Y axis negative direction to the boundary line and setting it as the P' point, the line PP' being the coordinate of the Y axis; making the line of P' point along the Z axis negative direction to OA, which is the coordinate of the Z axis of the P point in the coordinate system; the distance between the O point and the line being the coordinate of the X axis; thus obtaining the coordinate position (Px, Py, Pz) of the P point relative to the O point.

[0016] Further, in step (3), the distance threshold is 10% of the arm length of the robot arm.

[0017] Further, in step (4), the cylindrical guide channel is generated in the virtual space according to the coordinate of the end point of the robot arm as the starting point and the coordinate of the polishing target point as the ending point;

[0018] The virtual force F d of the cylindrical guide channel is calculated as follows:

[0019] F d =k d δ(X d )

[0020] δ(X d )=X d -D(X d )

[0021]

[0022] wherein F d is the guiding force vector, k d is the feedback coefficient of force feedback; δ(X d ) is a vector, the direction of which is the mechanical arm end pointing to the axis of the cylindrical guiding channel, and the magnitude of which is the distance between the mechanical arm end and the axis of the cylindrical guiding channel; r d is the radius of the cylindrical guiding channel; X d represents the coordinates of the mechanical arm end in the virtual space, and D(X d ) represents the point closest to the mechanical arm end on the guiding path; a is a value greater than 0.

[0023] Further, in step (5), the funnel-shaped guiding channel is generated with the line between the mechanical arm end and the polishing target point as the central axis and the distance as the height, wherein the polishing target point is the top surface and the mechanical arm end is the bottom surface.

[0024] The virtual force F f of the funnel-shaped guiding channel is calculated by the following formula:

[0025] F f = F sin +F cos = k sin δ sin (X f )+k cos δ cos (X f )

[0026] F sin is the force of the sine component of force feedback of the mechanical arm end within the funnel range, F cos is the force of the cosine component of force feedback of the mechanical arm end within the funnel range, k sin is the feedback coefficient of the sine component of force feedback of the mechanical arm end within the funnel range, k cos is the feedback coefficient of the cosine component of force feedback of the mechanical arm end within the funnel range; δ sin (X f ) is a vector of the mechanical arm end pointing to the funnel axis; δ cos (X f ) is a vector of the mechanical arm end parallel to the funnel axis; X f is the position of the mechanical arm end.

[0027] Further, in step (5), the method for judging whether the mechanical arm end is within the funnel-shaped channel is as follows:

[0028] A vector δsin (X f ) and the vector δ(X f ) pointing to the polishing target point by the end point of the mechanical arm;

[0029] The sine value of the included angle between the line connecting the current point of the mechanical arm and the polishing target point and the axis of the funnel is calculated by |δ sin (X f )| / δ(X f ), if the calculated sine value is less than sinα, and |δ sin (X f )|<r f , it is determined that the end point X f of the mechanical arm is within the range of the funnel; α is the opening angle of the funnel, and r f is the radius of the bottom of the funnel.

[0030] Further, the remote control method of the polishing robot further comprises:

[0031] (7) determining the normal line at the polishing target point;

[0032] (8) performing coordinate system conversion on the Euler angles of the normal line posture, first converting the virtual space coordinate system into a transition coordinate system, and then converting the transition coordinate system into a robot coordinate system; using quaternion operation to avoid the gimbal lock problem of Euler angles, first calculating the quaternion required for converting the Euler angles of the virtual space coordinate system into the transition coordinate system, and then calculating the quaternion required for rotating the transition coordinate system into the robot coordinate system, multiplying the two quaternions to obtain the rotation transformation required for converting the Euler angles in the virtual space into the Euler angles in the robot coordinate system;

[0033] (9) guiding the posture by virtual force feedback, obtaining the current posture of the mechanical arm, subtracting the posture of the mechanical arm from the normal line posture, and calculating the difference between the two postures; generating a virtual force guide close to the target posture according to the difference.

[0034] Further, step (7) comprises: selecting the vertex closest to the polishing target point on the model of the object to be polished as a basic vertex a in the virtual space, and obtaining other two points b and c forming a triangle with the basic vertex a; subtracting the coordinates of the basic vertex a from the coordinates of the points b and c respectively to obtain two vectors Side1 and Side2; performing cross product on the two vectors to obtain a third vector η perpendicular to the two vectors, and the direction of the third vector η is the direction of the normal line at the polishing target point.

[0035] Further, step (8) comprises: calculating the quaternion q mid required for converting the Euler angles of the virtual space coordinate system into the transition coordinate system:

[0036] q mid =qz*qy*qx

[0037]

[0038] Wherein, (eulerx, eulery, eulerz) is Euler angle in virtual space coordinate system;

[0039] Calculate the quaternion q of the transition coordinate system rotation to the robot coordinate system sec :

[0040]

[0041] The rotation transformation from the virtual space coordinate system to the robot coordinate system is: q end = q mid *q sec .

[0042] The application has position guidance in addition to attitude guidance, which can realize more accurate auxiliary teleoperation process and significantly improve work precision and efficiency.

[0043] Advantages: compared with the prior art, the application has the following obvious advantages:

[0044] (1) Position guidance is provided in the teleoperation process, which takes into account the moving efficiency and moving precision, has higher guidance efficiency, and can reduce the burden of the operator, compared with the traditional guidance method.

[0045] (2) The use of force feedback master and six-dimensional force sensor can realize real-time control of the position and attitude of the mechanical arm, and realize tactile perception when polishing the object, so that the operation process is more in line with human habits and the operation efficiency is improved.

[0046] (3) The use of virtual space for stereoscopic visual perception of the work space makes the operation have immersion. BRIEF DESCRIPTION OF DRAWINGS

[0047] Figure 1 is a structural schematic diagram of a polishing robot teleoperation system;

[0048] Figure 2 is a six-dimensional force sensor calibration attitude diagram;

[0049] Figure 3 is a work space matching and coordinate conversion schematic diagram;

[0050] Figure 4 is a polishing target point positioning schematic diagram;

[0051] Figure 5 is a position guidance flowchart;

[0052] Figure 6 is a position guidance schematic diagram, whereinFigure 6 (a) is a schematic diagram of the guiding channel. Figure 6 (b) is a schematic diagram of cylindrical guide. Figure 6 (c) is a schematic diagram of funnel-shaped guidance;

[0053] Figure 7 This is a schematic diagram of determining the position of the end point of the robotic arm in a funnel-shaped guide channel;

[0054] Figure 8 This is the schematic diagram of the calculation principle of the normal vector of the model surface;

[0055] Figure 9 It is a schematic diagram of the virtual space coordinate system and the robot coordinate system;

[0056] Figure 10 It is a schematic diagram of the conversion process from the virtual space coordinate system to the robot coordinate system;

[0057] Figure 11 It is a diagram of posture guidance. DETAILED DESCRIPTION

[0058] The present invention will be further described below with reference to the accompanying drawings.

[0059] An embodiment of the present invention provides a polishing robot teleoperation method, which implements position guidance and posture guidance based on the polishing robot teleoperation system.

[0060] like Figure 1 As shown, the polishing robot is a robotic arm with a six-dimensional force sensor at its end. The polishing robot teleoperation system includes a force feedback master hand, a host computer, VR glasses, and a binocular camera. The force feedback master hand uses a six-dimensional tactile force input and output device, and the robotic arm is a six-joint collaborative robot, both of which are existing technologies. The force feedback master hand controls the movement of the robotic arm, and the six-dimensional force sensor senses the contact force at the end of the robotic arm and feeds this contact force back to the force feedback master hand.

[0061] The polishing robot remote operation method specifically includes the following steps:

[0062] (1) A virtual space including the polishing robot, the object to be polished, and the surrounding environment is established. The virtual space realizes visual feedback through VR glasses; gravity compensation is performed on the six-dimensional force sensor, and the coordinates of the force feedback master hand and the robotic arm are transformed and matched with the workspace to realize the movement operation of the force feedback master hand on the robotic arm.

[0063] (101) Obtain the lengths of the joints of the force feedback master hand and the robotic arm, establish a DH coordinate system, solve the DH parameter table, and obtain the forward and inverse solution expressions of the force feedback master hand and the robotic arm based on the DH parameter table.

[0064] (102) When establishing a virtual space, the robot arm model, six-dimensional force sensor model, and tool model (such as a grinding head) are imported into the virtual space in advance. Then, a binocular camera is used to collect point cloud data of the object to be polished and the surrounding environment. The three-dimensional reconstruction of the working scene is realized in the host computer based on the point cloud data, thereby realizing the construction of the virtual space.

[0065] (103) Measure the measurement readings of the six-dimensional force sensor in various postures and perform data calibration, and calculate the gravity compensation according to the formula.

[0066] When the robot's posture changes, the six-axis force sensor's posture changes, affecting the output results. Therefore, gravity compensation is required for the force and torque of the six-axis force sensor. Table 1 shows the collected six-axis force sensor calibration data.

[0067] Table 1 Six-axis force sensor calibration data table

[0068]

[0069] The measurement data from the six-dimensional force sensor includes gravity, acceleration, and contact forces. Typically, robots move slowly during force control, so acceleration can be ignored. The robot controller uses the RPY angle to represent the robot's coordinate system posture. These angles correspond to the X, Y, and Z angles in Table 1, representing the rotation angles around the Z, Y, and X axes, respectively. Fx, Fy, and Fz are the axial forces applied during measurement, measured in N. Tx, Ty, and Tz are the torques applied during measurement, measured in N·m.

[0070] Measuring six-dimensional force sensor Figure 2 The sensor readings in the six postures shown are used to calibrate the sensor zero point and calculate the tool gravity and center of mass position. The calculation formula is as follows:

[0071]

[0072] Where G is the tool gravity; L x 、L y 、L z is the coordinate position of the center of mass in the sensor coordinate system; F is the measured axial force value, and T is the measured torque value, for example, F x1 is the axial force in the x direction when measuring posture 1, T z5 It is the torque value in the z direction when measuring posture 5.

[0073] By performing gravity compensation on the sensor data, the magnitude of the contact force and contact torque can be obtained.

[0074] (104)Collect the force feedback master hand end position information, and perform coordinate conversion and workspace matching to convert into mechanical arm movement coordinate points and control the mechanical arm to move.

[0075] As shown in Figure 3 , the mechanical arm joint can be set to rotate around the last joint connection point, and the six-dimensional force sensor and the model of the tool are fixed on the last joint of the mechanical arm. The mechanical arm joint angle sensor data is read, the angle of the mechanical arm component relative to the parent component in the virtual space is set, and the virtual mechanical arm model is synchronized with the real mechanical arm. The host computer collects the angle of the force feedback master hand joint through the sensor, and brings it into the kinematics positive solution expression to obtain the master hand target point position P1(x1, y1, z1) and angle θ1(θx, θy, θz); the position and angle are converted in coordinates and matched in the workspace (i.e. the master hand coordinates are converted into the movement coordinate points of the mechanical arm in the virtual space), and the workspace conversion scale is K1(K X , K Y , K Z ).

[0076] In combination Figure 1 , at the control end, the operator observes the virtual space by wearing VR glasses and sends control instructions to the host computer using the force feedback master hand, and the host computer converts the movement of the force feedback master hand in the virtual space into the movement of the mechanical arm in the virtual space to realize the motion control of the robot. At the controlled end, the robot moves and sends real-time information to the host computer, including the angles of each joint of the robot and the six-dimensional force sensor data, and the visual and tactile (force sense) feedback is realized through the force feedback master hand and the VR glasses.

[0077] (2) Determine the position of the polishing target point on the surface of the object to be polished in the virtual space.

[0078] As shown in Figure 4 , after the binocular camera scans the object to be polished, the position of the polishing target point needs to be determined. After distortion correction of the binocular camera, the three-dimensional size of the object to be polished is known. After scanning, the polishing target point P on the object to be polished is identified. A plane coordinate system is established with the three known corner points O, A and B on the bottom surface of the object to be polished, with OA direction as X axis and OB direction as Y axis; and a space coordinate system is established with the direction perpendicular to OAB surface and towards the polishing target point P as Z axis. P point is translated along Y axis negative direction to boundary line and set as P' point, and the connecting line of PP' is the coordinate of Y axis. P' point is connected to OA along Z axis negative direction, which is the coordinate of Z axis of P point in space coordinate system. The distance between O point and the connecting line is the coordinate of X axis. Thus, the coordinate position (Px, Py, Pz) of P point relative to O point is obtained.

[0079] (3) Calculate the distance between the end point of the robot arm and the grinding target point. If the distance is greater than the distance threshold, execute step (4); otherwise, execute step (5).

[0080] Based on the virtual space, the position of the polishing target point and the position of the robotic arm's end point are obtained, the distance between them is calculated, and a determination is made as to whether the robotic arm is close to the polishing target point. In this embodiment, the distance threshold is set to 10% of the robotic arm's length, or 250 mm. If the distance is greater than 250 mm, the robotic arm is far from the polishing target point. If the distance is less than or equal to 250 mm, the robotic arm is close to the polishing target point.

[0081] (4) Construct a cylindrical channel to generate distance-priority virtual force guidance. During the process of controlling the movement of the robotic arm by the force feedback master hand, force feedback guidance is performed according to the position of the end point of the robotic arm. When the position of the end point of the robotic arm is within the cylindrical guide channel, no force feedback is performed (the guidance force is 0); when the end point of the robotic arm exceeds the cylindrical guide channel, a virtual force guidance is generated, and the direction is the point of the cylindrical guide channel closest to the end point of the robotic arm; then return to step (3).

[0082] The cylindrical guide channel is generated in the virtual space with the coordinates of the end point of the robot arm as the starting point and the coordinates of the grinding target point as the end point.

[0083] Figure 6 (a) is a schematic diagram of the guide channel. The virtual force F of the cylindrical guide channel d The calculation formula is:

[0084] F d =k d δ(X d )

[0085] δ(X d )=X d -D(X d )

[0086]

[0087] Among them, F d is the guiding force vector, k d is the feedback coefficient of force feedback; δ(X d ) is a vector whose direction is from the end point of the manipulator to the axis of the cylindrical guide channel, and whose magnitude is the distance from the end point of the manipulator to the axis of the cylindrical guide channel; r d is the radius of the cylindrical guide channel; X d Indicates the coordinates of the end point of the robot arm in the virtual space, D(X d ) represents the point on the guide path closest to the end point of the robot arm; a is a value greater than 0 and is adjusted according to actual conditions.

[0088] As Figure 6 (b) shows X start is the initial position of the end point of the robot arm, X end is the current polishing target point position. When starting to guide, a cylindrical guide channel is generated with the line connecting X start and X end as the axis, r d as the radius. X d is the position of the end point of the robot arm, F d is the guide force vector. When the position of the end point of the robot arm is within the cylindrical guide channel, i.e., δ(X d )≤r d , no force feedback is performed; when the end point of the robot arm is out of the cylindrical guide channel, i.e., δ(X d )>r d , force feedback is performed, and the direction is the point closest to the robot arm coordinate of the cylindrical channel.

[0089] (5) Constructing a funnel-shaped channel to generate a precision-priority virtual force guide. If the end point of the robot arm is within the funnel-shaped channel, a virtual force guide is generated towards the central axis and the polishing target point according to the position of the end point of the robot arm, and the central axis is the line connecting the end point of the robot arm and the polishing target point; then return to step (3).

[0090] The funnel-shaped guide channel is generated with the line connecting the end point of the robot arm and the polishing target point as the central axis and the distance as the height, wherein the polishing target point is the top surface and the end point of the robot arm is the bottom surface.

[0091] Figure 6 (a) is a schematic diagram of a guide channel, and the calculation formula of the virtual force F f of the funnel-shaped guide channel is:

[0092] F f =F sin +F cos =k sin δ sin (X f )+k cos δ cos (X f )

[0093] Wherein, F sin is the force of the robot arm end in the funnel range force feedback sine component, F cos is the force of the robot arm end in the funnel range force feedback cosine component, k sin is the feedback coefficient of the robot arm end in the funnel range force feedback sine component, k cos is the feedback coefficient of the robot arm end in the funnel range force feedback cosine component; δ sin (X f) is the vector from the end point of the manipulator to the axis of the funnel; δ cos (X f ) The vector of the end point of the robotic arm parallel to the funnel axis; X f is the end point position of the robotic arm.

[0094] like Figure 6 As shown in (c), X start is the starting position of the mechanical end point, X end To polish the target point, the center axis of the funnel is X start With X end The line between them, α = 45° is the angle of the funnel opening (i.e. the funnel opening angle), r f =250mm is the radius of the bottom of the funnel. If the end point of the robot arm is x f In the funnel, force feedback is generated to guide the operator to approach the grinding target point, where the guiding force is divided into a sine component force and a cosine component force.

[0095] like Figure 7 ,The method to determine whether the end point of the robot arm is in the funnel-shaped channel is:

[0096] Known robot arm end point position X f , we can calculate the vector δ pointing from the end point of the robotic arm to the axis of the funnel sin (X f ) and the vector δ(X f ). Since the angle α of the funnel opening is known, the value of sinα can be determined in advance. sin (X f )| / δ(X f ) Calculate the sine of the angle between the line connecting the current point of the robot arm and the grinding target point and the central axis of the funnel. If the calculated sine value is less than sinα, and |δ sin (X f )| <r f , then determine the end point X of the robot arm f Within the funnel.

[0097] (6) Execute steps (3) to (5) repeatedly until the target grinding point is reached. Figure 5 The flowchart shown.

[0098] The embodiment of the present invention divides the guide channel into a cylindrical guide channel and a funnel-shaped guide channel. When the robotic arm is far away from the polishing target point, the cylindrical guide channel can be used to quickly approach the polishing target point. When the distance is close, the funnel-shaped guide channel can ensure higher precision.

[0099] (7) Determine the normal line at the polishing target point.

[0100] As Figure 8 shown, the object to be polished model is identified using virtual space, and the normal point of the object surface to be polished is calculated. In the virtual space, all objects are model constructed, and the solid model is created by a series of triangles. Generally, the definition of the solid model is that a set of lines connected by spatial positions in different planes is determined on the basis of data that can determine the three corners of a triangle. In order to obtain the direction perpendicular to the object to be polished at the polishing target point, the triangular mesh of the model is used for calculation. In the virtual space, the vertex closest to the polishing target point on the object model to be polished is selected as the base vertex. Since the model is composed of triangles, the base vertex can form 1 to n triangles with the surrounding vertices. Select one of the triangles, the base vertex is a, and the other two points are b and c. Given the coordinates of points a, b and c, subtract the coordinates of the base vertex a from the coordinates of points b and c to obtain two vectors Side1 and Side2. The cross product of the two vectors will obtain a third vector η perpendicular to the surface. When performing the cross product operation, the operation sequence needs to be determined using the left-hand rule. When looking from above to below on the surface of the object to be polished (the normal will point outward), the first vector should sweep the second vector clockwise. If the operation direction is wrong, a vector perpendicular to the surface but pointing to the inside of the object will be obtained.

[0101] Two vectors Side1 and Side2 are obtained by the three-dimensional coordinates of points a, b and c:

[0102]

[0103] Side1=b-a

[0104] Side2=c-a

[0105] The cross product of the two vectors is:

[0106]

[0107]

[0108] η=Side1×Side2=((b y -a y )*(c z -a z )-(b z -a z )*(c y -a y ))*i+((b x -a x )*(c z -a z )-(b z -az )*(c x -a c ))*j+((b x -a x )*(c y -a y )-(b y -a y )*(c x -a x ))*k

[0109] A third vector η perpendicular to the surface to be polished is obtained, and a direction of the third vector η is a normal direction of the vertex.

[0110] (8) Coordinate system conversion is performed on the Euler angles of the normal posture, the virtual space coordinate system is converted into a transition coordinate system, and then the transition coordinate system is converted into the robot coordinate system; four-element number operation is adopted to avoid the gimbal lock problem of the Euler angles, the four-element number required for converting the Euler angles of the virtual space coordinate system into the transition coordinate system is calculated, the four-element number for rotating the transition coordinate system into the robot coordinate system is calculated, and the two four-element numbers are multiplied to obtain the rotation transformation required for converting the Euler angles in the virtual space into the Euler angles of the robot coordinate system;

[0111] Since the virtual space coordinate system is a left-handed coordinate system, it needs to be converted into the right-handed coordinate system used by the robot. First, a certain axis in the left-handed coordinate system in the virtual space is reversed to serve as an intermediate transition right-handed coordinate system, and then the transition right-handed coordinate system is rotated by 90 degrees to obtain the robot coordinate system.

[0112] Specifically, as shown in Figure 9 is a comparison diagram of the virtual space coordinate system and the robot coordinate system. In the case that the positive directions of the X axes are the same, the positive directions of the Y and Z axes are exchanged with each other, and the positive directions around the axes are different. The pose in the virtual space coordinate system needs to be converted into the robot coordinate system for use. The value of the Euler angle is solved in the virtual space to determine the pose of the polishing head. The right-handed coordinate system is used to complete the formula derivation, because the virtual space coordinate system and the robot coordinate system are different, the conversion between the data is completed according to the corresponding relationship.

[0113] In order to facilitate the calculation of the pose of the polishing head of the robot perpendicular to the surface to be polished, the calculated normal of the vertex is coincided with the axis of the tool coordinate system. Since the order of the Euler angles in the virtual space coordinate system is Y axis, X axis, and Z axis, the Euler angles in the virtual space coordinate system can be obtained by coinciding the tool coordinate system with the normal, wherein the pitch angle is eulerx, the Yaw angle is eulery, and the Roll angle is eulerz. The Euler angles are expressed as (eulerx, eulery, eulerz).

[0114] As shown in Figure 10Convert Euler angles to robot coordinate system. First, the rotation in the virtual space coordinate system needs to be converted to the rotation in the transition right-hand coordinate system. The X-axis is rotated by eulerx degrees, which is equivalent to rotating by -eulerx degrees around the Z-axis in the transition right-hand coordinate system, taking into account the positive direction of rotation; the Y-axis is rotated by eulery degrees, which is equivalent to rotating by -eulery degrees around the Y-axis in the transition right-hand coordinate system, taking into account the positive direction of rotation; and the Z-axis is rotated by eulerz degrees, which is equivalent to rotating by -eulerz degrees around the X-axis in the transition right-hand coordinate system, taking into account the positive direction of rotation.

[0115] Calculate the quaternion required to convert the Euler angles of the virtual space coordinate system to the transition coordinate system:

[0116]

[0117] Then the calculation result in the transition right-hand coordinate system is q mid = qz*qy*qx. Then convert from the transition right-hand coordinate system to the robot coordinate system, i.e. rotate 90 degrees clockwise around the Y-axis. In the right-hand coordinate system, counterclockwise rotation is the positive direction of rotation, i.e.

[0118]

[0119] Finally, the calculation result in the robot coordinate system is q end = q mid *q sec .

[0120] q end is the rotation transformation required from the virtual space coordinate system to the robot coordinate system.

[0121] (9) Virtual force feedback guides the pose, obtains the current pose of the robot arm, subtracts the pose of the normal from the pose of the robot arm, and calculates the difference between the two poses; generates a virtual force guide close to the target pose according to the difference.

[0122] As shown in Figure 11 , the operator is guided by force feedback according to the pose. After calculating the normal of the surface of the object to be polished and converting its pose to the robot coordinate system, the current pose of the robot arm is obtained. The difference between the two poses can be calculated by subtracting the pose of the normal from the pose of the robot arm, and multiplying the difference by the feedback coefficient K r , the size of the pose feedback force F r can be obtained and the operator is guided to approach the target pose by force feedback.

Claims

1. A remote operation method for a polishing robot, characterized in that: The polishing robot is a robotic arm with a six-dimensional force sensor at the end, which is controlled and achieves force feedback through a force feedback master hand; the remote operation method includes: (1) Establish a virtual space including the polishing robot, the object to be polished, and the surrounding environment. The virtual space realizes visual feedback through VR glasses; performs gravity compensation on the six-dimensional force sensor, performs coordinate transformation and workspace matching on the force feedback master hand and the robotic arm, and realizes the movement operation of the force feedback master hand on the robotic arm; (2) determining the position of the polishing target point on the surface of the object to be polished in the virtual space; (3) Calculate the distance between the end point of the robot arm and the grinding target point. If the distance is greater than the distance threshold, execute step (4); otherwise, execute step (5); (4) Construct a cylindrical channel to generate a distance-priority virtual force guide. When the end point of the manipulator is within the cylindrical guide channel, no force feedback is performed. When the end point of the manipulator exceeds the cylindrical guide channel, a virtual force guide is generated in the direction of the point in the cylindrical guide channel closest to the end point of the manipulator. Then return to step (3). (5) Constructing a virtual force guide with a funnel-shaped channel generation accuracy priority. If the end point of the robot arm is in the funnel-shaped channel, generating a virtual force guide toward the central axis and the polishing target point according to the position of the end point of the robot arm, wherein the central axis is the line connecting the end point of the robot arm and the polishing target point; then returning to step (3); (6) Execute steps (3) to (5) repeatedly until the polishing target point is reached; (7) Determine the normal line at the polishing target point; (8) Perform coordinate system conversion on the Euler angle of the normal posture, first convert the virtual space coordinate system into the transition coordinate system, and then convert the transition coordinate system into the robot coordinate system; use quaternion operation to avoid the universal lock problem of Euler angle, first calculate the quaternion required to convert the Euler angle of the virtual space coordinate system into the transition coordinate system, then calculate the quaternion of the transition coordinate system rotated into the robot coordinate system, multiply the two quaternions to obtain the rotation transformation required to convert the Euler angle in the virtual space into the Euler angle of the robot coordinate system; (9) Virtual force feedback guides the posture, obtains the current posture of the manipulator, subtracts the normal posture from the manipulator posture, and calculates the difference between the two postures; generates a virtual force guidance close to the target posture based on the difference; In step (4), a cylindrical guide channel is generated in the virtual space based on the coordinates of the end point of the robot arm as the starting point and the coordinates of the polishing target point as the end point; Virtual force F of cylindrical guide channel d The calculation formula is: F d =k d δ(X d ) δ(X d )=X d -D(X d ) Among them, F d is the guiding force vector, k d is the feedback coefficient of force feedback; δ(X d ) is a vector whose direction is from the end point of the manipulator to the axis of the cylindrical guide channel, and whose magnitude is the distance from the end point of the manipulator to the axis of the cylindrical guide channel; r d is the radius of the cylindrical guide channel; X d Indicates the coordinates of the end point of the robot arm in the virtual space, D(X d ) represents the point on the guide path closest to the end point of the robot arm; a is a value greater than 0; In step (5), the funnel-shaped guide channel is generated with the line between the end point of the robot arm and the polishing target point as the central axis and the distance as the height, wherein the polishing target point is the vertex and the end point of the robot arm is the bottom surface; Virtual force F of the funnel-shaped guide channel f The calculation formula is: F f =F sin +F cos =k sin δ sin (X f )+k cos δ cos (X f ) F sin is the force of the sinusoidal component of the force feedback at the end of the robotic arm within the funnel range, F cos k is the cosine component of the force feedback at the end of the robotic arm within the funnel range, sin k is the feedback coefficient of the sinusoidal component of the force feedback at the end of the manipulator within the funnel range, cos is the feedback coefficient of the cosine component of the force feedback at the end of the manipulator within the funnel range; δ sin (X f ) is the vector from the end point of the manipulator to the axis of the funnel; δ cos (X f ) The vector of the end point of the robotic arm parallel to the funnel axis; X f is the end point position of the robotic arm; Step (7) includes: selecting the vertex closest to the polishing target point on the model of the object to be polished in the virtual space as the base vertex a, obtaining the other two points b and c that form a triangle with the base vertex a; subtracting the coordinates of the base vertex a from the coordinates of points b and c respectively to obtain two vectors Side1 and Side2; performing a cross product on the two vectors to obtain a third vector η that is perpendicular to the two vectors, and the direction of the third vector η is the normal direction at the polishing target point; Step (8) includes: calculating the quaternion q required to convert the Euler angle of the virtual space coordinate system into the transition coordinate system mid : q mid =qz*qy*qx Among them, (eulerx, eulery, eulerz) is the Euler angle in the virtual space coordinate system; Calculate the quaternion q of the transition coordinate system rotation to the robot coordinate system sec : The rotation transformation required from the virtual space coordinate system to the robot coordinate system is: end =q mid *q sec .

2. The remote operation method of a polishing robot according to claim 1, characterized in that: In step (1), performing gravity compensation on the six-dimensional force sensor includes: Measure the values ​​of the six-dimensional force sensor in different postures. The postures are shown in the following table: Calculate the tool gravity and center of mass position of the six-axis force sensor: Where G is the tool gravity; L x 、L y 、L z is the coordinate position of the center of mass in the sensor coordinate system, F is the measured axial force, and T is the measured torque.

3. The remote operation method of a polishing robot according to claim 1, characterized in that: Step (2) includes: establishing a plane coordinate system with three known corner points O, A and B on the bottom surface of the object to be polished, with the OA direction as the X-axis and the OB direction as the Y-axis; then establishing a space coordinate system with the direction perpendicular to OAB and toward the polishing target point P as the Z-axis; translating point P along the negative direction of the Y-axis to the boundary line, set as point P', and the line connecting PP' is the coordinate of the Y-axis; drawing a line from point P' to OA along the negative direction of the Z-axis, which is the coordinate of point P on the Z-axis in the coordinate system; the distance between point O and the line is the coordinate of the X-axis; thereby obtaining the coordinate position of point P relative to point O (Px, Py, Pz).

4. The remote operation method of a polishing robot according to claim 1, characterized in that: In step (3), the distance threshold is 10% of the length of the robotic arm.

5. The remote operation method of a polishing robot according to claim 1, characterized in that: In step (5), the method for determining whether the end point of the robotic arm is within the funnel-shaped channel is: Get the vector δ pointing from the end point of the robotic arm to the axis of the funnel sin (X f ) and the vector δ(X f ); By |δ sin (X f )| / δ(X f ) Calculate the sine of the angle between the line connecting the current point of the robot arm and the grinding target point and the central axis of the funnel. If the calculated sine value is less than sinα, and |δ sin (X f )| <r f , then determine the end point X of the robot arm f Within the funnel range; α is the funnel opening angle, r f is the radius of the funnel bottom.

Citation Information

Patent Citations

  • Human-machine collaborative target grabbing method based on virtual force guidance

    CN114643576A

  • Robot teleoperation force sense immediacy sense construction method fusing visual information

    CN117245649A