WO2023000946A1 - Control unit for robot system, robot system, and control method for robot system - Google Patents

Control unit for robot system, robot system, and control method for robot system Download PDF

Info

Publication number
WO2023000946A1
WO2023000946A1 PCT/CN2022/102771 CN2022102771W WO2023000946A1 WO 2023000946 A1 WO2023000946 A1 WO 2023000946A1 CN 2022102771 W CN2022102771 W CN 2022102771W WO 2023000946 A1 WO2023000946 A1 WO 2023000946A1
Authority
WO
WIPO (PCT)
Prior art keywords
joint
command
force
robot system
instruction
Prior art date
Application number
PCT/CN2022/102771
Other languages
French (fr)
Chinese (zh)
Inventor
贺岩
Original Assignee
上海捷勃特机器人有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海捷勃特机器人有限公司 filed Critical 上海捷勃特机器人有限公司
Publication of WO2023000946A1 publication Critical patent/WO2023000946A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J18/00Arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Definitions

  • the invention belongs to the field of industrial robots, and in particular relates to a control unit of a robot system, a robot system and a control method of the robot system.
  • Industrial robots are multi-joint manipulators or multi-degree-of-freedom machine devices widely used in the industrial field. They have certain automation and can realize various industrial processing and manufacturing functions by relying on their own power energy and control capabilities. They are widely used in electronics, logistics, etc. , chemical industry and other industrial fields.
  • each joint is precisely controlled through the feedback of multiple sensors, and whether a collision occurs during operation is judged.
  • Introducing a feedback loop formed by multiple sensors can improve the technical defects caused by the motor current feedback alone, but on the other hand, it will greatly increase the amount of calculations in the control loop of the robot system.
  • the cost of the existing force sensor is relatively high. Adding force sensors at each joint of an articulated manipulator increases the cost of the overall robotic system.
  • the object of the present invention is to provide a control unit, a robot system and a control method of the robot system to solve the above-mentioned technical problems existing in the prior art solution , while improving the end shake of the mechanical arm and realizing sensitive collision detection, it avoids the increase of the calculation amount of the control loop, enhances the robustness of the control system, and improves the working efficiency of the system under the condition of effectively controlling the cost of the robot system.
  • the technical scheme of the robot system provided by the present invention specifically includes:
  • a control unit used in a robot system including multiple joints, outputs current instructions to the drive units of each joint in the robot system according to instructions, and the control unit includes:
  • a motion planning module generates a point instruction according to the instruction, which is used for the motion trajectory planning of the robot system;
  • the overall acceleration control loop module is used to generate the first force command of each joint based on the point command and the acceleration information of any point in the robot system;
  • a single-joint control loop module configured to generate a second force command for each joint based on the point position command and the position information of each joint of the robot system;
  • a force command fusion module configured to calculate and generate a fusion force command for each joint based on the first force command and the second force command;
  • a current control loop module configured to generate a current command to drive the driving unit according to the fusion force command.
  • the single-joint control loop module includes: a kinematics inverse solution module, used to generate the joint target position of each joint based on the point instruction; a position control loop module, used to generate the joint target position based on the point instruction, the The joint target position is used to generate a joint speed command; the speed control loop module is used to generate a second force command based on the joint speed command and the joint position information.
  • control unit further includes: a collision judging module, used to judge whether the robot system collides according to the point command and the acceleration information, and when it is judged that a collision occurs, send a message to the force command fusion module sending a signal to modify the fusion power command; otherwise, not to modify the fusion power command.
  • a collision judging module used to judge whether the robot system collides according to the point command and the acceleration information, and when it is judged that a collision occurs, send a message to the force command fusion module sending a signal to modify the fusion power command; otherwise, not to modify the fusion power command.
  • the control unit further includes a preset threshold.
  • the collision judgment module calculates the acceleration deviation value of each joint based on the point command and the acceleration information, if any dimension value is greater than
  • send a stop operation command to the force command fusion module set the fusion force command to 0, and stop the drive unit; otherwise, send a force command to the force command fusion module Hold the instruction, set the fusion force instruction as the fusion force instruction of the previous cycle, and make the drive unit enter the force holding state.
  • control unit further includes a storage module for storing preset parameters.
  • control unit further includes a communication preprocessing module for preprocessing the external information received by the control unit; the communication preprocessing module includes an interface register for storing preprocessed data.
  • control unit is integrated into one chip.
  • the chip is integrated with a dual-core or multi-core processor and an FPGA processor, and when the control unit is running, the motion planning module runs on a core of the dual-core or multi-core processor; the overall acceleration control loop module, The single-joint control loop module and the force instruction fusion module run on another core of the dual-core or multi-core processor; the current control loop module runs on an FPGA processor.
  • the present invention also provides a robot system, comprising:
  • the robot body includes a multi-joint mechanical arm, and a plurality of drive units, the number of the drive units corresponds to the number of joints of the multi-joint mechanical arm, and they are respectively arranged on each joint of the multi-joint mechanical arm for Drive each joint to turn or move;
  • a plurality of position sensors corresponds to the number of joints of the multi-joint manipulator, which are respectively arranged at each joint of the multi-joint manipulator, and are used to detect the joint position information of each joint;
  • An inertial sensing unit the inertial sensing unit is arranged on the multi-joint mechanical arm, and is used to detect the acceleration information of the installation position of the inertial sensing unit;
  • the robotic system includes the control unit of any one of the preceding items.
  • the point instruction includes an initial joint position instruction, an initial joint velocity instruction, and a position instruction, a velocity instruction, and an acceleration instruction in Cartesian space of each joint in the robot system.
  • the overall acceleration control loop module calculates the overall force deviation value of the multi-joint manipulator and the joint force deviation value of each joint according to the difference between the acceleration command in the Cartesian space and the acceleration information , the first force command of each joint is calculated and generated based on the joint force deviation value and the force command of the previous cycle.
  • the position sensor is a motor encoder.
  • the present invention also provides a control method of the robot system
  • the robotic system includes:
  • the robot body includes a multi-joint mechanical arm and multiple drive units for driving each joint to turn or move;
  • a plurality of position sensors are used to detect the joint position information of each joint
  • An inertial sensing unit the inertial sensing unit is arranged at the front end of the multi-joint mechanical arm, and is used to detect the acceleration information of the inertial sensing unit at the setting position;
  • control unit configured to output a current command to the drive unit of each joint in the multi-joint robot system according to the command
  • control methods include:
  • a point command is generated according to the command
  • Running the overall acceleration control loop step generating a first force command for each joint based on the point command and the acceleration information of any point in the robot system;
  • Running the single joint control loop step generating a second force command for each joint based on the point command and the position information of each joint of the robot system;
  • the force command fusion step is to calculate and generate fusion force commands for each joint based on the first force command and the second force command;
  • Running a current control loop step to generate a current command for driving the drive unit based on the fusion force command.
  • the point commands include initial joint position commands, initial joint speed commands, and position commands, speed commands, and acceleration commands in Cartesian space for each joint in the robot system.
  • the step of running the overall acceleration control loop includes: calculating the overall force deviation value of the multi-joint manipulator and the joint force of each joint according to the difference between the acceleration command in the Cartesian space and the acceleration information
  • the deviation value, the first force command of each joint is calculated and generated based on the joint force deviation value and the force command of the previous cycle.
  • the step of running the single-joint control loop includes: a kinematics inverse solution step, based on the point command, generating the joint target position of each joint; running a position control loop step, based on the point command, the joint The target position is to generate a joint speed command; the step of running the speed control loop is to generate a second force command based on the joint speed command and the joint position information.
  • control method further includes: a collision judging step, judging whether the robot system collides according to the point command and the acceleration information, and if judging that a collision occurs, sending a signal to the force command fusion module, The fusion force command is corrected, and if no collision is determined, the fusion force command is not corrected.
  • a collision judging step judging whether the robot system collides according to the point command and the acceleration information, and if judging that a collision occurs, sending a signal to the force command fusion module, The fusion force command is corrected, and if no collision is determined, the fusion force command is not corrected.
  • the collision judging step further includes, based on the acceleration information in the Cartesian space, calculating the acceleration information of each joint, and judging whether the directions of the point command and the acceleration information of each joint are the same, when any When the accelerations in the one-dimensional direction are opposite, it is judged that there is a collision, otherwise, it is judged that there is no collision.
  • the collision judging step includes: calculating the acceleration deviation value based on the point command and the acceleration information of each joint, and if any of the dimension values is greater than or equal to a preset threshold value, sending a stop operation to the force command fusion module command, set the fusion force command to 0, so that the drive unit stops running; otherwise, send a force maintenance command to the force command fusion module, and set the fusion force command as the fusion force command of the previous cycle , so that the drive unit enters the force holding state.
  • control unit, the robot system and the control method of the robot system provided by the present invention realize the control of the multi-joint manipulator through the comprehensive application of the overall acceleration control loop module, single joint control loop
  • the control can improve the end shake phenomenon of the industrial robot during the operation process and improve the working efficiency of the robot system without increasing the cost of the robot system;
  • control unit, the robot system and the control method of the robot system provided by the present invention can sensitively detect the collision of any joint in the multi-joint manipulator during operation through the acceleration deviation and direction judgment, so as to avoid misjudgment , and after a collision is detected, enter the force holding state or stop operation state in time, thereby reducing the risk of accidents;
  • the machine control unit, the robot system, and the control method of the robot system provided by the present invention do not need to perform any matrix inversion operation in each control loop, and the calculation amount of the control loop is small, which is conducive to improving the robot system. Overall real-time;
  • control unit, the robot system and the control method of the robot system provided by the present invention detect and compare the acceleration of the front end of the multi-joint manipulator, and decompose it into the control loop of each joint, without calculating the acceleration by differential velocity information Information, to avoid further amplification of the noise contained in the detected speed information in the differential process, thereby enhancing the robustness of the robot system.
  • FIG. 1 is a block diagram of the robot system of the present invention.
  • FIG. 2 is a schematic flowchart of the control method of the robot system of the present invention.
  • control unit 300 control unit
  • 1 to 2 show a preferred embodiment of the control unit, the robot system and the control method of the robot system provided by the present invention.
  • Fig. 1 shows a schematic diagram of modules of the robot system of the present invention.
  • a robotic system comprising:
  • the robot body includes a multi-joint mechanical arm (not shown in the figure), and a plurality of drive units 400, the number of which corresponds to the number of joints of the multi-joint mechanical arm, which are respectively arranged on each joint of the multi-joint mechanical arm for driving Each joint turns or moves;
  • a plurality of position sensors 100 are respectively arranged at each joint of the multi-joint manipulator for detecting the joint position information of each joint;
  • An inertial sensing unit 200 arranged at the front end of the multi-joint manipulator, for detecting the acceleration information of the position where the inertial sensing unit is set;
  • a control unit 300 configured to output current commands to the drive units of each joint in the robot system according to the commands, including:
  • the motion planning module 310 generates point and position commands according to the commands, which are used for motion trajectory planning of the robot system.
  • the point instruction includes an initial joint position instruction, an initial joint velocity instruction, and a position instruction, a velocity instruction, and an acceleration instruction in Cartesian space of each joint in the robot system.
  • the overall acceleration control loop module 320 is used to generate the first force command of each joint based on the point command and the acceleration information of any point in the robot system.
  • the overall acceleration control loop module calculates the overall force deviation value of the multi-joint manipulator according to the difference between the acceleration command of the inertial sensing unit and the acceleration information detected by the inertial sensing unit, and decomposes the calculation through the force Jacobian matrix
  • the joint force deviation value of each joint in the multi-stage robotic arm is based on the joint force deviation value and the force command of the previous cycle to generate the first force command of each joint.
  • the single joint control loop module 330 is configured to generate a second force command for each joint based on the point position command and the position information of each joint of the robot system.
  • the single joint control loop module 330 further includes:
  • the kinematics inverse solution module 331 is configured to generate the joint target position of each joint based on the point instruction. In one embodiment, the kinematics inverse solution module 331 calculates and generates the joint target position of each joint through a kinematics inverse solution algorithm according to the joint position command in the point position command.
  • the position control loop module 332 is configured to generate joint speed commands based on point commands and joint target positions. In one embodiment, the position control loop module 332 generates the joint speed command according to the difference between the joint target position and the joint position information, and the initial joint speed command.
  • the speed control loop module 333 is configured to generate a second force command based on the joint speed command and the joint position information. In one embodiment, the speed control loop module 333 generates the second force command according to the difference between the second joint speed command and the joint position information.
  • the force command fusion module 340 is configured to calculate and generate a fusion force command for each joint based on the first force command and the second force command.
  • the force command fusion module performs a weighted sum calculation on the first force command and the second force command based on a preset weight coefficient to generate a fusion force command.
  • the current control loop module 350 is configured to generate a current command for driving the drive unit according to the fusion force command.
  • control unit 300 may further include a collision judging module 360, which is used to judge whether the robot system collides according to the point command and acceleration information, and when it is judged that a collision occurs, send a message to the force command fusion module signal to modify the fusion power command; otherwise, the fusion power command is not modified.
  • a collision judging module 360 which is used to judge whether the robot system collides according to the point command and acceleration information, and when it is judged that a collision occurs, send a message to the force command fusion module signal to modify the fusion power command; otherwise, the fusion power command is not modified.
  • control unit further includes a preset threshold value.
  • the collision judging module calculates an acceleration deviation value based on the point command and acceleration information, if any dimension value is greater than or equal to
  • send a stop operation command to the force command fusion module set the fusion force command to 0, and stop the drive unit; otherwise, send a force hold command to the force command fusion module command, setting the fusion force command as the fusion force command of the previous cycle, so that the drive unit enters a force holding state.
  • control unit 300 may further include a storage 370 for storing preset parameters.
  • the storage 370 stores preset weight coefficients and preset thresholds.
  • control unit 300 may further include a communication preprocessing module 380, configured to preprocess the data input from the position sensor and the inertial sensing unit to the control unit 300, and store the preprocessed data in the communication preprocessing module 380.
  • a communication preprocessing module 380 configured to preprocess the data input from the position sensor and the inertial sensing unit to the control unit 300, and store the preprocessed data in the communication preprocessing module 380.
  • a communication preprocessing module 380 configured to preprocess the data input from the position sensor and the inertial sensing unit to the control unit 300, and store the preprocessed data in the communication preprocessing module 380.
  • a communication preprocessing module 380 configured to preprocess the data input from the position sensor and the inertial sensing unit to the control unit 300, and store the preprocessed data in the communication preprocessing module 380.
  • Fig. 2 shows a schematic flowchart of the control method of the robot system of the present invention.
  • the robot system includes: the robot body, including a multi-joint mechanical arm, and multiple drive units, used to drive each joint to turn or move; multiple position sensors, used to detect the joint position information of each joint; an inertial sensing unit, The inertial sensing unit is arranged at the front end of the multi-joint robot arm, and is used to detect the acceleration information of the inertial sensing unit at the setting position; the control unit is used to send the driving unit of each joint in the multi-joint robot system Output current command.
  • Control methods include:
  • Step S100 motion trajectory planning, generating point and position instructions according to user or other external instructions.
  • the point instruction includes the initial joint position instruction and the initial joint velocity instruction of each joint in the robot system in Cartesian space, and the inertial sensor unit speed instruction and inertial sensor unit setting position in Cartesian space. Sensing unit acceleration command.
  • Step S200 running the overall acceleration control loop step, used to generate the first force command of each joint based on the point command and the acceleration information detected by the inertial sensor unit of the robot system.
  • step S200 further includes: step S210, calculating the overall force deviation value of the multi-joint manipulator according to the difference between the acceleration command of the inertial sensing unit and the acceleration information detected by the inertial sensing unit .
  • step S220 decompose and calculate the joint force deviation value of each joint in the multi-joint manipulator through the force Jacobian matrix.
  • Step S230 generating a first force command for each joint based on the joint force deviation value and the force command of the previous cycle.
  • Step S300 running a single-joint control loop step for generating a second force command for each joint based on the point position command and the position information of each joint of the robot system.
  • step S300 further includes: step S310, based on the point instruction, through a kinematics inverse solution algorithm, to generate the joint target position of each joint.
  • step S320 generating a joint speed command according to the difference between the joint target position and the joint position information, and the initial joint speed command.
  • step S330 generating a second force command based on the joint speed command and the joint position information.
  • Step S400 the force instruction fusion step, based on the first force instruction and the second force instruction, calculate and generate fusion force instructions for each joint.
  • the force command fusion module performs a weighted sum calculation on the first force command and the second force command based on a preset weight coefficient to generate a fusion force command.
  • Step S500 running a current control loop step, generating a current command for driving the driving unit based on the fusion force command.
  • control method further includes: step S600, a collision judgment step, judging whether the robot system has a collision according to the point instruction and the acceleration information, and if it is judged that a collision occurs, merge the force instruction with the The module sends out a signal to modify the fusion force command, and if no collision is determined, the fusion force command is not corrected.
  • step S600, the collision judging step further includes, based on the acceleration information of the inertial sensing unit, calculating the acceleration information of each joint, and judging whether the directions of the point command and the acceleration information of each joint are the same, When the accelerations in any one of the dimensional directions are opposite, it is judged that there is a collision, otherwise it is judged that there is no collision.
  • step S600 the collision judgment step further includes: calculating the acceleration deviation value based on the point command and the acceleration information of each joint, and if any dimension value is greater than or equal to a preset threshold value, the force command
  • the fusion module sends a stop operation command, sets the fusion force command to 0, and stops the drive unit; otherwise, sends a force maintenance command to the force command fusion module, and sets the fusion force command to the previous Combined with the force command periodically, the drive unit enters into a force holding state.
  • a six-joint industrial robot comprising:
  • the robot body includes a six-joint robot arm and six drive units, the drive units include power devices, permanent magnet synchronous motors, harmonic reducers, etc., which are respectively arranged on each joint of the six-joint robot arm for driving Each joint turns or moves.
  • the position sensors are motor encoders, which are respectively arranged at each joint of the multi-joint manipulator, and are used to detect the joint position information of each joint.
  • the inertial sensing unit is a dedicated circuit board installed at the fifth joint of the mechanical arm.
  • the dedicated circuit board has an IO circuit, an inertial sensor and a microprocessor chip.
  • a control unit that outputs current commands to the drive units of each joint in the robot system according to the commands including:
  • the motion planning module generates a series of point and position instructions according to a certain time interval.
  • the point and position instructions include:
  • the overall acceleration control loop module is used to generate the first force command of each joint based on the point command and the acceleration information detected by the inertial sensor unit.
  • the overall acceleration control loop module operates according to the following mechanism :
  • the expected acceleration is obtained from the 6-dimensional acceleration command of the inertial sensor unit installation point in the Cartesian space in the point command, and the 6-dimensional acceleration information fed back by the inertial sensor is obtained.
  • the difference between the two accelerations is calculated, and the acceleration difference is multiplied by the gain.
  • the force deviation value of each joint is obtained by multiplying the transposition of the Jacobian matrix and the 6-dimensional Cartesian space force deviation.
  • the first force command of each joint is obtained by summing the force deviation value of each joint and the force command of the previous cycle.
  • the first force command of the joint whose position is closer to the end of the mechanical arm (executing mechanism) than the inertial sensing unit can be set to 0.
  • the overall acceleration control loop module does not need to find the inverse matrix of the Jacobian, the calculation amount is small, and it can meet the real-time control requirements.
  • a single-joint control loop module configured to generate a second force command for each joint based on the point command and the position information of each joint of the robot system; in one embodiment, the single-joint control loop module includes:
  • a kinematics inverse solution module configured to generate the joint target position of each joint based on the point instruction
  • the position control loop module makes the difference between the joint position command and the motor encoder position feedback, multiplies it by the gain to obtain the speed command, and sends the speed command to the speed control loop module after adding the joint speed command;
  • the speed control loop module makes a difference between the above speed command and the position difference of the motor encoder, and multiplies it by the gain to obtain the second force command of each joint.
  • the force instruction fusion module is used to calculate and generate fusion force instructions for each joint based on the first force instruction and the second force instruction.
  • a current control loop module configured to generate a current command to drive the driving unit according to the fusion force command.
  • the current control loop module converts the fusion force instruction into a current instruction, and outputs a driving control signal (such as a PWM signal) to the power device (such as: IGBT, IPM, etc.) in the drive unit to drive the motor to run.
  • a driving control signal such as a PWM signal
  • control unit may include a collision judging module, which is used to judge whether the robot system collides according to the acceleration instruction in the point instruction and the direction of the six-dimensional acceleration information detected by the inertial sensor unit.
  • a collision judging module which is used to judge whether the robot system collides according to the acceleration instruction in the point instruction and the direction of the six-dimensional acceleration information detected by the inertial sensor unit.
  • the acceleration in the one-dimensional direction is opposite, it is judged that there is a collision, and a signal is sent to the fusion force command to modify the fusion force command; otherwise, it is judged that there is no collision, otherwise, the fusion force command is not corrected.
  • the collision judging module calculates the acceleration deviation value based on the acceleration command in the point command and the six-dimensional acceleration information detected by the inertial sensing unit, and if any of the dimensional values is greater than or equal to the preset threshold value, it will report to the The force command fusion module sends a stop operation command, and the fusion force command is set to 0, so that the drive unit stops running; otherwise, it sends a force maintenance command to the force command fusion module, and the fusion force command is set to Combined with the force command from the previous cycle, the drive unit enters the force holding state.
  • the core processing chip of the control unit can be a SOC-FPGA, Intel's CycloneV, which is integrated with a dual-core ARM Cortex-A9 processor and an FPGA processor.
  • the ARM Cortex-A9 processor One core runs the operating system, responsible for non-real-time or weak real-time tasks such as network communication, human-computer interaction, file system management, and motion planning modules; the other core of the ARM Cortex-A9 processor runs strong real-time tasks, including the overall acceleration control loop module , Single joint control loop module, force command fusion module; FPGA processor includes current control loop module, etc.
  • control unit may include a storage module for storing preset parameters, such as: a first weight coefficient, a second weight coefficient, a preset threshold, and the like.
  • the FPGA processor includes a communication preprocessing module, which preprocesses real-time communication data such as encoder and inertial sensor data, and puts the result in a designated interface register, saving the processing time of the dual-core ARM processor.
  • a six-joint collaborative lightweight robot including:
  • the robot body contains integrated joints, and multiple drive units are integrated in each joint, including a 48V permanent magnet synchronous hollow motor and a harmonic reducer, which are used to drive each joint to turn or move.
  • the position sensors are motor encoders, which are respectively arranged at each joint of the multi-joint manipulator, and are used to detect the joint position information of each joint.
  • the inertial sensing unit includes an inertial sensor and an IO circuit, and is installed on the drive unit of the sixth joint (the joint closest to the end effector).
  • control unit includes a plurality of microprocessors, respectively arranged at the drive unit of each joint, used to generate PWM signals to control the drive unit, obtain encoder information and current information, the microprocessor of the sixth joint drive unit Also responsible for obtaining inertial sensor information.
  • the motion planning module generates a series of point and position instructions according to a certain time interval.
  • the point and position instructions include:
  • the overall acceleration control loop module is used to generate the first force command of each joint based on the point command and the acceleration information detected by the inertial sensor.
  • the overall acceleration control loop module operates according to the following mechanism:
  • the expected acceleration is obtained from the 6-dimensional acceleration command of the inertial sensor unit installation point in the Cartesian space in the point command, and the 6-dimensional acceleration information fed back by the inertial sensor is obtained.
  • the difference between the two accelerations is calculated, and the acceleration difference is multiplied by the gain.
  • the force deviation value of each joint is obtained by multiplying the transposition of the Jacobian matrix and the 6-dimensional Cartesian space force deviation.
  • the first force command of each joint is obtained by summing the force deviation value of each joint and the force command of the previous cycle.
  • the overall acceleration control loop module does not need to find the inverse matrix of the Jacobian, the calculation amount is small, and it can meet the real-time control requirements.
  • a single-joint control loop module configured to generate a second force command for each joint based on the point command and the position information of each joint of the robot system; in one embodiment, the single-joint control loop module includes:
  • a kinematics inverse solution module configured to generate the joint target position of each joint based on the point instruction
  • the position control loop module makes the difference between the joint position command and the motor encoder position feedback, multiplies it by the gain to obtain the speed command, and sends the speed command to the speed control loop module after adding the joint speed command;
  • the speed control loop module makes a difference between the above speed command and the position difference of the motor encoder, and multiplies it by the gain to obtain the second force command of each joint.
  • the force instruction fusion module is used to calculate and generate fusion force instructions for each joint based on the first force instruction and the second force instruction.
  • a current control loop module configured to generate a current command to drive the driving unit according to the fusion force command.
  • the current control loop module converts the fusion force instruction into a current instruction, and outputs a driving control signal (such as a PWM signal) to the power device (such as: IGBT, IPM, etc.) in the drive unit to drive the motor to run.
  • a driving control signal such as a PWM signal
  • control unit may include a collision judging module, which is used to judge whether the robot system collides according to the acceleration instruction in the point instruction and the direction of the six-dimensional acceleration information detected by the inertial sensor unit.
  • a collision judging module which is used to judge whether the robot system collides according to the acceleration instruction in the point instruction and the direction of the six-dimensional acceleration information detected by the inertial sensor unit.
  • the acceleration in the one-dimensional direction is opposite, it is judged that there is a collision, and a signal is sent to the fusion force command to modify the fusion force command; otherwise, it is judged that there is no collision, otherwise, the fusion force command is not corrected.
  • the collision judging module calculates the acceleration deviation value based on the acceleration command in the point command and the six-dimensional acceleration information detected by the inertial sensing unit, and if any of the dimensional values is greater than or equal to the preset threshold value, it will report to the The force command fusion module sends a stop operation command, and the fusion force command is set to 0, so that the drive unit stops running; otherwise, it sends a force maintenance command to the force command fusion module, and the fusion force command is set to Combined with the force command from the previous cycle, the drive unit enters the force holding state.
  • the core processing chip of the control unit can be a SOC-FPGA, Intel's CycloneV, which is integrated with a dual-core ARM Cortex-A9 processor and an FPGA processor.
  • the ARM Cortex-A9 processor One core runs the operating system, which is responsible for non-real-time or weak real-time tasks such as network communication, human-computer interaction, file system management, and motion planning modules; the other core of the ARM Cortex-A9 processor runs strong real-time tasks, including the overall acceleration control loop module , Single joint control loop module, force command fusion module; FPGA processor includes current control loop module, etc.
  • control unit may include a storage module for storing preset parameters, such as: a first weight coefficient, a second weight coefficient, a preset threshold, and the like.
  • the robot system and the control method of the robot system provided by the present invention realize the control of the multi-joint manipulator through the comprehensive application of the overall acceleration control loop, the single-joint control loop and the current control loop, and can hardly increase the In the case of low robot system cost, it can improve the terminal shaking phenomenon during the operation of the industrial robot and improve the working efficiency of the robot system; through the acceleration deviation and direction judgment, it can sensitively detect any joint in the multi-joint manipulator during operation.

Abstract

A control unit (300), used for outputting a current instruction to a driving unit (400) of each joint in a robot system according to an instruction. The control unit (300) comprises: a motion planning module (310) generating a point position instruction according to a motion instruction for planning a motion trajectory of the robot system; an overall acceleration control loop module (320) used for generating a first force instruction for each joint on the basis of the point position instruction and acceleration information of any point in the robot system; a single-joint control loop module (330) used for generating a second force instruction for each joint on the basis of the point position instruction and position information of each joint in the robot system; a force instruction fusion module (340) used for calculating and generating a force fusion instruction for each joint on the basis of the first force instruction and the second force instruction; and a current control loop module (350) used for generating a current instruction for driving the driving unit (400) according to the force fusion instruction.

Description

一种机器人系统的控制单元、机器人系统及机器人系统的控制方法A control unit for a robot system, a robot system, and a control method for the robot system 技术领域technical field
本发明属于工业机器人领域,具体涉及一种机器人系统的控制单元、机器人系统及机器人系统的控制方法。The invention belongs to the field of industrial robots, and in particular relates to a control unit of a robot system, a robot system and a control method of the robot system.
背景技术Background technique
工业机器人是广泛用于工业领域的多关节机械手或多自由度的机器装置,具有一定的自动性,可依靠自身的动力能源和控制能力实现各种工业加工制造功能,被广泛应用于电子、物流、化工等各个工业领域之中。Industrial robots are multi-joint manipulators or multi-degree-of-freedom machine devices widely used in the industrial field. They have certain automation and can realize various industrial processing and manufacturing functions by relying on their own power energy and control capabilities. They are widely used in electronics, logistics, etc. , chemical industry and other industrial fields.
现有的工业机器人系统,如:目前工业上较为典型的6关节串联协作机器人,由于操作性、安全性等方面的考虑,通常机械手臂连杆和各关节之间具有一定的柔性,且整体重量较轻,这导致在工业机器人在实际应用中,机械手臂存在抖动的可能,当整体运动速度较高的时候,机械手臂会在移动到目标位置后抖动较长时间,导致取放的精度下降、工作节拍较慢。Existing industrial robot systems, such as the typical 6-joint series collaborative robot in the industry, usually have a certain degree of flexibility between the connecting rod of the mechanical arm and each joint due to considerations of operability and safety, and the overall weight Lighter, which leads to the possibility of shaking of the mechanical arm in the practical application of industrial robots. When the overall movement speed is high, the mechanical arm will shake for a long time after moving to the target position, resulting in a decrease in the accuracy of pick and place. The working tempo is slow.
此外,现有的工业机器人主要通过机械手臂中的关节电机电流反馈来判断机械手臂是否发生了碰撞,这种方式不够灵敏,容易出现误判断,也容易带来安全隐患。In addition, existing industrial robots mainly judge whether the robot arm has collided with the current feedback of the joint motor in the robot arm. This method is not sensitive enough, and it is prone to misjudgment and potential safety hazards.
行业现有的技术方案中,通过在机械手臂的各关节处设置位移、速度、力传感器,通过多个传感器的反馈,分别对各关节进行精确控制,并判断运行过程中是否发生碰撞。引入多个传感器形成的反馈回路,可以改善单纯由电机电流反馈带来的技术缺陷,但另一方面,将大大增加机器人系统控制环路的计算量,此外,现有的力传感器成本较高,在多关节机械臂的每个关节处增加力传感器会提升整个机器人系统的成本。In the existing technical solutions in the industry, by setting displacement, speed, and force sensors at each joint of the robot arm, each joint is precisely controlled through the feedback of multiple sensors, and whether a collision occurs during operation is judged. Introducing a feedback loop formed by multiple sensors can improve the technical defects caused by the motor current feedback alone, but on the other hand, it will greatly increase the amount of calculations in the control loop of the robot system. In addition, the cost of the existing force sensor is relatively high. Adding force sensors at each joint of an articulated manipulator increases the cost of the overall robotic system.
发明内容Contents of the invention
由于现有技术方案的机器人控制系统在实际应用中存在上述的技术问题,本发明目的在于提供一种控制单元、机器人系统及机器人系统的控制方法,以解决现有技术方案中存在的上述技术问题,在改善机械手臂的末端抖动,实现灵敏的碰撞检测的同 时,避免控制环路的计算量增加,增强控制系统的鲁棒性,在有效控制机器人系统成本的条件下,提高系统的工作效率。Due to the above-mentioned technical problems in the actual application of the robot control system of the prior art solution, the object of the present invention is to provide a control unit, a robot system and a control method of the robot system to solve the above-mentioned technical problems existing in the prior art solution , while improving the end shake of the mechanical arm and realizing sensitive collision detection, it avoids the increase of the calculation amount of the control loop, enhances the robustness of the control system, and improves the working efficiency of the system under the condition of effectively controlling the cost of the robot system.
本发明提供的机器人系统的技术方案具体包括:The technical scheme of the robot system provided by the present invention specifically includes:
一种控制单元,用于包含多关节的机器人系统,根据指令向所述机器人系统中各关节的驱动单元输出电流指令,所述控制单元包括:A control unit, used in a robot system including multiple joints, outputs current instructions to the drive units of each joint in the robot system according to instructions, and the control unit includes:
运动规划模块,根据指令生成点位指令,用于所述机器人系统的运动轨迹规划;A motion planning module generates a point instruction according to the instruction, which is used for the motion trajectory planning of the robot system;
整体加速度控制环模块,用于基于所述点位指令与所述机器人系统中任一点的加速度信息生成各关节的第一力指令;The overall acceleration control loop module is used to generate the first force command of each joint based on the point command and the acceleration information of any point in the robot system;
单关节控制环模块,用于基于所述点位指令与所述机器人系统各关节位置信息生成各关节的第二力指令;A single-joint control loop module, configured to generate a second force command for each joint based on the point position command and the position information of each joint of the robot system;
力指令融合模块,用于基于所述第一力指令和所述第二力指令,计算生成各关节的融合力指令;A force command fusion module, configured to calculate and generate a fusion force command for each joint based on the first force command and the second force command;
电流控制环模块,用于根据所述融合力指令生成驱动所述驱动单元的电流指令。A current control loop module, configured to generate a current command to drive the driving unit according to the fusion force command.
优选的,所述单关节控制环模块包括:运动学逆解模块,用于基于所述点位指令,生成各关节的关节目标位置;位置控制环模块,用于基于所述点位指令、所述关节目标位置,生成关节速度指令;速度控制环模块,用于基于所述关节速度指令与所述关节位置信息,生成第二力指令。Preferably, the single-joint control loop module includes: a kinematics inverse solution module, used to generate the joint target position of each joint based on the point instruction; a position control loop module, used to generate the joint target position based on the point instruction, the The joint target position is used to generate a joint speed command; the speed control loop module is used to generate a second force command based on the joint speed command and the joint position information.
优选的,所述控制单元还包括:碰撞判断模块,用于根据所述点位指令、所述加速度信息,判断所述机器人系统是否出现碰撞,当判断出现碰撞时,向所述力指令融合模块发出信号,修正所述融合力指令;反之则不修正所述融合力指令。Preferably, the control unit further includes: a collision judging module, used to judge whether the robot system collides according to the point command and the acceleration information, and when it is judged that a collision occurs, send a message to the force command fusion module sending a signal to modify the fusion power command; otherwise, not to modify the fusion power command.
优选的,所述控制单元还包括预设阈值,当判断出现碰撞时,所述碰撞判断模块基于所述点位指令与所述加速度信息计算各关节加速度偏差值,若其中有任一维度数值大于等于所述预设阈值时,向所述力指令融合模块发送停止运行指令,将所述融合力指令设置为0,使所述驱动单元停止运行;反之,则向所述力指令融合模块发送力保持指令,将所述融合力指令设置为前一周期的融合力指令,使所述驱动单元进入力保持状态。Preferably, the control unit further includes a preset threshold. When it is judged that a collision occurs, the collision judgment module calculates the acceleration deviation value of each joint based on the point command and the acceleration information, if any dimension value is greater than When it is equal to the preset threshold, send a stop operation command to the force command fusion module, set the fusion force command to 0, and stop the drive unit; otherwise, send a force command to the force command fusion module Hold the instruction, set the fusion force instruction as the fusion force instruction of the previous cycle, and make the drive unit enter the force holding state.
优选的,所述控制单元还包含储存模块,用于储存预设的参数。Preferably, the control unit further includes a storage module for storing preset parameters.
优选的,所述控制单元还包含通信预处理模块,用于将所述控制单元接收的外部信息进行预处理;所述通信预处理模块包含接口寄存器,用于存储预处理后的数据。Preferably, the control unit further includes a communication preprocessing module for preprocessing the external information received by the control unit; the communication preprocessing module includes an interface register for storing preprocessed data.
优选的,所述控制单元集成在一块芯片中。Preferably, the control unit is integrated into one chip.
优选的,所述芯片的集成有双核或多核处理器和FPGA处理器,控制单元运行时,所述运动规划模块在所述双核或多核处理器的一个核运行;所述整体加速度控制环模块、所述单关节控制环模块、所述力指令融合模块在所述双核或多核处理器的另一个核运行;所述电流控制环模块在FPGA处理器运行。Preferably, the chip is integrated with a dual-core or multi-core processor and an FPGA processor, and when the control unit is running, the motion planning module runs on a core of the dual-core or multi-core processor; the overall acceleration control loop module, The single-joint control loop module and the force instruction fusion module run on another core of the dual-core or multi-core processor; the current control loop module runs on an FPGA processor.
本发明还提供了一种机器人系统,包括:The present invention also provides a robot system, comprising:
机器人本体,包括一多关节机械臂,以及多个驱动单元,所述驱动单元的数量与所述多关节机械臂的关节数量对应,分别设置于所述多关节机械臂的各关节上,用于驱动各关节转向或移动;The robot body includes a multi-joint mechanical arm, and a plurality of drive units, the number of the drive units corresponds to the number of joints of the multi-joint mechanical arm, and they are respectively arranged on each joint of the multi-joint mechanical arm for Drive each joint to turn or move;
多个位置传感器,所述位置传感器的数量与所述多关节机械臂的关节数量对应,分别设置在所述多关节机械臂的各关节处,用于检测各关节的关节位置信息;A plurality of position sensors, the number of the position sensors corresponds to the number of joints of the multi-joint manipulator, which are respectively arranged at each joint of the multi-joint manipulator, and are used to detect the joint position information of each joint;
一惯性传感单元,所述惯性传感单元设置于所述多关节机械臂上,用于检测所述惯性传感单元设置位置的加速度信息;An inertial sensing unit, the inertial sensing unit is arranged on the multi-joint mechanical arm, and is used to detect the acceleration information of the installation position of the inertial sensing unit;
所述机器人系统包括前述任一项的控制单元。The robotic system includes the control unit of any one of the preceding items.
优选的,所述点位指令包括所述机器人系统中各关节的初始关节位置指令、初始关节速度指令以及在笛卡尔空间的位置指令、速度指令、加速度指令。Preferably, the point instruction includes an initial joint position instruction, an initial joint velocity instruction, and a position instruction, a velocity instruction, and an acceleration instruction in Cartesian space of each joint in the robot system.
优选的,所述整体加速度控制环模块,根据所述在笛卡尔空间的加速度指令和所述加速度信息的差值,计算所述多关节机械臂的整体力偏差值及各关节的关节力偏差值,所述各关节的第一力指令基于所述关节力偏差值及前一周期的力指令计算生成。Preferably, the overall acceleration control loop module calculates the overall force deviation value of the multi-joint manipulator and the joint force deviation value of each joint according to the difference between the acceleration command in the Cartesian space and the acceleration information , the first force command of each joint is calculated and generated based on the joint force deviation value and the force command of the previous cycle.
优选的,所述位置传感器为电机编码器。Preferably, the position sensor is a motor encoder.
此外,本发明还提供了一种机器人系统的控制方法,In addition, the present invention also provides a control method of the robot system,
所述机器人系统包括:The robotic system includes:
机器人本体,包括一多关节机械臂,以及多个驱动单元,用于驱动各关节转向或移动;The robot body includes a multi-joint mechanical arm and multiple drive units for driving each joint to turn or move;
多个位置传感器,用于检测各关节的关节位置信息;A plurality of position sensors are used to detect the joint position information of each joint;
一惯性传感单元,所述惯性传感单元设置于所述多关节机械臂的前端,用于检测设置位置的惯性传感单元加速度信息;An inertial sensing unit, the inertial sensing unit is arranged at the front end of the multi-joint mechanical arm, and is used to detect the acceleration information of the inertial sensing unit at the setting position;
控制单元,用于根据指令向所述多关节机器人系统中各关节的驱动单元输出电流指令,a control unit, configured to output a current command to the drive unit of each joint in the multi-joint robot system according to the command,
所述控制方法包括:The control methods include:
运动轨迹规划步骤,根据指令生成点位指令;In the motion trajectory planning step, a point command is generated according to the command;
运行整体加速度控制环步骤,基于所述点位指令与所述机器人系统中任一点的加速度信息生成各关节的第一力指令;Running the overall acceleration control loop step, generating a first force command for each joint based on the point command and the acceleration information of any point in the robot system;
运行单关节控制环步骤,基于所述点位指令与所述机器人系统各关节位置信息生成各关节的第二力指令;Running the single joint control loop step, generating a second force command for each joint based on the point command and the position information of each joint of the robot system;
力指令融合步骤,基于所述第一力指令和所述第二力指令,计算生成各关节的融合力指令;The force command fusion step is to calculate and generate fusion force commands for each joint based on the first force command and the second force command;
运行电流控制环步骤,基于所述融合力指令生成用于驱动所述驱动单元的电流指令。Running a current control loop step to generate a current command for driving the drive unit based on the fusion force command.
优选的,其中所述点位指令包括所述机器人系统中各关节的初始关节位置指令、初始关节速度指令以及在笛卡尔空间的位置指令、速度指令、加速度指令。Preferably, the point commands include initial joint position commands, initial joint speed commands, and position commands, speed commands, and acceleration commands in Cartesian space for each joint in the robot system.
优选的,所述运行整体加速度控制环步骤包括:根据所述在笛卡尔空间的加速度指令和所述加速度信息的差值,计算所述多关节机械臂的整体力偏差值及各关节的关节力偏差值,所述各关节的第一力指令基于关节力偏差值及前一周期的力指令计算生成。Preferably, the step of running the overall acceleration control loop includes: calculating the overall force deviation value of the multi-joint manipulator and the joint force of each joint according to the difference between the acceleration command in the Cartesian space and the acceleration information The deviation value, the first force command of each joint is calculated and generated based on the joint force deviation value and the force command of the previous cycle.
优选的,所述运行单关节控制环步骤包括:运动学逆解步骤,基于所述点位指令,生成各关节的关节目标位置;运行位置控制环步骤,基于所述点位指令、所述关节目标位置,生成关节速度指令;运行速度控制环步骤,基于所述关节速度指令与所述关节位置信息,生成第二力指令。Preferably, the step of running the single-joint control loop includes: a kinematics inverse solution step, based on the point command, generating the joint target position of each joint; running a position control loop step, based on the point command, the joint The target position is to generate a joint speed command; the step of running the speed control loop is to generate a second force command based on the joint speed command and the joint position information.
优选的,所述控制方法还包括:碰撞判断步骤,根据所述点位指令、所述加速度信息,判断所述机器人系统是否出现碰撞,若判断出现碰撞,向所述力指令融合模块发出信号,修正所述融合力指令,若判断未出现碰撞,不修正所述融合力指令。Preferably, the control method further includes: a collision judging step, judging whether the robot system collides according to the point command and the acceleration information, and if judging that a collision occurs, sending a signal to the force command fusion module, The fusion force command is corrected, and if no collision is determined, the fusion force command is not corrected.
优选的,所述碰撞判断步骤中还包括,基于所述在笛卡尔空间的加速度信息,计算各关节加速度信息,判断所述点位指令与所述各关节加速度信息的方向是否相同,当其中任一维度方向上的加速度相反时,则判断出现碰撞,反之则判断未出现碰撞。Preferably, the collision judging step further includes, based on the acceleration information in the Cartesian space, calculating the acceleration information of each joint, and judging whether the directions of the point command and the acceleration information of each joint are the same, when any When the accelerations in the one-dimensional direction are opposite, it is judged that there is a collision, otherwise, it is judged that there is no collision.
优选的,所述碰撞判断步骤包括:基于所述点位指令与各关节加速度信息计算加速度偏差值,若其中有任一维度数值大于等于预设阈值时,向所述力指令融合模块发 送停止运行指令,将所述融合力指令设置为0,使所述驱动单元停止运行;反之,则向所述力指令融合模块发送力保持指令,将所述融合力指令设置为前一周期的融合力指令,使所述驱动单元进入力保持状态。Preferably, the collision judging step includes: calculating the acceleration deviation value based on the point command and the acceleration information of each joint, and if any of the dimension values is greater than or equal to a preset threshold value, sending a stop operation to the force command fusion module command, set the fusion force command to 0, so that the drive unit stops running; otherwise, send a force maintenance command to the force command fusion module, and set the fusion force command as the fusion force command of the previous cycle , so that the drive unit enters the force holding state.
通过应用本发明提出的一种机器人系统及机器人系统的控制方法,能够从源头上解决现有技术中存在的问题,带来以下优点:By applying a robot system and a control method of the robot system proposed by the present invention, the problems existing in the prior art can be solved from the source, and the following advantages are brought:
第一,本发明提供的控制单元、机器人系统及机器人系统的控制方法,通过综合应用整体加速度控制环模块、单关节控制环模块、力指令融合模块及电流控制环模块,实现对多关节机械臂的控制,能够在几乎不增加机器人系统成本的情况下,改善工业机器人运行过程中的末端抖动现象,提高机器人系统的工作效率;First, the control unit, the robot system and the control method of the robot system provided by the present invention realize the control of the multi-joint manipulator through the comprehensive application of the overall acceleration control loop module, single joint control loop The control can improve the end shake phenomenon of the industrial robot during the operation process and improve the working efficiency of the robot system without increasing the cost of the robot system;
第二,本发明提供的控制单元、机器人系统及机器人系统的控制方法,通过加速度偏差和方向判断,能够灵敏的检测出多关节机械臂中任意关节在运行过程中出现的碰撞,避免出现误判断,并且在检测到碰撞后,及时进入力保持状态或停止运转状态,从而减少发生事故的风险;Second, the control unit, the robot system and the control method of the robot system provided by the present invention can sensitively detect the collision of any joint in the multi-joint manipulator during operation through the acceleration deviation and direction judgment, so as to avoid misjudgment , and after a collision is detected, enter the force holding state or stop operation state in time, thereby reducing the risk of accidents;
第三,本发明提供的机控制单元、机器人系统及机器人系统的控制方法,在每个控制环路中,不需要进行任何矩阵求逆运算,控制环路的计算量小,有利于提高机器人系统整体的实时性;Third, the machine control unit, the robot system, and the control method of the robot system provided by the present invention do not need to perform any matrix inversion operation in each control loop, and the calculation amount of the control loop is small, which is conducive to improving the robot system. Overall real-time;
第四,本发明提供的控制单元、机器人系统及机器人系统的控制方法,通过对多关节机械臂前端的加速度进行检测和比对,并分解到各关节的控制环,无需由速度信息差分计算加速度信息,避免在差分过程使检测得到的速度信息中包含的噪声进一步放大,从而增强机器人系统的鲁棒性。Fourth, the control unit, the robot system and the control method of the robot system provided by the present invention detect and compare the acceleration of the front end of the multi-joint manipulator, and decompose it into the control loop of each joint, without calculating the acceleration by differential velocity information Information, to avoid further amplification of the noise contained in the detected speed information in the differential process, thereby enhancing the robustness of the robot system.
对熟悉本技术领域的人来说,在结合附图阅读本说明书的以下部分之后,这些和其它目的和优点将会变得更加明显。These and other objects and advantages will become more apparent to those skilled in the art after reading the following portions of this specification in conjunction with the accompanying drawings.
附图说明Description of drawings
本发明的以上发明内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。需要说明的是,附图仅作为所请求保护的发明的示例。在附图中,相同的附图标记代表相同或类似的元素。The above summary of the invention and the following specific implementation methods of the present invention will be better understood when read in conjunction with the accompanying drawings. It should be noted that the drawings are merely examples of the claimed invention. In the drawings, the same reference numerals represent the same or similar elements.
图1所示为本发明机器人系统的模块示意图。FIG. 1 is a block diagram of the robot system of the present invention.
图2所示为本发明机器人系统的控制方法的流程示意图。FIG. 2 is a schematic flowchart of the control method of the robot system of the present invention.
附图标记如下:The reference signs are as follows:
100、位置传感器100. Position sensor
200、惯性传感单元200. Inertial sensing unit
300、控制单元300, control unit
310、运动规划模块310. Motion Planning Module
320、整体加速度控制环模块320. Overall acceleration control loop module
330、单关节控制环模块330. Single joint control loop module
331、运动学逆解模块331. Kinematics inverse solution module
332、位置控制环332. Position control loop
333、速度控制环333. Speed control loop
340、力指令融合模块340. Force Command Fusion Module
350、电流控制环模块350. Current control loop module
360、碰撞判断模块360, collision judgment module
370、储存器370: storage
380、通信预处理模块380. Communication preprocessing module
400、驱动单元400, drive unit
具体实施方式detailed description
以下在具体实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的说明书、权利要求及附图,本领域技术人员可轻易地理解本发明相关的目的及优点。The detailed features and advantages of the present invention are described in detail below in the specific embodiments, the content of which is sufficient to enable any person skilled in the art to understand the technical content of the present invention and implement it accordingly, and according to the specification, claims and drawings disclosed in this specification , those skilled in the art can easily understand the related objects and advantages of the present invention.
图1~图2示出了本发明提供的控制单元、机器人系统及机器人系统的控制方法的一种优选的实施方案。1 to 2 show a preferred embodiment of the control unit, the robot system and the control method of the robot system provided by the present invention.
其中,图1示出了本发明机器人系统的模块示意图。Wherein, Fig. 1 shows a schematic diagram of modules of the robot system of the present invention.
一种机器人系统,包括:A robotic system comprising:
机器人本体,包括一多关节机械臂(图中未示出),以及多个驱动单元400,数量与多关节机械臂的关节数量对应,分别设置于多关节机械臂的各关节上,用于驱动各关节转向或移动;The robot body includes a multi-joint mechanical arm (not shown in the figure), and a plurality of drive units 400, the number of which corresponds to the number of joints of the multi-joint mechanical arm, which are respectively arranged on each joint of the multi-joint mechanical arm for driving Each joint turns or moves;
多个位置传感器100,数量与多关节机械臂的关节数量对应,分别设置在多关节机械臂的各关节处,用于检测各关节的关节位置信息;A plurality of position sensors 100, the number of which corresponds to the number of joints of the multi-joint manipulator, are respectively arranged at each joint of the multi-joint manipulator for detecting the joint position information of each joint;
一惯性传感单元200,设置于多关节机械臂的前端,用于检测惯性传感单元设置位置的加速度信息;An inertial sensing unit 200, arranged at the front end of the multi-joint manipulator, for detecting the acceleration information of the position where the inertial sensing unit is set;
一控制单元300,用于根据指令向机器人系统中各关节的驱动单元输出电流指令,其中包括:A control unit 300, configured to output current commands to the drive units of each joint in the robot system according to the commands, including:
运动规划模块310,根据指令生成点位指令,用于机器人系统的运动轨迹规划。在一个实施例中,点位指令包括机器人系统中各关节的初始关节位置指令、初始关节速度指令以及在笛卡尔空间的位置指令、速度指令、加速度指令。The motion planning module 310 generates point and position commands according to the commands, which are used for motion trajectory planning of the robot system. In one embodiment, the point instruction includes an initial joint position instruction, an initial joint velocity instruction, and a position instruction, a velocity instruction, and an acceleration instruction in Cartesian space of each joint in the robot system.
整体加速度控制环模块320,用于基于点位指令与机器人系统中任一点的加速度信息生成各关节的第一力指令。在一个实施例中,整体加速度控制环模块根据惯性传感单元加速度指令和惯性传感单元检测的加速度信息的差值,计算多关节机械臂的整体力偏差值,通过力雅克比矩阵,分解计算多关机械臂中各关节的关节力偏差值,基于关节力偏差值及前一周期的力指令,生成各关节的第一力指令。The overall acceleration control loop module 320 is used to generate the first force command of each joint based on the point command and the acceleration information of any point in the robot system. In one embodiment, the overall acceleration control loop module calculates the overall force deviation value of the multi-joint manipulator according to the difference between the acceleration command of the inertial sensing unit and the acceleration information detected by the inertial sensing unit, and decomposes the calculation through the force Jacobian matrix The joint force deviation value of each joint in the multi-stage robotic arm is based on the joint force deviation value and the force command of the previous cycle to generate the first force command of each joint.
单关节控制环模块330,用于基于点位指令与机器人系统各关节位置信息生成各关节的第二力指令。在一个实施例中,单关节控制环模块330进一步包括:The single joint control loop module 330 is configured to generate a second force command for each joint based on the point position command and the position information of each joint of the robot system. In one embodiment, the single joint control loop module 330 further includes:
运动学逆解模块331,用于基于点位指令,生成各关节的关节目标位置。在一个实施例中,运动学逆解模块331根据点位指令中的关节位置指令,通过运动学逆解算法,计算生成各关节的关节目标位置。The kinematics inverse solution module 331 is configured to generate the joint target position of each joint based on the point instruction. In one embodiment, the kinematics inverse solution module 331 calculates and generates the joint target position of each joint through a kinematics inverse solution algorithm according to the joint position command in the point position command.
位置控制环模块332,用于基于点位指令、关节目标位置,生成关节速度指令。在一个实施例中,位置控制环模块332根据关节目标位置和关节位置信息的差值、初始关节速度指令生成关节速度指令。The position control loop module 332 is configured to generate joint speed commands based on point commands and joint target positions. In one embodiment, the position control loop module 332 generates the joint speed command according to the difference between the joint target position and the joint position information, and the initial joint speed command.
速度控制环模块333,用于基于关节速度指令与关节位置信息,生成第二力指令。在一个实施例中,速度控制环模块333,根据第二关节速度指令与关节位置信息的差分数值,生成第二力指令。The speed control loop module 333 is configured to generate a second force command based on the joint speed command and the joint position information. In one embodiment, the speed control loop module 333 generates the second force command according to the difference between the second joint speed command and the joint position information.
力指令融合模块340,用于基于第一力指令和第二力指令,计算生成各关节的融合力指令。在一个实施例中,力指令融合模块对第一力指令和第二力指令,基于预设权重系数进行加权求和计算,生成融合力指令。The force command fusion module 340 is configured to calculate and generate a fusion force command for each joint based on the first force command and the second force command. In one embodiment, the force command fusion module performs a weighted sum calculation on the first force command and the second force command based on a preset weight coefficient to generate a fusion force command.
电流控制环模块350,用于根据融合力指令生成驱动驱动单元的电流指令。The current control loop module 350 is configured to generate a current command for driving the drive unit according to the fusion force command.
在一个实施例中,控制单元300还可以包括碰撞判断模块360,用于根据点位指令、加速度信息,判断所述机器人系统是否出现碰撞,当判断出现碰撞时,向所述力指令融合模块发出信号,修正所述融合力指令;反之则不修正所述融合力指令。In one embodiment, the control unit 300 may further include a collision judging module 360, which is used to judge whether the robot system collides according to the point command and acceleration information, and when it is judged that a collision occurs, send a message to the force command fusion module signal to modify the fusion power command; otherwise, the fusion power command is not modified.
在一个实施例中,所述控制单元还包括预设阈值,当判断出现碰撞时,所述碰撞判断模块基于所述点位指令与加速度信息计算加速度偏差值,若其中有任一维度数值大于等于所述预设阈值时,向所述力指令融合模块发送停止运行指令,将所述融合力指令设置为0,使所述驱动单元停止运行;反之,则向所述力指令融合模块发送力保持指令,将所述融合力指令设置为前一周期的融合力指令,使所述驱动单元进入力保持状态。In one embodiment, the control unit further includes a preset threshold value. When it is judged that a collision occurs, the collision judging module calculates an acceleration deviation value based on the point command and acceleration information, if any dimension value is greater than or equal to When the preset threshold is reached, send a stop operation command to the force command fusion module, set the fusion force command to 0, and stop the drive unit; otherwise, send a force hold command to the force command fusion module command, setting the fusion force command as the fusion force command of the previous cycle, so that the drive unit enters a force holding state.
在一个实施例中,控制单元300还可以包括储存器370,用于储存预设的参数。在一个实施例中,储存器370储存有预设权重系数、预设阈值。In one embodiment, the control unit 300 may further include a storage 370 for storing preset parameters. In one embodiment, the storage 370 stores preset weight coefficients and preset thresholds.
在一个实施例中,控制单元300还可以包括通信预处理模块380,用于将位置传感器和惯性传感单元向控制单元300输入的数据进行预处理,并将预处理后的数据存放在通信预处理模块380的接口寄存器中。In one embodiment, the control unit 300 may further include a communication preprocessing module 380, configured to preprocess the data input from the position sensor and the inertial sensing unit to the control unit 300, and store the preprocessed data in the communication preprocessing module 380. In the interface register of the processing module 380.
图2示出了本发明机器人系统的控制方法的流程示意图。Fig. 2 shows a schematic flowchart of the control method of the robot system of the present invention.
机器人系统包括:机器人本体,包括一多关节机械臂,以及多个驱动单元,用于驱动各关节转向或移动;多个位置传感器,用于检测各关节的关节位置信息;一惯性传感单元,所述惯性传感单元设置于所述多关节机械臂的前端,用于检测设置位置的惯性传感单元加速度信息;控制单元,用于根据指令向所述多关节机器人系统中各关节的驱动单元输出电流指令。The robot system includes: the robot body, including a multi-joint mechanical arm, and multiple drive units, used to drive each joint to turn or move; multiple position sensors, used to detect the joint position information of each joint; an inertial sensing unit, The inertial sensing unit is arranged at the front end of the multi-joint robot arm, and is used to detect the acceleration information of the inertial sensing unit at the setting position; the control unit is used to send the driving unit of each joint in the multi-joint robot system Output current command.
控制方法包括:Control methods include:
步骤S100,运动轨迹规划,根据用户或其他外部指令生成点位指令。在一个实施例中,点位指令包括机器人系统中各关节在笛卡尔空间的初始关节位置指令、初始关节速度指令以及惯性传感单元的设置位置在笛卡尔空间的惯性传感单元速度指令、惯性传感单元加速度指令。Step S100, motion trajectory planning, generating point and position instructions according to user or other external instructions. In one embodiment, the point instruction includes the initial joint position instruction and the initial joint velocity instruction of each joint in the robot system in Cartesian space, and the inertial sensor unit speed instruction and inertial sensor unit setting position in Cartesian space. Sensing unit acceleration command.
步骤S200,运行整体加速度控制环步骤,用于基于所述点位指令与所述机器人系统惯性传感单元检测到的加速度信息生成各关节的第一力指令。Step S200, running the overall acceleration control loop step, used to generate the first force command of each joint based on the point command and the acceleration information detected by the inertial sensor unit of the robot system.
在一个实施例中,步骤S200进一步包括:步骤S210,根据所述惯性传感单元加速度指令和所述惯性传感单元检测的加速度信息的差值,计算所述多关节机械臂的整体力偏差值。步骤S220,通过力雅克比矩阵,分解计算所述多关机械臂中各关节的关节力偏差值。步骤S230,基于所述关节力偏差值及前一所述周期的力指令,生成各关节的第一力指令。In one embodiment, step S200 further includes: step S210, calculating the overall force deviation value of the multi-joint manipulator according to the difference between the acceleration command of the inertial sensing unit and the acceleration information detected by the inertial sensing unit . Step S220, decompose and calculate the joint force deviation value of each joint in the multi-joint manipulator through the force Jacobian matrix. Step S230, generating a first force command for each joint based on the joint force deviation value and the force command of the previous cycle.
步骤S300,运行单关节控制环步骤,用于基于所述点位指令与所述机器人系统各关节位置信息生成各关节的第二力指令。Step S300, running a single-joint control loop step for generating a second force command for each joint based on the point position command and the position information of each joint of the robot system.
在一个实施例中,步骤S300进一步包括:步骤S310,基于所述点位指令,通过运动学逆解算法,生成各关节的关节目标位置。步骤S320,根据关节目标位置和关节位置信息的差值、初始关节速度指令生成关节速度指令。步骤S330,基于所述关节速度指令与所述关节位置信息,生成第二力指令。In one embodiment, step S300 further includes: step S310, based on the point instruction, through a kinematics inverse solution algorithm, to generate the joint target position of each joint. Step S320, generating a joint speed command according to the difference between the joint target position and the joint position information, and the initial joint speed command. Step S330, generating a second force command based on the joint speed command and the joint position information.
步骤S400,力指令融合步骤,基于所述第一力指令和所述第二力指令,计算生成各关节的融合力指令。在一个实施例中,力指令融合模块对第一力指令和第二力指令,基于预设权重系数进行加权求和计算,生成融合力指令。Step S400, the force instruction fusion step, based on the first force instruction and the second force instruction, calculate and generate fusion force instructions for each joint. In one embodiment, the force command fusion module performs a weighted sum calculation on the first force command and the second force command based on a preset weight coefficient to generate a fusion force command.
步骤S500,运行电流控制环步骤,基于所述融合力指令生成用于驱动所述驱动单元的电流指令。Step S500, running a current control loop step, generating a current command for driving the driving unit based on the fusion force command.
在一个实施例中,控制方法还包括:步骤S600,碰撞判断步骤,根据所述点位指令、所述加速度信息,判断所述机器人系统是否出现碰撞,若判断出现碰撞,向所述力指令融合模块发出信号,修正所述融合力指令,若判断未出现碰撞,不修正所述融合力指令。In one embodiment, the control method further includes: step S600, a collision judgment step, judging whether the robot system has a collision according to the point instruction and the acceleration information, and if it is judged that a collision occurs, merge the force instruction with the The module sends out a signal to modify the fusion force command, and if no collision is determined, the fusion force command is not corrected.
在一个实施例中,步骤S600,碰撞判断步骤中还包括,基于所述惯性传感单元加速度信息,计算各关节加速度信息,判断所述点位指令与所述各关节加速度信息的方向是否相同,当其中任一维度方向上的加速度相反时,则判断出现碰撞,反之则判断未出现碰撞。In one embodiment, step S600, the collision judging step further includes, based on the acceleration information of the inertial sensing unit, calculating the acceleration information of each joint, and judging whether the directions of the point command and the acceleration information of each joint are the same, When the accelerations in any one of the dimensional directions are opposite, it is judged that there is a collision, otherwise it is judged that there is no collision.
在一个实施例中,步骤S600,碰撞判断步骤还包括:基于所述点位指令与各关节加速度信息计算加速度偏差值,若其中有任一维度数值大于等于预设阈值时,向所述力指令融合模块发送停止运行指令,将所述融合力指令设置为0,使所述驱动单元停 止运行;反之,则向所述力指令融合模块发送力保持指令,将所述融合力指令设置为前一周期的融合力指令,使所述驱动单元进入力保持状态。In one embodiment, step S600, the collision judgment step further includes: calculating the acceleration deviation value based on the point command and the acceleration information of each joint, and if any dimension value is greater than or equal to a preset threshold value, the force command The fusion module sends a stop operation command, sets the fusion force command to 0, and stops the drive unit; otherwise, sends a force maintenance command to the force command fusion module, and sets the fusion force command to the previous Combined with the force command periodically, the drive unit enters into a force holding state.
本发明提供的机器人系统和机器人系统的控制方法的另一优选的实施方式,包括:Another preferred embodiment of the robot system and the control method of the robot system provided by the present invention include:
一种六关节工业机器人,包括:A six-joint industrial robot, comprising:
机器人本体,包括一六关节机械臂,以及六个驱动单元,驱动单元包含功率器件、永磁同步电机,谐波减速器等,分别设置于所述六关节机械臂的各关节上,用于驱动各关节转向或移动。The robot body includes a six-joint robot arm and six drive units, the drive units include power devices, permanent magnet synchronous motors, harmonic reducers, etc., which are respectively arranged on each joint of the six-joint robot arm for driving Each joint turns or moves.
六个位置传感器,在一个实施例中,位置传感器为电机编码器,分别设置在多关节机械臂的各关节处,用于检测各关节的关节位置信息。Six position sensors, in one embodiment, the position sensors are motor encoders, which are respectively arranged at each joint of the multi-joint manipulator, and are used to detect the joint position information of each joint.
一惯性传感单元,在一个实施例中,惯性传感单元为一块专用电路板,安装在机械臂第五关节处,专用电路板上有IO电路、惯性传感器和微处理器芯片。An inertial sensing unit. In one embodiment, the inertial sensing unit is a dedicated circuit board installed at the fifth joint of the mechanical arm. The dedicated circuit board has an IO circuit, an inertial sensor and a microprocessor chip.
一控制单元,根据指令向所述机器人系统中各关节的驱动单元输出电流指令,包括:A control unit that outputs current commands to the drive units of each joint in the robot system according to the commands, including:
运动规划模块,按照一定的时间间隔生成一系列的点位指令,在一个实施例中,点位指令包含:The motion planning module generates a series of point and position instructions according to a certain time interval. In one embodiment, the point and position instructions include:
a.机器人在笛卡尔空间的位置、速度和加速度。a. The position, velocity and acceleration of the robot in Cartesian space.
b.机器人各个关节的位置,速度。b. The position and speed of each joint of the robot.
整体加速度控制环模块,用于基于所述点位指令与所述惯性传感单元检测到的加速度信息生成各关节的第一力指令,在一个实施例中,整体加速度控制环模块按照以下机制运行:The overall acceleration control loop module is used to generate the first force command of each joint based on the point command and the acceleration information detected by the inertial sensor unit. In one embodiment, the overall acceleration control loop module operates according to the following mechanism :
由点位指令中惯性传感单元安装点在笛卡尔空间的6维加速度指令得到期望加速度,获取惯性传感器反馈的6维加速度信息,在两个加速度之间求差,将加速度差乘以增益,作为6维的笛卡尔空间力偏差。通过雅克比矩阵的转置与6维的笛卡尔空间力偏差相乘得到各个关节的力偏差值。由各关节的力偏差值与上一个周期的力指令求和,得到各关节第一力指令。在一个实施例中,可将设置位置较惯性传感单元更靠近机械臂末端(执行机构)的关节的第一力指令设置为0。The expected acceleration is obtained from the 6-dimensional acceleration command of the inertial sensor unit installation point in the Cartesian space in the point command, and the 6-dimensional acceleration information fed back by the inertial sensor is obtained. The difference between the two accelerations is calculated, and the acceleration difference is multiplied by the gain. As a Cartesian space force deviation in 6 dimensions. The force deviation value of each joint is obtained by multiplying the transposition of the Jacobian matrix and the 6-dimensional Cartesian space force deviation. The first force command of each joint is obtained by summing the force deviation value of each joint and the force command of the previous cycle. In one embodiment, the first force command of the joint whose position is closer to the end of the mechanical arm (executing mechanism) than the inertial sensing unit can be set to 0.
由于此步骤中,整体加速度控制环模块不需要求雅克比的逆矩阵,计算量较小,能够满足实时控制要求。Because in this step, the overall acceleration control loop module does not need to find the inverse matrix of the Jacobian, the calculation amount is small, and it can meet the real-time control requirements.
单关节控制环模块,用于基于所述点位指令与所述机器人系统各关节位置信息生成各关节的第二力指令;在一个实施例中,单关节控制环模块包括:A single-joint control loop module, configured to generate a second force command for each joint based on the point command and the position information of each joint of the robot system; in one embodiment, the single-joint control loop module includes:
运动学逆解模块,用于基于所述点位指令,生成各关节的关节目标位置;A kinematics inverse solution module, configured to generate the joint target position of each joint based on the point instruction;
位置控制环模块,将关节位置指令与电机编码器位置反馈做差,乘以增益得到速度指令,速度指令加上关节速度指令后发送给速度控制环模块;The position control loop module makes the difference between the joint position command and the motor encoder position feedback, multiplies it by the gain to obtain the speed command, and sends the speed command to the speed control loop module after adding the joint speed command;
速度控制环模块,将上述速度指令与电机编码器位置差分做差,乘以增益得各关节第二力指令。The speed control loop module makes a difference between the above speed command and the position difference of the motor encoder, and multiplies it by the gain to obtain the second force command of each joint.
力指令融合模块,用于基于所述第一力指令和所述第二力指令,计算生成各关节的融合力指令,在一个实施例中,力指令融合模块对各关节第一力指令和各关节第二力指令,基于预设权重系数进行加权求和计算,生成融合力指令,即采用公式:融合力指令=第一力指令*第一权重系数+第二力指令*第二权重系数。The force instruction fusion module is used to calculate and generate fusion force instructions for each joint based on the first force instruction and the second force instruction. In one embodiment, the force instruction fusion module performs the first force instruction and each The second force command of the joint is calculated based on the weighted summation of the preset weight coefficient to generate the fusion force command, that is, the formula: fusion force command = first force command * first weight coefficient + second force command * second weight coefficient is adopted.
电流控制环模块,用于根据所述融合力指令生成驱动所述驱动单元的电流指令。在一个实施例中,电流控制环模块将融合力指令换算成电流指令,并向驱动单元中的功率器件(如:IGBT、IPM等)输出驱动控制信号(如PWM信号)来驱动电机运转。A current control loop module, configured to generate a current command to drive the driving unit according to the fusion force command. In one embodiment, the current control loop module converts the fusion force instruction into a current instruction, and outputs a driving control signal (such as a PWM signal) to the power device (such as: IGBT, IPM, etc.) in the drive unit to drive the motor to run.
在一个实施例中,控制单元可以包括碰撞判断模块,用于根据点位指令中的加速度指令和惯性传感单元检测的六维加速度信息的方向,判断所述机器人系统是否出现碰撞,当其中任一维度方向上的加速度相反时,则判断出现碰撞,向所述力指令融合模块发出信号,修正所述融合力指令;反之则判断未出现碰撞,反之则不修正所述融合力指令。In one embodiment, the control unit may include a collision judging module, which is used to judge whether the robot system collides according to the acceleration instruction in the point instruction and the direction of the six-dimensional acceleration information detected by the inertial sensor unit. When the acceleration in the one-dimensional direction is opposite, it is judged that there is a collision, and a signal is sent to the fusion force command to modify the fusion force command; otherwise, it is judged that there is no collision, otherwise, the fusion force command is not corrected.
在一个实施例中,碰撞判断模块基于点位指令中的加速度指令和惯性传感单元检测的六维加速度信息计算加速度偏差值,若其中有任一维度数值大于等于预设阈值时,向所述力指令融合模块发送停止运行指令,将所述融合力指令设置为0,使所述驱动单元停止运行;反之,则向所述力指令融合模块发送力保持指令,将所述融合力指令设置为前一周期的融合力指令,使所述驱动单元进入力保持状态。In one embodiment, the collision judging module calculates the acceleration deviation value based on the acceleration command in the point command and the six-dimensional acceleration information detected by the inertial sensing unit, and if any of the dimensional values is greater than or equal to the preset threshold value, it will report to the The force command fusion module sends a stop operation command, and the fusion force command is set to 0, so that the drive unit stops running; otherwise, it sends a force maintenance command to the force command fusion module, and the fusion force command is set to Combined with the force command from the previous cycle, the drive unit enters the force holding state.
在一个实施例中,控制单元的核心处理芯片可以是一块SOC-FPGA,Intel的CycloneV,其中集成有双核ARM Cortex-A9处理器和FPGA处理器,控制单元运行时,ARM Cortex-A9处理器的一个核运行操作系统,负责网络通信,人机交互,文件系统管理,运动规划模块等非实时或弱实时任务;ARM Cortex-A9处理器的另一个核运行强实时任务,包括整体加速度控制环模块、单关节控制环模块,力指令融合模块;FPGA处理器包含电流控制环模块等。In one embodiment, the core processing chip of the control unit can be a SOC-FPGA, Intel's CycloneV, which is integrated with a dual-core ARM Cortex-A9 processor and an FPGA processor. When the control unit is running, the ARM Cortex-A9 processor One core runs the operating system, responsible for non-real-time or weak real-time tasks such as network communication, human-computer interaction, file system management, and motion planning modules; the other core of the ARM Cortex-A9 processor runs strong real-time tasks, including the overall acceleration control loop module , Single joint control loop module, force command fusion module; FPGA processor includes current control loop module, etc.
在一个实施例中,控制单元可以包括一储存模块,用于储存预设的参数,如:第一权重系数、第二权重系数、预设阈值等。In one embodiment, the control unit may include a storage module for storing preset parameters, such as: a first weight coefficient, a second weight coefficient, a preset threshold, and the like.
在一个实施例中,FPGA处理器包含通信预处理模块,将实时通信数据比如编码器和惯性传感器数据进行预处理,将结果放到指定的接口寄存器上,节省了双核ARM处理器的处理时间。In one embodiment, the FPGA processor includes a communication preprocessing module, which preprocesses real-time communication data such as encoder and inertial sensor data, and puts the result in a designated interface register, saving the processing time of the dual-core ARM processor.
本发明提供的机器人系统和机器人系统的控制方法的另一优选的实施方式,包括Another preferred embodiment of the robot system and the control method of the robot system provided by the present invention include
一六关节协作轻型机器人,包括:A six-joint collaborative lightweight robot, including:
机器人本体,包含一体化关节,以及多个驱动单元集成在每个关节中,其中包括48V永磁同步中空电机,谐波减速机,用于驱动各关节转向或移动。The robot body contains integrated joints, and multiple drive units are integrated in each joint, including a 48V permanent magnet synchronous hollow motor and a harmonic reducer, which are used to drive each joint to turn or move.
六个位置传感器,在一个实施例中,位置传感器为电机编码器,分别设置在多关节机械臂的各关节处,用于检测各关节的关节位置信息。Six position sensors, in one embodiment, the position sensors are motor encoders, which are respectively arranged at each joint of the multi-joint manipulator, and are used to detect the joint position information of each joint.
一惯性传感单元,在一个实施例中,惯性传感单元包含惯性传感器和IO电路,安装在第六关节(最靠近末端执行机构的关节)的驱动单元上。An inertial sensing unit. In one embodiment, the inertial sensing unit includes an inertial sensor and an IO circuit, and is installed on the drive unit of the sixth joint (the joint closest to the end effector).
一控制单元,控制单元包括多个微处理器,分别设置在每个关节的驱动单元处,用来生成PWM信号控制驱动单元,获取编码器信息和电流信息,第六关节驱动单元的微处理器还负责获取惯性传感器信息。A control unit, the control unit includes a plurality of microprocessors, respectively arranged at the drive unit of each joint, used to generate PWM signals to control the drive unit, obtain encoder information and current information, the microprocessor of the sixth joint drive unit Also responsible for obtaining inertial sensor information.
运动规划模块,按照一定的时间间隔生成一系列的点位指令,在一个实施例中,点位指令包含:The motion planning module generates a series of point and position instructions according to a certain time interval. In one embodiment, the point and position instructions include:
a.机器人在笛卡尔空间的位置、速度和加速度。a. The position, velocity and acceleration of the robot in Cartesian space.
b.机器人各个关节的位置,速度。b. The position and speed of each joint of the robot.
整体加速度控制环模块,用于基于所述点位指令与所述惯性传感器检测的加速度信息生成各关节的第一力指令,在一个实施例中,整体加速度控制环模块按照以下机制运行:The overall acceleration control loop module is used to generate the first force command of each joint based on the point command and the acceleration information detected by the inertial sensor. In one embodiment, the overall acceleration control loop module operates according to the following mechanism:
由点位指令中惯性传感单元安装点在笛卡尔空间的6维加速度指令得到期望加速度,获取惯性传感器反馈的6维加速度信息,在两个加速度之间求差,将加速度差乘以增益,作为6维的笛卡尔空间力偏差。通过雅克比矩阵的转置与6维的笛卡尔空间力偏差相乘得到各个关节的力偏差值。由各关节的力偏差值与上一个周期的力指令求和,得到各关节第一力指令。The expected acceleration is obtained from the 6-dimensional acceleration command of the inertial sensor unit installation point in the Cartesian space in the point command, and the 6-dimensional acceleration information fed back by the inertial sensor is obtained. The difference between the two accelerations is calculated, and the acceleration difference is multiplied by the gain. As a Cartesian space force deviation in 6 dimensions. The force deviation value of each joint is obtained by multiplying the transposition of the Jacobian matrix and the 6-dimensional Cartesian space force deviation. The first force command of each joint is obtained by summing the force deviation value of each joint and the force command of the previous cycle.
由于此步骤中,整体加速度控制环模块不需要求雅克比的逆矩阵,计算量较小,能够满足实时控制要求。Because in this step, the overall acceleration control loop module does not need to find the inverse matrix of the Jacobian, the calculation amount is small, and it can meet the real-time control requirements.
单关节控制环模块,用于基于所述点位指令与所述机器人系统各关节位置信息生成各关节的第二力指令;在一个实施例中,单关节控制环模块包括:A single-joint control loop module, configured to generate a second force command for each joint based on the point command and the position information of each joint of the robot system; in one embodiment, the single-joint control loop module includes:
运动学逆解模块,用于基于所述点位指令,生成各关节的关节目标位置;A kinematics inverse solution module, configured to generate the joint target position of each joint based on the point instruction;
位置控制环模块,将关节位置指令与电机编码器位置反馈做差,乘以增益得到速度指令,速度指令加上关节速度指令后发送给速度控制环模块;The position control loop module makes the difference between the joint position command and the motor encoder position feedback, multiplies it by the gain to obtain the speed command, and sends the speed command to the speed control loop module after adding the joint speed command;
速度控制环模块,将上述速度指令与电机编码器位置差分做差,乘以增益得各关节第二力指令。The speed control loop module makes a difference between the above speed command and the position difference of the motor encoder, and multiplies it by the gain to obtain the second force command of each joint.
力指令融合模块,用于基于所述第一力指令和所述第二力指令,计算生成各关节的融合力指令,在一个实施例中,力指令融合模块对各关节第一力指令和各关节第二力指令,基于预设权重系数进行加权求和计算,生成融合力指令,即采用公式:融合力指令=第一力指令*第一权重系数+第二力指令*第二权重系数。The force instruction fusion module is used to calculate and generate fusion force instructions for each joint based on the first force instruction and the second force instruction. In one embodiment, the force instruction fusion module performs the first force instruction and each The second force command of the joint is calculated based on the weighted summation of the preset weight coefficient to generate the fusion force command, that is, the formula: fusion force command = first force command * first weight coefficient + second force command * second weight coefficient is adopted.
电流控制环模块,用于根据所述融合力指令生成驱动所述驱动单元的电流指令。在一个实施例中,电流控制环模块将融合力指令换算成电流指令,并向驱动单元中的功率器件(如:IGBT、IPM等)输出驱动控制信号(如PWM信号)来驱动电机运转。A current control loop module, configured to generate a current command to drive the driving unit according to the fusion force command. In one embodiment, the current control loop module converts the fusion force instruction into a current instruction, and outputs a driving control signal (such as a PWM signal) to the power device (such as: IGBT, IPM, etc.) in the drive unit to drive the motor to run.
在一个实施例中,控制单元可以包括碰撞判断模块,用于根据点位指令中的加速度指令和惯性传感单元检测的六维加速度信息的方向,判断所述机器人系统是否出现碰撞,当其中任一维度方向上的加速度相反时,则判断出现碰撞,向所述力指令融合模块发出信号,修正所述融合力指令;反之则判断未出现碰撞,反之则不修正所述融合力指令。In one embodiment, the control unit may include a collision judging module, which is used to judge whether the robot system collides according to the acceleration instruction in the point instruction and the direction of the six-dimensional acceleration information detected by the inertial sensor unit. When the acceleration in the one-dimensional direction is opposite, it is judged that there is a collision, and a signal is sent to the fusion force command to modify the fusion force command; otherwise, it is judged that there is no collision, otherwise, the fusion force command is not corrected.
在一个实施例中,碰撞判断模块基于点位指令中的加速度指令和惯性传感单元检测的六维加速度信息计算加速度偏差值,若其中有任一维度数值大于等于预设阈值时,向所述力指令融合模块发送停止运行指令,将所述融合力指令设置为0,使所述驱动单元停止运行;反之,则向所述力指令融合模块发送力保持指令,将所述融合力指令设置为前一周期的融合力指令,使所述驱动单元进入力保持状态。In one embodiment, the collision judging module calculates the acceleration deviation value based on the acceleration command in the point command and the six-dimensional acceleration information detected by the inertial sensing unit, and if any of the dimensional values is greater than or equal to the preset threshold value, it will report to the The force command fusion module sends a stop operation command, and the fusion force command is set to 0, so that the drive unit stops running; otherwise, it sends a force maintenance command to the force command fusion module, and the fusion force command is set to Combined with the force command from the previous cycle, the drive unit enters the force holding state.
在一个实施例中,控制单元的核心处理芯片可以是一块SOC-FPGA,Intel的CycloneV,其中集成有双核ARM Cortex-A9处理器和FPGA处理器,控制单元运行时,ARM Cortex-A9处理器的一个核运行操作系统,负责网络通信,人机交互,文件系统管理,运动规划模块等非实时或弱实时任务;ARM Cortex-A9处理器的另一个核运行 强实时任务,包括整体加速度控制环模块、单关节控制环模块,力指令融合模块;FPGA处理器包含电流控制环模块等。In one embodiment, the core processing chip of the control unit can be a SOC-FPGA, Intel's CycloneV, which is integrated with a dual-core ARM Cortex-A9 processor and an FPGA processor. When the control unit is running, the ARM Cortex-A9 processor One core runs the operating system, which is responsible for non-real-time or weak real-time tasks such as network communication, human-computer interaction, file system management, and motion planning modules; the other core of the ARM Cortex-A9 processor runs strong real-time tasks, including the overall acceleration control loop module , Single joint control loop module, force command fusion module; FPGA processor includes current control loop module, etc.
在一个实施例中,控制单元可以包括一储存模块,用于储存预设的参数,如:第一权重系数、第二权重系数、预设阈值等。In one embodiment, the control unit may include a storage module for storing preset parameters, such as: a first weight coefficient, a second weight coefficient, a preset threshold, and the like.
由上述实施例可知,本发明提供的机器人系统及机器人系统的控制方法,通过综合应用整体加速度控制环、单关节控制环及电流控制环,实现对多关节机械臂的控制,能够在几乎不增加机器人系统成本的情况下,改善工业机器人运行过程中的末端抖动现象,提高机器人系统的工作效率;通过加速度偏差和方向判断,能够灵敏的检测出多关节机械臂中任意关节在运行过程中出现的碰撞,避免出现误判断,并且在检测到碰撞后,及时进入力保持状态或停止运转状态,从而减少发生事故的风险;在每个控制环路中,不需要进行任何矩阵求逆运算,控制环路的计算量小,有利于提高机器人系统整体的实时性;通过对多关节机械臂前端的加速度进行检测和比对,并分解到各关节的控制环,无需由速度信息差分计算加速度信息,避免在差分过程使检测得到的速度信息中包含的噪声进一步放大,从而增强机器人系统的鲁棒性。It can be known from the above embodiments that the robot system and the control method of the robot system provided by the present invention realize the control of the multi-joint manipulator through the comprehensive application of the overall acceleration control loop, the single-joint control loop and the current control loop, and can hardly increase the In the case of low robot system cost, it can improve the terminal shaking phenomenon during the operation of the industrial robot and improve the working efficiency of the robot system; through the acceleration deviation and direction judgment, it can sensitively detect any joint in the multi-joint manipulator during operation. Collision, to avoid misjudgment, and after the collision is detected, enter the force holding state or stop operation state in time, thereby reducing the risk of accidents; in each control loop, there is no need to perform any matrix inversion operation, the control loop The calculation amount of the road is small, which is conducive to improving the real-time performance of the robot system as a whole; by detecting and comparing the acceleration of the front end of the multi-joint manipulator, and decomposing it into the control loop of each joint, there is no need to calculate the acceleration information from the speed information difference, avoiding In the differential process, the noise contained in the detected speed information is further amplified, thereby enhancing the robustness of the robot system.
这里采用的术语和表述方式只是用于描述,本发明并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。The terms and expressions used here are for description only, and the present invention should not be limited to these terms and expressions. The use of these terms and expressions does not mean to exclude any equivalent features shown and described (or parts thereof), and it should be recognized that various modifications may also be included within the scope of the claims. Other modifications, changes and substitutions are also possible. Accordingly, the claims should be read to cover all such equivalents.
同样,需要指出的是,虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可做出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。Similarly, it should be pointed out that although the present invention has been described with reference to the current specific embodiments, those of ordinary skill in the art should recognize that the above embodiments are only used to illustrate the present invention, without departing from the present invention. Various equivalent changes or substitutions can also be made under the spirit of the present invention. Therefore, as long as the changes and modifications to the above embodiments are within the spirit of the present invention, they will all fall within the scope of the claims of the present application.

Claims (15)

  1. 一种机器人系统的控制单元,用于根据指令向所述机器人系统中各关节的驱动单元输出电流指令,其特征在于,所述控制单元包括:A control unit of a robot system, configured to output a current command to a drive unit of each joint in the robot system according to an instruction, wherein the control unit includes:
    运动规划模块,根据指令生成点位指令,用于所述机器人系统的运动轨迹规划;A motion planning module generates a point instruction according to the instruction, which is used for the motion trajectory planning of the robot system;
    整体加速度控制环模块,用于基于所述点位指令与所述机器人系统中任一点的加速度信息生成各关节的第一力指令;The overall acceleration control loop module is used to generate the first force command of each joint based on the point command and the acceleration information of any point in the robot system;
    单关节控制环模块,用于基于所述点位指令与所述机器人系统各关节位置信息生成各关节的第二力指令;A single-joint control loop module, configured to generate a second force command for each joint based on the point position command and the position information of each joint of the robot system;
    力指令融合模块,用于基于所述第一力指令和所述第二力指令,计算生成各关节的融合力指令;A force command fusion module, configured to calculate and generate a fusion force command for each joint based on the first force command and the second force command;
    电流控制环模块,用于根据所述融合力指令生成驱动所述驱动单元的电流指令。A current control loop module, configured to generate a current command to drive the driving unit according to the fusion force command.
  2. 如权利要求1所述的控制单元,其特征在于,所述单关节控制环模块包括:The control unit according to claim 1, wherein the single-joint control loop module comprises:
    运动学逆解模块,用于基于所述点位指令,生成各关节的关节目标位置;A kinematics inverse solution module, configured to generate the joint target position of each joint based on the point instruction;
    位置控制环模块,用于基于所述点位指令、所述关节目标位置,生成关节速度指令;A position control loop module, configured to generate a joint speed command based on the point command and the joint target position;
    速度控制环模块,用于基于所述关节速度指令与所述关节位置信息,生成第二力指令。A speed control loop module, configured to generate a second force command based on the joint speed command and the joint position information.
  3. 如权利要求1所述的控制单元,其特征在于,所述控制单元还包括:碰撞判断模块,用于根据所述点位指令、所述加速度信息,判断所述机器人系统是否出现碰撞,当判断出现碰撞时,向所述力指令融合模块发出信号,修正所述融合力指令;反之则不修正所述融合力指令。The control unit according to claim 1, wherein the control unit further comprises: a collision judging module, configured to judge whether the robot system collides according to the point instruction and the acceleration information, and when judging When a collision occurs, a signal is sent to the force command fusion module to modify the fusion force command; otherwise, the fusion force command is not corrected.
  4. 如权利要求3所述的控制单元,其特征在于,所述控制单元还包括预设阈值,当判断出现碰撞时,所述碰撞判断模块基于所述点位指令与所述加速度信息计算各关节加速度偏差值,若其中有任一维度数值大于等于所述预设阈值时,向所述力指令融合模块发送停止运行指令,将所述融合力指令设置为0,使所述驱动单元停止运行;反之,则向所述力指令融合模块发送力保持指令,将所述融合力指令设置为前一周期的融合力指令,使所述驱动单元进入力保持状态。The control unit according to claim 3, characterized in that, the control unit further includes a preset threshold, and when it is judged that a collision occurs, the collision judging module calculates the acceleration of each joint based on the point command and the acceleration information Deviation value, if any dimension value is greater than or equal to the preset threshold value, send a stop operation instruction to the force instruction fusion module, set the fusion force instruction to 0, and stop the drive unit; otherwise , then send a force maintenance command to the force command fusion module, set the fusion force command as the fusion force command of the previous cycle, and make the drive unit enter a force maintenance state.
  5. 如权利要求1~4中任一项所述的控制单元,其特征在于,所述控制单元集成在一块芯片中,所述芯片的集成有双核或多核处理器和FPGA处理器,控制单元运行时,The control unit according to any one of claims 1 to 4, wherein the control unit is integrated in a chip, and the chip is integrated with a dual-core or multi-core processor and an FPGA processor, and the control unit operates ,
    所述运动规划模块在所述双核或多核处理器的一个核运行;所述整体加速度控制环模块、所述单关节控制环模块、所述力指令融合模块在所述双核或多核处理器的另一个核运行;所述电流控制环模块在FPGA处理器运行。The motion planning module runs on one core of the dual-core or multi-core processor; the overall acceleration control loop module, the single-joint control loop module, and the force command fusion module run on the other core of the dual-core or multi-core processor. One core runs; the current control loop module runs on the FPGA processor.
  6. 一种机器人系统,包括:A robotic system comprising:
    机器人本体,包括一多关节机械臂,以及多个驱动单元,所述驱动单元的数量与所述多关节机械臂的关节数量对应,分别设置于所述多关节机械臂的各关节上,用于驱动各关节转向或移动;The robot body includes a multi-joint mechanical arm, and a plurality of drive units, the number of the drive units corresponds to the number of joints of the multi-joint mechanical arm, and they are respectively arranged on each joint of the multi-joint mechanical arm for Drive each joint to turn or move;
    多个位置传感器,所述位置传感器的数量与所述多关节机械臂的关节数量对应,分别设置在所述多关节机械臂的各关节处,用于检测各关节的关节位置信息;A plurality of position sensors, the number of the position sensors corresponds to the number of joints of the multi-joint manipulator, which are respectively arranged at each joint of the multi-joint manipulator, and are used to detect the joint position information of each joint;
    一惯性传感单元,所述惯性传感单元设置于所述多关节机械臂上,用于检测所述惯性传感单元设置位置的加速度信息;An inertial sensing unit, the inertial sensing unit is arranged on the multi-joint mechanical arm, and is used to detect the acceleration information of the installation position of the inertial sensing unit;
    其特征在于,It is characterized in that,
    所述机器人系统包括如权利要求1~4中任一项所述的控制单元。The robot system comprises the control unit according to any one of claims 1-4.
  7. 如权利要求6所述的机器人系统,其特征在于,所述点位指令包括所述机器人系统中各关节的初始关节位置指令、初始关节速度指令以及在笛卡尔空间的位置指令、速度指令、加速度指令。The robot system according to claim 6, wherein the point instructions include initial joint position instructions, initial joint velocity instructions, and position instructions, velocity instructions, and accelerations in Cartesian space of each joint in the robot system. instruction.
  8. 如权利要求7所述的机器人系统,其特征在于,所述整体加速度控制环模块,根据所述在笛卡尔空间的加速度指令和所述加速度信息的差值,计算所述多关节机械臂的整体力偏差值及各关节的关节力偏差值,所述各关节的第一力指令基于所述关节力偏差值及前一周期的力指令计算生成。The robot system according to claim 7, wherein the overall acceleration control loop module calculates the overall acceleration of the multi-joint manipulator according to the difference between the acceleration command in the Cartesian space and the acceleration information. The force deviation value and the joint force deviation value of each joint, the first force command of each joint is calculated and generated based on the joint force deviation value and the force command of the previous cycle.
  9. 一种机器人系统的控制方法,用于根据指令向所述机器人系统中各关节的驱动单元输出电流指令,其特征在于,所述控制方法包括:A control method of a robot system, which is used to output a current command to a drive unit of each joint in the robot system according to an instruction, wherein the control method includes:
    运动轨迹规划步骤,根据指令生成点位指令;In the motion trajectory planning step, a point command is generated according to the command;
    运行整体加速度控制环步骤,基于所述点位指令与所述机器人系统中任一点的加速度信息生成各关节的第一力指令;Running the overall acceleration control loop step, generating a first force command for each joint based on the point command and the acceleration information of any point in the robot system;
    运行单关节控制环步骤,基于所述点位指令与所述机器人系统各关节位置信息生成各关节的第二力指令;Running the single joint control loop step, generating a second force command for each joint based on the point command and the position information of each joint of the robot system;
    力指令融合步骤,基于所述第一力指令和所述第二力指令,计算生成各关节的融合力指令;The force command fusion step is to calculate and generate fusion force commands for each joint based on the first force command and the second force command;
    运行电流控制环步骤,基于所述融合力指令生成用于驱动所述驱动单元的电流指令。Running a current control loop step to generate a current command for driving the drive unit based on the fusion force command.
  10. 如权利要求9所述的机器人系统的控制方法,其特征在于,The control method of the robot system as claimed in claim 9, is characterized in that,
    所述机器人系统包括:机器人本体,包括一多关节机械臂,以及多个驱动单元,用于驱动各关节转向或移动;多个位置传感器,用于检测各关节的关节位置信息;一惯性传感单元,所述惯性传感单元设置于所述多关节机械臂上,用于检测所述惯性传感单元设置位置的加速度信息;The robot system includes: a robot body, including a multi-joint mechanical arm, and a plurality of drive units, used to drive each joint to turn or move; a plurality of position sensors, used to detect the joint position information of each joint; an inertial sensor A unit, the inertial sensing unit is arranged on the multi-joint mechanical arm, and is used to detect the acceleration information of the installation position of the inertial sensing unit;
    其中所述点位指令包括所述机器人系统中各关节的初始关节位置指令、初始关节速度指令以及在笛卡尔空间的位置指令、速度指令、加速度指令。Wherein the point instruction includes the initial joint position instruction, the initial joint velocity instruction and the position instruction, velocity instruction and acceleration instruction in Cartesian space of each joint in the robot system.
  11. 如权利要求10所述的机器人系统的控制方法,其特征在于,The control method of the robot system as claimed in claim 10, is characterized in that,
    所述运行整体加速度控制环步骤包括:The steps of running the overall acceleration control loop include:
    根据所述在笛卡尔空间的加速度指令和所述加速度信息的差值,计算所述多关节机械臂的整体力偏差值及各关节的关节力偏差值,所述各关节的第一力指令基于关节力偏差值及前一周期的力指令计算生成。According to the difference between the acceleration command in the Cartesian space and the acceleration information, calculate the overall force deviation value of the multi-joint manipulator and the joint force deviation value of each joint, and the first force command of each joint is based on The joint force deviation value and the force command of the previous cycle are calculated and generated.
  12. 如权利要求11所述的机器人系统的控制方法,其特征在于,所述运行单关节控制环步骤包括:The control method of the robot system according to claim 11, wherein the step of running the single-joint control loop comprises:
    运动学逆解步骤,基于所述点位指令,生成各关节的关节目标位置;In the kinematics inverse solution step, based on the point instruction, the joint target position of each joint is generated;
    运行位置控制环步骤,基于所述点位指令、所述关节目标位置,生成关节速度指令;The step of operating the position control loop is to generate a joint speed command based on the point command and the joint target position;
    运行速度控制环步骤,基于所述关节速度指令与所述关节位置信息,生成第二力指令。The step of running the speed control loop is to generate a second force command based on the joint speed command and the joint position information.
  13. 如权利要求9所述的机器人系统的控制方法,其特征在于,所述控制方法还包括:The control method of the robot system as claimed in claim 9, is characterized in that, described control method also comprises:
    碰撞判断步骤,根据所述点位指令、所述加速度信息,判断所述机器人系统是否出现碰撞,若判断出现碰撞,向所述力指令融合模块发出信号,修正所述融合力指令,若判断未出现碰撞,不修正所述融合力指令。The collision judging step is to judge whether the robot system has a collision according to the point instruction and the acceleration information, and if it is judged that a collision occurs, send a signal to the force instruction fusion module to correct the fusion force instruction, if it is judged that there is no collision Collision occurs, does not modify said fusion force command.
  14. 如权利要求13所述的机器人系统的控制方法,其特征在于,所述碰撞判断步骤中还包括,基于所述在笛卡尔空间的加速度信息,计算各关节加速度信息,判断所述点位指令与所述各关节加速度信息的方向是否相同,当其中任一维度方向上的加速度相反时,则判断出现碰撞,反之则判断未出现碰撞。The control method of the robot system according to claim 13, characterized in that, said collision judging step also includes, based on said acceleration information in Cartesian space, calculating the acceleration information of each joint, and judging the relationship between said point command and Whether the directions of the acceleration information of the joints are the same, if the acceleration in any one of the dimensional directions is opposite, it is judged that a collision has occurred, otherwise, it is judged that there has been no collision.
  15. 如权利要求14所述的机器人系统的控制方法,其特征在于,The control method of the robot system according to claim 14, characterized in that,
    所述碰撞判断步骤包括:基于所述点位指令与各关节加速度信息计算加速度偏差值,若其中有任一维度数值大于等于预设阈值时,向所述力指令融合模块发送停止运行指令,将所述融合力指令设置为0,使所述驱动单元停止运行;反之,则向所述力指令融合模块发送力保持指令,将所述融合力指令设置为前一周期的融合力指令,使所述驱动单元进入力保持状态。The collision judging step includes: calculating an acceleration deviation value based on the point command and the acceleration information of each joint, and if any dimension value is greater than or equal to a preset threshold value, sending a stop operation command to the force command fusion module, and The fusion force command is set to 0, so that the drive unit stops running; otherwise, a force maintenance command is sent to the force command fusion module, and the fusion force command is set as the fusion force command of the previous cycle, so that all The drive unit enters the force holding state.
PCT/CN2022/102771 2021-07-19 2022-06-30 Control unit for robot system, robot system, and control method for robot system WO2023000946A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110810887.0A CN113263503B (en) 2021-07-19 2021-07-19 Control unit of robot system, robot system and control method of robot system
CN202110810887.0 2021-07-19

Publications (1)

Publication Number Publication Date
WO2023000946A1 true WO2023000946A1 (en) 2023-01-26

Family

ID=77236710

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/102771 WO2023000946A1 (en) 2021-07-19 2022-06-30 Control unit for robot system, robot system, and control method for robot system

Country Status (2)

Country Link
CN (1) CN113263503B (en)
WO (1) WO2023000946A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113263503B (en) * 2021-07-19 2021-11-09 上海捷勃特机器人有限公司 Control unit of robot system, robot system and control method of robot system
CN113687832B (en) * 2021-10-27 2022-03-04 上海捷勃特机器人有限公司 Robot program storage and compiling method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014014875A (en) * 2012-07-05 2014-01-30 Canon Inc Robot controller, and robot control method
CN109531565A (en) * 2018-08-27 2019-03-29 苏州博众机器人有限公司 A kind of control method of mechanical arm, device, service robot and storage medium
CN111230867A (en) * 2020-01-16 2020-06-05 腾讯科技(深圳)有限公司 Robot motion control method, motion control equipment and robot
CN112720476A (en) * 2020-12-22 2021-04-30 北京天智航医疗科技股份有限公司 Mechanical arm control method, mechanical arm control device, medium and electronic equipment
CN113263503A (en) * 2021-07-19 2021-08-17 上海捷勃特机器人有限公司 Control unit of robot system, robot system and control method of robot system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3247832B2 (en) * 1995-11-20 2002-01-21 富士通株式会社 Kinematics arithmetic unit
US9352465B2 (en) * 2013-11-12 2016-05-31 Canon Kabushiki Kaisha Control method for robot apparatus and robot apparatus
JP6305283B2 (en) * 2014-09-09 2018-04-04 本田技研工業株式会社 Power system control system
JP2018030210A (en) * 2016-08-25 2018-03-01 キヤノン株式会社 Simulation device, control system, robot system, simulation method, program and recording medium
CN106346477B (en) * 2016-11-05 2019-10-25 上海新时达电气股份有限公司 The load torque identification method and module of six-joint robot
JP7080649B2 (en) * 2018-01-17 2022-06-06 キヤノン株式会社 Control method, manufacturing method of goods, control program, recording medium, robot system, control device
CN208614800U (en) * 2018-02-05 2019-03-19 遨博(北京)智能科技有限公司 A kind of control system of robot
CN110666802A (en) * 2018-11-07 2020-01-10 宁波赛朗科技有限公司 Industrial robot platform with dual-core motion controller
CN109591023B (en) * 2018-12-30 2020-09-08 深圳市优必选科技有限公司 Iterative calculation method of series robot and series robot
CN111037564B (en) * 2019-12-27 2022-03-18 深圳市越疆科技有限公司 Robot collision detection method, device, equipment and computer readable storage medium
CN111438692A (en) * 2020-04-17 2020-07-24 达闼机器人有限公司 Robot control method, device, medium, equipment and robot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014014875A (en) * 2012-07-05 2014-01-30 Canon Inc Robot controller, and robot control method
CN109531565A (en) * 2018-08-27 2019-03-29 苏州博众机器人有限公司 A kind of control method of mechanical arm, device, service robot and storage medium
CN111230867A (en) * 2020-01-16 2020-06-05 腾讯科技(深圳)有限公司 Robot motion control method, motion control equipment and robot
CN112720476A (en) * 2020-12-22 2021-04-30 北京天智航医疗科技股份有限公司 Mechanical arm control method, mechanical arm control device, medium and electronic equipment
CN113263503A (en) * 2021-07-19 2021-08-17 上海捷勃特机器人有限公司 Control unit of robot system, robot system and control method of robot system

Also Published As

Publication number Publication date
CN113263503B (en) 2021-11-09
CN113263503A (en) 2021-08-17

Similar Documents

Publication Publication Date Title
WO2023000946A1 (en) Control unit for robot system, robot system, and control method for robot system
CN108772838B (en) Mechanical arm safe collision strategy based on external force observer
CN101352854B (en) Remote operation planar redundant manipulator automated guided intelligent element, system and method
US10300600B2 (en) Control system having learning control function and control method
JP4756618B2 (en) Collision detection / stop control method for articulated robots
CN108656112A (en) A kind of mechanical arm zero-force control experimental system towards direct teaching
CN110421556B (en) Track planning method for real-time collision avoidance of redundant double-arm service robot and stable operation method
CN111230873A (en) Teaching learning-based collaborative handling control system and method
CN111267105A (en) Kinetic parameter identification and collision detection method for six-joint robot
EP0464649B1 (en) Control device for robot in inertial coordinate system
CN111515928B (en) Mechanical arm motion control system
CN115502979A (en) Active flexible and accurate control method and system for moment of mechanical arm
CN113799123B (en) Manipulator anti-collision control method and system, intelligent terminal and storage medium
CN207014366U (en) A kind of six axle welding industry robot anticollision control systems
CN212421307U (en) Industrial robot capable of improving safety control performance
Nevludov et al. Control system for agricultural robot based on ROS
CN213259495U (en) Industrial robot capable of ensuring limit of speed and momentum boundary
JP5904445B2 (en) Robot controller
CN212887620U (en) Industrial robot with enhanced safety
Debrouwere Optimal robot path following fast solution methods for practical non-convex applications
JPS63150183A (en) Motion control method of robot
Jiang et al. Robotic manipulation of flexible objects based on vibration control using force sensors
Feng et al. Research on Motion Control and Trajectory Planning Algorithm of Mobile Manipulator Based on Deep Learning
US20230286143A1 (en) Robot control in working space
Tong et al. A Collaborative Robot Torque Prediction Method Based on CNN-TCN Model

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22845111

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE