WO2018086226A1 - 机械臂的控制方法和装置 - Google Patents

机械臂的控制方法和装置 Download PDF

Info

Publication number
WO2018086226A1
WO2018086226A1 PCT/CN2016/113289 CN2016113289W WO2018086226A1 WO 2018086226 A1 WO2018086226 A1 WO 2018086226A1 CN 2016113289 W CN2016113289 W CN 2016113289W WO 2018086226 A1 WO2018086226 A1 WO 2018086226A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
arm
function
state information
acceleration
Prior art date
Application number
PCT/CN2016/113289
Other languages
English (en)
French (fr)
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 WO2018086226A1 publication Critical patent/WO2018086226A1/zh

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/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
    • 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

Definitions

  • Embodiments of the present invention relate to the field of control application technologies, and in particular, to a control method and apparatus for a mechanical arm.
  • Robots have been used in many fields and have played an increasingly prominent role in the development of industrialization and intelligence.
  • the robotic arm is an important part of the robot's mission.
  • Motion trajectory is a basic task of the robot control system.
  • the trajectory of the robot arm usually has a straight line, a circular arc of Cartesian space, and a point-to-point motion trajectory of the joint space.
  • an operation task is generally completed by sequentially connecting a plurality of tracks.
  • adjacent tracks have corners at the joints, so that a smooth transition from one track to the next cannot be performed.
  • the present invention provides a control method and device for a mechanical arm, which ensures the efficiency and accuracy of the operation of the robot arm by realizing a smooth transition between different trajectories during the movement of the mechanical arm.
  • an embodiment of the present invention provides a method for controlling a mechanical arm, the method comprising: acquiring first state information of a point at which an end of a mechanical arm is on a current moving straight line, and a distal moving straight line of the end of the mechanical arm a second state information of the preset point; determining, according to the first state information and the second state information, a parameter of a movement trajectory from the point to the preset point, the arm end is in the The movement function on the moving trajectory is a continuous function; controlling the end of the mechanical arm along the moving rail The trace moves from the point to the preset point.
  • the method further includes: the end of the arm from the preset point according to the next moving line The trajectory planning continues to move to the end of the next moving straight line.
  • the first state information includes a position, a speed, and an acceleration of the end of the arm at the point;
  • the second state information includes a position, a speed, and a position of the end of the arm at the preset point. Acceleration.
  • the acquiring the first state information of the point where the end of the mechanical arm is on the current moving straight line and the second state information of the preset point of the end of the mechanical arm on the next moving straight line include: acquiring the end of the mechanical arm First state information under the joint space of the current point on the moving straight line; the second state information of the preset point is converted from the Cartesian coordinate representation to the joint space coordinate representation by an inverse kinematics method.
  • the determining, according to the first state information and the second state information, a parameter of a movement trajectory from the point to the preset point includes: performing an S-type velocity planning method, multi-stage spline interpolation The method and/or B-spline interpolation method plans the interpolation point of the next moving straight line in a Cartesian coordinate system.
  • the movement function includes a position function, a speed function, and an acceleration function of the end of the robot arm on the movement trajectory.
  • the function as a continuous function further includes: determining, by the multi-order polynomial and/or the trigonometric function method, parameters corresponding to the position function, the velocity function, and the acceleration function, respectively.
  • the inverse state kinematics method converts the second state information of the preset point from a Cartesian coordinate representation into a joint space coordinate representation, including: according to a formula Performing a Cartesian coordinate representation of the transformation to the joint space coordinate representation, where with The velocity and acceleration of the end of the arm in the Cartesian coordinate system, respectively. with The velocity and acceleration of the end of the manipulator in the joint space coordinate system, respectively, J is the Jacobian matrix. For the first order of the Jacobian matrix, J + is the pseudo-inverse of J.
  • determining, by the multi-order polynomial and/or the trigonometric function method, respectively, the parameters corresponding to the position function, the velocity function, and the acceleration function include: determining the position function, the velocity function, and the following according to a fifth-order polynomial curve formula: The parameter corresponding to the acceleration function;
  • Q 0 with The position, velocity and acceleration of the joint space of the point
  • Q s with The position, velocity and acceleration of the preset point in the joint space
  • h is the distance between the point and the preset point
  • the end of the t trans arm moves from the point to the preset The time of the point.
  • determining, by the multi-order polynomial and/or the trigonometric function method, respectively, the parameters corresponding to the position function, the speed function, and the acceleration function further include: according to the following formula, the computer is located between the preset point and the preset point Position, velocity and acceleration of the end of the arm at any time;
  • Q t with The position, velocity and acceleration of the end of the arm at any point between the point of the robot and the predetermined point are respectively.
  • an embodiment of the present invention provides a control device for a robot arm, the device comprising: an acquiring unit, configured to acquire first state information of a point of a robot arm end on a current moving straight line, and the robot arm a second state information of a preset point on the next moving straight line; a determining unit, connected to the obtaining unit, configured to determine, according to the first state information and the second state information, from the point to the a parameter of a movement trajectory of the preset point, a movement function of the end of the robot arm on the movement trajectory is a continuous function; and a control unit connected to the determination unit for controlling the end of the mechanical arm along the movement trajectory Moving from the point to the preset point.
  • the first state information includes a position, a speed, and an acceleration of the end of the arm at the point;
  • the second state information includes a position, a speed, and a position of the end of the arm at the preset point.
  • the acquisition unit includes: an information acquisition subunit, configured to acquire first state information in a joint space of a point of the end of the mechanical arm on a current moving straight line; an information conversion subunit, and the information acquisition The subunits are connected for converting the second state information of the preset point from a Cartesian coordinate representation to a joint space coordinate representation by an inverse kinematics method.
  • the moving track of the point from the point to the preset point is planned.
  • the end of the robot arm is controlled to move from the point of the movement to the preset point along the movement trajectory.
  • the end of the arm is smoothly switched from one direction of motion to the other, ensuring The efficiency and precision of the arm movement.
  • Embodiment 1 is a flow chart showing a method of controlling a robot arm in Embodiment 1 of the present invention
  • FIG. 2 is a flow chart of a method for controlling a mechanical arm according to a second embodiment of the present invention
  • Embodiment 3 is a flow chart of a method for controlling a mechanical arm according to Embodiment 3 of the present invention.
  • FIG. 5 to FIG. 7 are diagrams showing positions of the first three axes of the robot arm at any time in the third embodiment of the present invention.
  • FIG. 8 to FIG. 10 are graphs showing speeds of the first three axes of the robot arm at any time in the third embodiment of the present invention.
  • FIG. 11 to FIG. 13 are acceleration diagrams of the first three axes of the robot arm at any time in the third embodiment of the present invention.
  • Figure 14 is a structural diagram of a control device for a robot arm according to a fourth embodiment of the present invention.
  • a control method of a robot arm according to an embodiment of the present invention can be run on a Windows (operating system platform developed by Microsoft Corporation), Android (an operating system platform developed by Google Inc. for portable mobile smart devices), and iOS (Apple)
  • the operating system platform developed by the company for portable mobile smart devices the terminal of an operating system such as Windows Phone (an operating system platform developed by Microsoft Corporation for portable mobile smart devices), the terminal can be a desktop computer or a notebook. Any of a computer, mobile phone, PDA, tablet, digital camera, digital video camera, etc.
  • FIG. 1 is a flow chart of a method for controlling a mechanical arm according to a first embodiment of the present invention, which is used to realize smooth switching of a distal end of a mechanical arm from one moving direction to another, and the method can be controlled by a mechanical arm
  • the device is implemented, and the device can be implemented by software and/or hardware, such as a user terminal device, such as a mobile phone, a computer, or the like.
  • the operation method for the touch screen in this embodiment includes: step S110, step S120, and step S130.
  • Step S110 acquiring first state information of a point at which the end of the mechanical arm is on the current moving straight line and second state information of the preset point of the end of the mechanical arm on the next moving straight line.
  • the movement of the robot arm refers to the movement of the end of the arm, and the end of the arm performs a specific operational task.
  • the point where the arm is on the current moving line can be used as the starting point of the track, and the point is recorded as 0.
  • the robot arm moves according to the task requirements specified by the user, moves to the specified position to perform the corresponding operation, and during the movement of the robot arm, the preset point T on the lower straight line is used as the end point of the transition segment, and the starting point of the next moving straight line Recorded as P 1 and the end point is P 2 , and the state information of the end of the arm at point O and point T is obtained.
  • the first state information includes a position, a speed, and an acceleration of the end of the arm at the point; the second state information includes a position and a speed of the end of the arm at the preset point. And acceleration.
  • the first state information includes a position, a speed, and an acceleration of a point at which the end of the arm is Q 0 , with Q 0 , with Both are n-dimensional column vectors, the number of joints of the vector dimension robot arm;
  • the second state information includes the position of the end of the arm at the preset point, the velocity and the acceleration are respectively P s , with P s , with Both are n-dimensional column vectors, the number of joints of the vector dimension robot arm
  • Step S120 determining, according to the first state information and the second state information, a parameter of a movement trajectory from the point to the preset point, where a movement function of the end of the robot arm on the movement trajectory is Continuous function.
  • the movement trajectory is composed of a straight line or a curve generated by a movement function.
  • the function is a description of the correspondence between each input value (argument) corresponding to a unique output value (dependent variable), and the function image is a set of point pairs on a plane or a surface.
  • the trajectory of the end of the arm is a collection of pairs of points determined by the movement function on a plane or surface that form the trajectory of the end of the arm.
  • the movement function of the end of the manipulator on the moving trajectory is a continuous function, and the continuous function refers to the corresponding relationship that the change of the dependent variable is small when the independent variable changes very little, which is reflected in the image as a continuous curve without break.
  • the moving trajectory at the end of the arm is a continuous function, which means that the amount of relevant state information at the end of the arm does not jump in value, which is reflected in the actual motion that the arm does not shake during the task operation.
  • Step S130 controlling the end of the arm to move from the point to the preset point along the movement track.
  • the movement of the end of the arm is controlled, and the calculated movement track of the end of the arm moves from the position of the current straight line to the next moving line. Preset point location.
  • the method further includes: the end of the arm from the preset point according to the next movement
  • the trajectory planning of the straight line continues to move to the end of the next moving straight line.
  • the transition from the point to the preset point is completed, according to the user's demand according to the next moving straight line.
  • the trajectory moves to the end point P 2 of the next line.
  • the movement along the next moving line is completed according to the user's needs.
  • the state information of the point is preset on the next moving straight line by acquiring the position of the end of the mechanical arm on the current moving straight line and the end of the mechanical arm; planning the moving track from the point to the preset point, The end of the robot arm is controlled to move from the point of the movement to the preset point along the movement trajectory.
  • the end of the arm is smoothly switched from one direction of motion to the other, ensuring the efficiency and accuracy of the arm movement.
  • step S110 is further explained, and the end of the acquiring arm is on a current moving straight line.
  • the first state information of the point and the end of the arm are preset on the next moving straight line.
  • the second state information of the point includes: acquiring first state information in a joint space of a point at which the end of the arm is on a current moving straight line; and second state information of the preset point by an inverse kinematics method Converted from Cartesian coordinates to joint space coordinate representation.
  • the control method of the robot arm in this embodiment includes: step S210, step S220, step S230, and step S240.
  • Step S210 Acquire first state information in the joint space of the point where the end of the mechanical arm is on the current moving straight line.
  • the first state information includes a position, a speed, and an acceleration of a point at which the end of the arm is Q 0 , respectively.
  • Q 0 with It is the state of the end of the arm under the joint space, and the units are rad, rad/s and rad/s 2 respectively .
  • Step S220 the second state information of the preset point is converted into a joint space coordinate representation by a Cartesian coordinate representation by an inverse kinematics method.
  • the second state information includes a position, a speed, and an acceleration of the end of the arm at a preset point, respectively, P s , with P s , with
  • the states are all states of the robot arm in Cartesian space, and the units are m, m/s, and m/s 2 , respectively .
  • the conversion of the second state information from the Cartesian coordinate system to the joint space coordinate representation is completed by the Jacobian matrix.
  • the converting, by the inverse kinematics method, the second state information of the preset point from a Cartesian coordinate representation to a joint space coordinate representation comprises: according to a formula Performing a Cartesian coordinate representation of the transformation to the joint space coordinate representation, where with The velocity and acceleration of the end of the arm in the Cartesian coordinate system, respectively. with The velocity and acceleration of the end of the manipulator in the joint space coordinate system, respectively, J is the Jacobian matrix. For the first order of the Jacobian matrix, J + is the pseudo-inverse of J.
  • Step S230 determining, according to the first state information and the second state information, a parameter of a movement trajectory from the point to the preset point, where a movement function of the end of the arm on the movement trajectory is Continuous function.
  • Step S240 controlling the end of the arm to move from the point to the preset point along the movement track.
  • the first state information in the joint space of the point where the end of the mechanical arm is on the current moving straight line is obtained, and the second state information of the preset point is obtained by the inverse kinematic method.
  • the coordinate representation is converted into joint space coordinate representation, and the first state information and the second state information are unified into a coordinate representation of the joint space, so as to accurately plan the movement track of the end of the arm from the point to the preset point.
  • FIG. 3 is a flowchart of a method for controlling a mechanical arm according to an embodiment of the present invention.
  • This embodiment further explains step S120 by using an S-type velocity planning method and multi-order spline interpolation on the basis of the first embodiment.
  • Method and/or B-spline interpolation method to plan the interpolation point of the next moving straight line in a Cartesian coordinate system; determine the position function, velocity function and acceleration by multi-order polynomial and/or trigonometric function method, respectively The parameter corresponding to the function.
  • the control method of the robot arm in this embodiment includes: step S310, step S320, step S330, and step S340.
  • Step S310 acquiring first state information of a point at which the end of the mechanical arm is on the current moving straight line and second state information of the preset point of the end of the mechanical arm on the next moving straight line.
  • Step S320 planning an interpolation point of the next moving straight line in a Cartesian coordinate system by an S-type velocity planning method, a multi-stage spline interpolation method, and/or a B-spline interpolation method.
  • the status information of the current moving straight line and the next moving straight line may be pre-planned, or may be updated according to the user's new requirements in the process of performing the task operation according to the robot arm.
  • S-type speed planning method the shape of the speed curve of the system in the acceleration and deceleration section is S-shaped, the acceleration and deceleration control method is more complicated, mainly in the acceleration and deceleration, through the control of the derivative of the acceleration, thus the acceleration, speed and Displacement is controlled to minimize the impact on the system.
  • Multi-order spline interpolation is a process of obtaining a set of curve functions by solving a set of three-moment equations through a series of smooth curves of shape points.
  • B-spline curve interpolation has the characteristics of geometric invariance, convex hull, convexity, reduced variation and local support.
  • Step S330 determining parameters corresponding to the position function, the velocity function, and the acceleration function by a multi-order polynomial and/or a trigonometric function method, respectively.
  • the multi-order polynomial method constructs a multi-order polynomial curve, which is a moving curve in the trajectory planning, and the parameters of the multi-order polynomial method are related to the position function, the velocity function, and the acceleration function.
  • the trigonometric function method that is, through the trigonometric functions such as sine and cosine, determines the corresponding parameters by the position function, the velocity function and the acceleration function.
  • Step S340 controlling the end of the arm to move from the point to the preset point along the movement track.
  • the movement function includes: a position letter of the end of the mechanical arm on the movement track Number, speed function and acceleration function.
  • determining, by the multi-order polynomial and/or the trigonometric function method, respectively, the parameters corresponding to the position function, the velocity function, and the acceleration function include: determining the position function and the velocity function according to a fifth-order polynomial curve formula: a parameter corresponding to the acceleration function;
  • Q 0 with The position, velocity and acceleration of the joint space of the point
  • Q s with The position, velocity and acceleration of the preset point in the joint space
  • h is the distance between the point and the preset point
  • the end of the t trans arm moves from the point to the preset The time of the point.
  • the parameters a 0 , a 1 , a 2 , a 3 , a 4 , and a 5 corresponding to the position function, the velocity function, and the acceleration function are determined by a fifth-order polynomial curve formula, and each parameter is respectively associated with the end of the arm The speed and acceleration of the point, the speed and acceleration of the preset point, and the distance between the point and the preset point.
  • determining, by the multi-order polynomial and/or the trigonometric function method, respectively, the parameters corresponding to the position function, the speed function, and the acceleration function further include: according to the following formula, the computer is located to the preset point Position, velocity and acceleration of the end of the arm at any time between;
  • Q t with The position, velocity and acceleration of the end of the arm at any point between the point of the robot and the predetermined point are respectively.
  • a function expression is designed according to the value of the parameter, and the machine at any time between the point and the preset point is calculated. Position, velocity and acceleration at the end of the arm.
  • the function expression is set according to the needs of the user, and can be a linear function expression or a nonlinear function expression.
  • FIG. 4 is a trajectory plan diagram of the end of the arm in the XY plane, the X-axis component of the end position of the arm and the Y-axis component of the end position of the arm are all in meters, and the curve 410 is the actual end of the arm in the planned trajectory. Move the curve.
  • Figure 5-7 shows the position of the first three axes of the robot arm at any time. The time units are seconds (s), the position units are all radians (rad), and the curves 510, 610 and 710 represent the front of the arm.
  • the position curve of the three axes, the curve between the point 5101 and the point 5102, the curve between the point 6101 and the point 6102, and the curve between the point 7101 and the point 7102 represent the position of the end of the arm from the point to the preset point, respectively.
  • Figure 8-10 shows the speed of the first three axes of the arm at any time.
  • the time units are seconds (s), the speed units are all in radians per second (rad/s), and the curves 810, 910 and 1010 are respectively Representing the velocity curve of the first three axes of the manipulator, the curve between point 8101 and point 8102, the curve between point 9101 and point 9102, and the curve between point 10101 and point 10102 represent the end of the arm from the point to the pre- Set the speed curve of the point.
  • Figure 11 - Figure 13 shows the acceleration of the first three axes of the manipulator at any time.
  • the time unit is seconds (s), and the acceleration units are all in radians per second (rad/s 2 ).
  • Curve 1110, curve 1210, and curve 1310 represent the acceleration curves of the first three axes of the robot arm, respectively, the curve between point 11101 and point 11102, the curve between point 12101 and point 12102, and the curve between point 13101 and point 13102, respectively. Represents the acceleration curve from the end of the arm to the preset point. As can be seen from the figure, the position, velocity and acceleration of each axis in the joint space coordinate system are continuous.
  • Figure 14 is a structural diagram of a control device for a robot arm in Embodiment 4 of the present invention.
  • the device is suitable for performing the control method of the robot arm provided in Embodiments 1 to 3 of the present invention, and the device specifically includes: an obtaining unit 1410, a determining unit 1420, and a control unit 1430.
  • the acquiring unit 1410 is configured to acquire first state information of a point at which the end of the mechanical arm is on the current moving straight line and second state information of the preset point of the end of the mechanical arm on the next moving straight line;
  • the determining unit 1420 is connected to the obtaining unit 1410, and configured to determine, according to the first state information and the second state information, a parameter of a movement trajectory from the point to the preset point, the machine
  • the movement function of the end of the arm on the movement trajectory is a continuous function
  • the control unit 1430 is connected to the determining unit 1420 for controlling the end of the arm to move from the point to the preset point along the moving track.
  • the acceleration, acquisition unit 1410 includes:
  • An information acquisition subunit configured to acquire first state information in a joint space of a point where the end of the mechanical arm is on a current moving straight line
  • the information conversion subunit is connected to the information acquisition subunit for converting the second state information of the preset point from a Cartesian coordinate representation to a joint space coordinate representation by an inverse kinematics method.
  • the determining unit 1420 is specifically configured to: plan an interpolation point of the next moving straight line in a Cartesian coordinate system by an S-type velocity planning method, a multi-stage spline interpolation method, and/or a B-spline interpolation method.
  • the movement function includes: a position function, a speed function, and an acceleration function of the end of the mechanical arm on the movement trajectory; and the determining unit 1420 is further configured to determine, respectively, by a multi-order polynomial and/or a trigonometric function method.
  • the parameters corresponding to the position function, the velocity function, and the acceleration function are determined by a multi-order polynomial and/or a trigonometric function method.
  • the determining unit 1420 is specifically configured to: according to a formula Performing a Cartesian coordinate representation of the transformation to the joint space coordinate representation, where with The velocity and acceleration of the end of the arm in the Cartesian coordinate system, respectively. with The velocity and acceleration of the end of the manipulator in the joint space coordinate system, respectively, J is the Jacobian matrix. For the first order of the Jacobian matrix, J + is the pseudo-inverse of J.
  • the determining unit 1420 is further configured to determine parameters corresponding to the position function, the speed function, and the acceleration function according to the following fifth-order polynomial curve formula;
  • Q 0 with The position, velocity and acceleration of the joint space of the point
  • Q s with The position, velocity, and acceleration of the preset point in the joint space
  • h is the distance between the point and the preset point
  • t trans is the end of the arm from the point to the pre-position Set the time.
  • the determining unit 1420 is further configured to: according to the following formula, the position, velocity and acceleration of the end of the arm at any time between the point of the computer and the preset point;
  • Q t with The position, velocity and acceleration of the end of the arm at any point between the point of the robot and the predetermined point are respectively.
  • the moving track of the point from the point to the preset point is planned. Controlling the end of the arm to move from the point to the preset along the movement trajectory point. The end of the arm is smoothly switched from one direction of motion to the other, ensuring the efficiency and accuracy of the arm movement.

Abstract

一种机械臂的控制方法和装置。所述控制方法包括:获取机械臂末端在当前移动直线上的所在点的第一状态信息和所述机械臂末端在下一移动直线上预设点的第二状态信息;根据所述第一状态信息和所述第二状态信息确定从所述所在点至所述预设点的移动轨迹的参数,所述机械臂末端在所述移动轨迹上的移动函数为连续函数;控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点。这种方法通过对机械臂从当前移动直线所在点至下一移动直线预设点的移动轨迹的规划,实现了机械臂末端平稳的从一个运动方向切换至另一个运动方向,保证了机械臂运动的效率和精度。

Description

机械臂的控制方法和装置 技术领域
本发明实施例涉及控制应用技术领域,特别是涉及一种机械臂的控制方法和装置。
背景技术
机器人已经被应用于多个领域,在工业化、智能化的发展中发挥着越来越突出的作用,其中,机械臂是机器人执行任务的重要部件。运动轨迹是机器人控制系统的一项基本任务。机械臂的运动轨迹通常有笛卡尔空间的直线、圆弧,以及关节空间的点到点运动轨迹。在实际的应用场合中,一般是由多条轨迹顺序连接完成一项操作任务,然而,相邻两条轨迹在连接处存在拐角,从而不能从一条轨迹平滑过渡到下一条轨迹。
发明内容
有鉴于此,本发明提出一种机械臂的控制方法和装置,通过对实现了对机械臂运动过程中不同轨迹之间的平稳过渡,保证了机械臂运行的效率和精度。
第一方面,本发明实施例提供了一种机械臂的控制方法,所述方法包括:获取机械臂末端在当前移动直线上的所在点的第一状态信息和所述机械臂末端在下一移动直线上预设点的第二状态信息;根据所述第一状态信息和所述第二状态信息确定从所述所在点至所述预设点的移动轨迹的参数,所述机械臂末端在所述移动轨迹上的移动函数为连续函数;控制所述机械臂末端沿所述移动轨 迹从所述所在点移动至所述预设点。
进一步的,在控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点之后,还包括:所述机械臂末端从所述预设点根据所述下一移动直线的轨迹规划继续移动至所述下一移动直线的终点。
进一步的,所述第一状态信息包括所述机械臂末端在所述所在点的位置、速度和加速度;所述第二状态信息包括所述机械臂末端在所述预设点的位置、速度和加速度。
进一步的,所述获取机械臂末端在当前移动直线上的所在点的第一状态信息和所述机械臂末端在下一移动直线上预设点的第二状态信息包括:获取所述机械臂末端在当前移动直线上的所在点的在关节空间下的第一状态信息;通过逆运动学方法,将所述预设点的第二状态信息由笛卡尔坐标表示转换成关节空间坐标表示。
进一步的,所述根据所述第一状态信息和所述第二状态信息确定从所述所在点至所述预设点的移动轨迹的参数包括:通过S型速度规划法、多阶样条插值法和/或B样条插补法规划所述下一移动直线在笛卡尔坐标系下的插补点。
进一步的,所述移动函数包括:所述机械臂末端在所述移动轨迹上的位置函数、速度函数和加速度函数。
进一步的,所述根据所述第一状态信息和所述第二状态信息确定从所述所在点至所述预设点的移动轨迹的参数,所述机械臂末端在所述移动轨迹上的移动函数为连续函数还包括:通过多阶多项式和/或三角函数法,分别确定所述位置函数、速度函数和加速度函数对应的参数。
进一步的,所述通过逆运动学方法,将所述预设点的第二状态信息由笛卡 尔坐标表示转换成关节空间坐标表示包括:根据公式
Figure PCTCN2016113289-appb-000001
进行笛卡尔坐标表示向关节空间坐标表示的转换,其中
Figure PCTCN2016113289-appb-000002
Figure PCTCN2016113289-appb-000003
分别为笛卡尔坐标系下机械臂末端的速度和加速度,
Figure PCTCN2016113289-appb-000004
Figure PCTCN2016113289-appb-000005
分别为关节空间坐标系下机械臂末端的速度和加速度,J为雅可比矩阵,
Figure PCTCN2016113289-appb-000006
为雅可比矩阵的一阶导,J+为J的伪逆。
进一步的,所述通过多阶多项式和/或三角函数法,分别确定所述位置函数、速度函数和加速度函数对应的参数包括:根据如下五阶多项式曲线公式,确定所述位置函数、速度函数和加速度函数对应的参数;
a0=Q0
Figure PCTCN2016113289-appb-000007
Figure PCTCN2016113289-appb-000008
Figure PCTCN2016113289-appb-000009
Figure PCTCN2016113289-appb-000010
Figure PCTCN2016113289-appb-000011
其中,Q0
Figure PCTCN2016113289-appb-000012
Figure PCTCN2016113289-appb-000013
分别为所述所在点的关节空间的位置、速度和加速度,Qs
Figure PCTCN2016113289-appb-000014
Figure PCTCN2016113289-appb-000015
分别为所述预设点在关节空间的位置、速度和加速度,h为所述所在点和所述预设点之间的距离,ttrans机械臂末端从所述所在点移动至所述预设点的时间。
进一步的,所述通过多阶多项式和/或三角函数法,分别确定所述位置函数、速度函数和加速度函数对应的参数还包括:根据如下公式计算机所述所在点至所述预设点之间任意时刻的机械臂末端的位置、速度和加速度;
Qt=Q0+a1t+a2t2+a3t3+a4t4+a5t5
Figure PCTCN2016113289-appb-000016
Figure PCTCN2016113289-appb-000017
其中,Qt
Figure PCTCN2016113289-appb-000018
Figure PCTCN2016113289-appb-000019
分别为所述机械臂末端在所述所在点至所述预设点之间任意点的位置、速度和加速度。
第二方面,本发明实施例提供了一种机械臂的控制装置,所述装置包括:获取单元,用于获取机械臂末端在当前移动直线上的所在点的第一状态信息和所述机械臂末端在下一移动直线上预设点的第二状态信息;确定单元,与所述获取单元相连,用于根据所述第一状态信息和所述第二状态信息确定从所述所在点至所述预设点的移动轨迹的参数,所述机械臂末端在所述移动轨迹上的移动函数为连续函数;控制单元,与所述确定单元相连,用于控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点。
进一步的,所述第一状态信息包括所述机械臂末端在所述所在点的位置、速度和加速度;所述第二状态信息包括所述机械臂末端在所述预设点的位置、速度和加速度,所述获取单元包括:信息获取子单元,用于获取所述机械臂末端在当前移动直线上的所在点的在关节空间下的第一状态信息;信息转换子单元,与所述信息获取子单元相连,用于通过逆运动学方法,将所述预设点的第二状态信息由笛卡尔坐标表示转换成关节空间坐标表示。
本发明实施例中,通过获取机械臂末端在当前移动直线上的所在点和机械臂末端在下一移动直线上预设点状态信息,规划从所述所在点至所述预设点的移动轨迹,控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点。实现了机械臂末端平稳的从一个运动方向切换至另一个运动方向,保证了 机械臂运动的效率和精度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明实施例一中的一种机械臂的控制方法的流程图;
图2是本发明实施例二中的一种机械臂的控制方法的流程图;
图3是本发明实施例三中的一种机械臂的控制方法的流程图;
图4为本发明实施例三中的X-Y平面内机械臂末端的轨迹规划图;
图5-图7为本发明实施例三中的机械臂的前三个轴在任意时刻的位置曲线图;
图8-图10为本发明实施例三中的机械臂的前三个轴在任意时刻的速度曲线图;
图11-图13为本发明实施例三中的机械臂的前三个轴在任意时刻的加速度曲线图;
图14为本发明实施例四中的一种机械臂的控制装置的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。另外还需要说明的是,为了便于说明,以下实施例中示出了与本发明相关的示 例,这些示例仅作为说明本发明实施例的原理所用,并不作为对本发明实施例的限定,同时,这些示例的具体数值会根据不同的应用环境和装置或者组件的参数不同而不同。
本发明实施例的一种机械臂的控制方法可以运行于安装有Windows(微软公司开发的操作系统平台)、Android(谷歌公司开发的用于便携式可移动智能设备的操作系统平台)、iOS(苹果公司开发的用于便携式可移动智能设备的操作系统平台)、Windows Phone(微软公司开发的用于便携式可移动智能设备的操作系统平台)等操作系统的终端中,该终端可以是台式机、笔记本电脑、移动电话、掌上电脑、平板电脑、数码相机、数码摄像机等等中的任意一种。
实施例一
图1是本发明实施例一中的一种机械臂的控制方法的流程图,该方法用于实现机械臂末端平稳的从一个运动方向切换至另一个运动方向,该方法可以由具有机械臂控制的装置来执行,该装置可以由软件和/或硬件方式实现,例如典型的是用户终端设备,例如手机、电脑等。本实施例中的用于触摸屏的操作方法包括:步骤S110、步骤S120和步骤S130。
步骤S110,获取机械臂末端在当前移动直线上的所在点的第一状态信息和所述机械臂末端在下一移动直线上预设点的第二状态信息。
具体的,在机械臂的任务操作过程中,机械臂的运动是指机械臂末端的运动,由机械臂末端来执行具体的操作任务。可以把机械臂在当前移动直线上的所在点作为该段轨迹的起点,该所在点记为0。机械臂按照用户指定的任务需求进行移动,移动至指定位置去执行对应操作,在机械臂的移动过程中,将下一直线上的预设点T作为过渡段的终点,下一移动直线的起点记为P1,终点记 为P2,获取机械臂末端在点O和点T的状态信息。
可选的,所述第一状态信息包括所述机械臂末端在所述所在点的位置、速度和加速度;所述第二状态信息包括所述机械臂末端在所述预设点的位置、速度和加速度。
其中,第一状态信息包括机械臂末端所在点的位置、速度和加速度分别为Q0
Figure PCTCN2016113289-appb-000020
Figure PCTCN2016113289-appb-000021
Q0
Figure PCTCN2016113289-appb-000022
Figure PCTCN2016113289-appb-000023
均为n维列向量,向量维数机械臂的关节数目;第二状态信息包括机械臂末端在预设点的位置、速度和加速度分别为Ps
Figure PCTCN2016113289-appb-000024
Figure PCTCN2016113289-appb-000025
Ps
Figure PCTCN2016113289-appb-000026
Figure PCTCN2016113289-appb-000027
均为n维列向量,向量维数机械臂的关节数目
步骤S120,根据所述第一状态信息和所述第二状态信息确定从所述所在点至所述预设点的移动轨迹的参数,所述机械臂末端在所述移动轨迹上的移动函数为连续函数。
具体的,为了确定机械臂从所述所在点至所述预设点的移动轨迹,首先需要确定计算移动轨迹所需要的参数,该参数由所述第一状态信息和所述第二状态信息决定。移动轨迹是由移动函数生成的直线或曲线构成的,函数是描述每个输入值(自变量)对应唯一输出值(因变量)的对应关系,函数图像是平面或曲面上的点对的集合。机械臂末端的移动轨迹是由移动函数在平面或曲面上确定的点对的集合,这些点对形成了机械臂末端的移动轨迹。
机械臂末端在所述移动轨迹上的移动函数为连续函数,连续函数是指当自变量变化很小时,因变量变化也很小的对应关系,体现在图像上是一条没有断裂的连续曲线。机械臂末端的移动轨迹为连续函数是指,机械臂末端的相关状态信息的量在数值上没有跳变,体现在实际运动中是机械臂在任务操作中不发生抖动。
步骤S130,控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点。
具体的,得到从所述所在点至所述预设点的移动轨迹后,控制机械臂末端的运动,机械臂末端沿计算出来的移动轨迹从当前直线的所在点位置移动至下一移动直线的预设点位置。
可选的,在控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点之后,还包括:所述机械臂末端从所述预设点根据所述下一移动直线的轨迹规划继续移动至所述下一移动直线的终点。
具体的,机械臂末端沿所述移动轨迹从当前直线的所在点移动至下一移动直线的预设点T之后,完成了从所在点到预设点的过渡,按用户需求根据下一移动直线的轨迹移动至下一直线的终点P2。按用户需求完成了沿下一移动直线的移动。
本发明实施例中,通过获取机械臂末端在当前移动直线上的所在点和机械臂末端在下一移动直线上预设点状态信息;规划从所述所在点至所述预设点的移动轨迹,控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点。实现了机械臂末端平稳的从一个运动方向切换至另一个运动方向,保证了机械臂运动的效率和精度。
实施例二
图2是本发明实施例二中一种机械臂的控制方法的流程图,本发明实施例实在实施例一的基础上,进一步解释了步骤S110,所述获取机械臂末端在当前移动直线上的所在点的第一状态信息和所述机械臂末端在下一移动直线上预设 点的第二状态信息包括:获取所述机械臂末端在当前移动直线上的所在点的在关节空间下的第一状态信息;通过逆运动学方法,将所述预设点的第二状态信息由笛卡尔坐标表示转换成关节空间坐标表示。具体的,本实施例中机械臂的控制方法包括:步骤S210、步骤S220、步骤S230和步骤S240。
步骤S210,获取所述机械臂末端在当前移动直线上的所在点的在关节空间下的第一状态信息。
具体的,第一状态信息包括机械臂末端所在点的位置、速度和加速度分别为Q0
Figure PCTCN2016113289-appb-000028
Figure PCTCN2016113289-appb-000029
Q0
Figure PCTCN2016113289-appb-000030
Figure PCTCN2016113289-appb-000031
均为机械臂末端在关节空间下的状态表示,单位分别为rad、rad/s和rad/s2
步骤S220,通过逆运动学方法,将所述预设点的第二状态信息由笛卡尔坐标表示转换成关节空间坐标表示。
具体的,第二状态信息包括机械臂末端在预设点的位置、速度和加速度分别为Ps
Figure PCTCN2016113289-appb-000032
Figure PCTCN2016113289-appb-000033
Ps
Figure PCTCN2016113289-appb-000034
Figure PCTCN2016113289-appb-000035
为均为机械臂在笛卡尔空间下的状态表示,单位分别为m、m/s和m/s2。根据逆运动学的变换方法,通过雅各比矩阵完成第二状态信息由笛卡尔坐标系表示到关节空间坐标表示的转换。
可选的,所述通过逆运动学方法,将所述预设点的第二状态信息由笛卡尔坐标表示转换成关节空间坐标表示包括:根据公式
Figure PCTCN2016113289-appb-000036
进行笛卡尔坐标表示向关节空间坐标表示的转换,其中
Figure PCTCN2016113289-appb-000037
Figure PCTCN2016113289-appb-000038
分别为笛卡尔坐标系下机械臂末端的速度和加速度,
Figure PCTCN2016113289-appb-000039
Figure PCTCN2016113289-appb-000040
分别为关节空间坐标系下机械臂末端的速度和加速度,J为雅可比矩阵,
Figure PCTCN2016113289-appb-000041
为雅可比矩阵的一阶导,J+为J的伪逆。
其中,根据逆运动学的变换关系,即关节空间的坐标表示和任务空间的坐标表示之间的关系
Figure PCTCN2016113289-appb-000042
得到
Figure PCTCN2016113289-appb-000043
步骤S230,根据所述第一状态信息和所述第二状态信息确定从所述所在点至所述预设点的移动轨迹的参数,所述机械臂末端在所述移动轨迹上的移动函数为连续函数。
步骤S240,控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点。
本发明实施例通过获取所述机械臂末端在当前移动直线上的所在点的在关节空间下的第一状态信息,通过逆运动学方法,将所述预设点的第二状态信息由笛卡尔坐标表示转换成关节空间坐标表示,将第一状态信息和第二状态信息统一成关节空间的坐标表示,以便对机械臂末端从所在点到预设点的移动轨迹进行准确规划。
实施例三
图3是本发明实施例中的一种机械臂的控制方法的流程图,本实施例是在实施例一的基础上,进一步解释了步骤S120,通过S型速度规划法、多阶样条插值法和/或B样条插补法规划所述下一移动直线在笛卡尔坐标系下的插补点;通过多阶多项式和/或三角函数法,分别确定所述位置函数、速度函数和加速度函数对应的参数。具体的,本实施例中机械臂的控制方法包括:步骤S310、步骤S320、步骤S330和步骤S340。
步骤S310,获取机械臂末端在当前移动直线上的所在点的第一状态信息和所述机械臂末端在下一移动直线上预设点的第二状态信息。
步骤S320,通过S型速度规划法、多阶样条插值法和/或B样条插补法规划所述下一移动直线在笛卡尔坐标系下的插补点。
具体的,当前移动直线和下一移动直线的状态信息可以是预先规划的,也可以是根据机械臂执行任务操作的过程中按照用户新的需求进行更新的。S型速度规划法,系统在加减速段的速度曲线的形状呈现S型,加减速控制的方式比较复杂,主要是在加减速的时候,通过对加速度的导数的控制,从而对加速度、速度和位移进行控制,最大限度的减少对系统造成的影响。多阶样条插值法是通过一系列形值点的一条光滑曲线,数学上通过求解三弯矩方程组得出曲线函数组的过程。B样条曲线插补具有几何不变性、凸包性、保凸性、变差减小性和局部支撑性等特性。通过S型速度规划法、多阶样条插值法和/或B样条插补法规划所述下一移动直线在笛卡尔坐标系下的插补点,Pt=[xt,yt,zt]T,速度
Figure PCTCN2016113289-appb-000044
加速度
Figure PCTCN2016113289-appb-000045
t为时间点,xt,yt,zt是机械臂末端在笛卡尔空间的三个坐标轴的位置分量,
Figure PCTCN2016113289-appb-000046
是机械臂末端在笛卡尔空间的三个坐标轴的速度分量,
Figure PCTCN2016113289-appb-000047
是机械臂末端在笛卡尔空间的三个坐标轴的加速度分量。
步骤S330,通过多阶多项式和/或三角函数法,分别确定所述位置函数、速度函数和加速度函数对应的参数。
具体的,多阶多项式法即构造多阶多项式曲线,该多阶多项式曲线即为轨迹规划中的移动曲线,多阶多项式法的参数与所述位置函数、速度函数和加速度函数相关。三角函数法,即通过正余弦等三角函数,通过位置函数、速度函数和加速度函数,确定其对应的参数。
步骤S340,控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点。
可选的,所述移动函数包括:所述机械臂末端在所述移动轨迹上的位置函 数、速度函数和加速度函数。
可选的,所述通过多阶多项式和/或三角函数法,分别确定所述位置函数、速度函数和加速度函数对应的参数包括:根据如下五阶多项式曲线公式,确定所述位置函数、速度函数和加速度函数对应的参数;
a0=Q0
Figure PCTCN2016113289-appb-000048
Figure PCTCN2016113289-appb-000049
Figure PCTCN2016113289-appb-000050
Figure PCTCN2016113289-appb-000051
Figure PCTCN2016113289-appb-000052
其中,Q0
Figure PCTCN2016113289-appb-000053
Figure PCTCN2016113289-appb-000054
分别为所述所在点的关节空间的位置、速度和加速度,Qs
Figure PCTCN2016113289-appb-000055
Figure PCTCN2016113289-appb-000056
分别为所述预设点在关节空间的位置、速度和加速度,h为所述所在点和所述预设点之间的距离,ttrans机械臂末端从所述所在点移动至所述预设点的时间。
具体的,通过五阶多项式曲线公式,确定所述位置函数、速度函数和加速度函数对应的参数a0、a1、a2、a3、a4和a5,各参数分别与机械臂末端的所在点的速度和加速度、预设点的速度和加速度、所在点和预设点的距离相关。
可选的,所述通过多阶多项式和/或三角函数法,分别确定所述位置函数、速度函数和加速度函数对应的参数还包括:根据如下公式计算机所述所在点至所述预设点之间任意时刻的机械臂末端的位置、速度和加速度;
Qt=Q0+a1t+a2t2+a3t3+a4t4+a5t5
Figure PCTCN2016113289-appb-000057
Figure PCTCN2016113289-appb-000058
其中,Qt
Figure PCTCN2016113289-appb-000059
Figure PCTCN2016113289-appb-000060
分别为所述机械臂末端在所述所在点至所述预设点之间任意点的位置、速度和加速度。
具体的,计算出参数a0、a1、a2、a3、a4和a5后,根据该参数的值设计函数表达式,计算所在点至所述预设点之间任意时刻的机械臂末端的位置、速度和加速度。该函数表达式根据用户的需要进行设定,可以是线性函数表达式,也可以是非线性函数表达式。
本发明实施例中,通过规划所述下一移动直线在笛卡尔坐标系下的插补点,并确定所述位置函数、速度函数和加速度函数对应的参数,确定机械臂末端从所在点到预设点的移动轨迹,机械臂末端沿该轨迹进行移动。
为了使方案的表述更易理解,以实施例一至实施例三为基础,可选的,以一个实际应用的例子进行说明。对一个SCARA型四轴机械臂末端从坐标[0.6,0,0]T直线运行到[0.289,0.156,-0.078]T,然后使用上述实施例提出的算法,从当前位置规划出一个过渡段曲线到[0.189,0.2,-0.094]T,然后直线运行到终点[0,0.2,0]T值得注意的是,以下参数取值只是一种示例性取值,还可以存在其他取值,具体数值不同,机械臂末端移动轨迹的精度也不同,可以根据情况进行相关调整。图4为X-Y平面内机械臂末端的轨迹规划图,机械臂末端位置的X轴分量和机械臂末端位置的Y轴分量的单位均为米,曲线410为机械臂末端在该规划轨迹中的实际移动曲线。图5-图7为机械臂的前三个轴在任意时刻的位置,时间单位均为秒(s),位置单位均为弧度(rad),曲线510、曲线610和 曲线710分别代表机械臂前三个轴的位置曲线,点5101和点5102之间的曲线、点6101和点6102之间的曲线、点7101和点7102之间的曲线分别代表机械臂末端从所在点到预设点的位置曲线。图8-图10为机械臂的前三个轴在任意时刻的速度,时间单位均为秒(s),速度单位均为弧度每秒(rad/s),曲线810、曲线910和曲线1010分别代表机械臂前三个轴的速度曲线,点8101和点8102之间的曲线、点9101和点9102之间的曲线、点10101和点10102之间的曲线分别代表机械臂末端从所在点到预设点的速度曲线。图11-图13为机械臂的前三个轴在任意时刻的加速度,时间单位均为秒(s),加速度单位均为弧度每二次方秒(rad/s2)。曲线1110、曲线1210和曲线1310分别代表机械臂前三个轴的加速度曲线,点11101和点11102之间的曲线、点12101和点12102之间的曲线、点13101和点13102之间的曲线分别代表机械臂末端从所在点到预设点的加速度曲线。从图可以看到,在关节空间坐标系的各个轴的位置、速度和加速度都连续。
实施例四
图14是本发明实施例四中的一种机械臂的控制装置的结构图。该装置适用于执行本发明实施例一至三中提供的机械臂的控制方法,该装置具体包括:获取单元1410、确定单元1420和控制单元1430。
获取单元1410,用于获取机械臂末端在当前移动直线上的所在点的第一状态信息和所述机械臂末端在下一移动直线上预设点的第二状态信息;
确定单元1420,与获取单元1410相连,用于根据所述第一状态信息和所述第二状态信息确定从所述所在点至所述预设点的移动轨迹的参数,所述机械 臂末端在所述移动轨迹上的移动函数为连续函数;
控制单元1430,与确定单元1420相连,用于控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点。
进一步的,所述第一状态信息包括所述机械臂末端在所述所在点的位置、速度和加速度;所述第二状态信息包括所述机械臂末端在所述预设点的位置、速度和加速度,获取单元1410包括:
信息获取子单元,用于获取所述机械臂末端在当前移动直线上的所在点的在关节空间下的第一状态信息;
信息转换子单元,与所述信息获取子单元相连,用于通过逆运动学方法,将所述预设点的第二状态信息由笛卡尔坐标表示转换成关节空间坐标表示。
进一步的,确定单元1420具体用于:通过S型速度规划法、多阶样条插值法和/或B样条插补法规划所述下一移动直线在笛卡尔坐标系下的插补点。
进一步的,所述移动函数包括:所述机械臂末端在所述移动轨迹上的位置函数、速度函数和加速度函数;确定单元1420还用于通过多阶多项式和/或三角函数法,分别确定所述位置函数、速度函数和加速度函数对应的参数。
进一步的,确定单元1420具体用于:根据公式
Figure PCTCN2016113289-appb-000061
进行笛卡尔坐标表示向关节空间坐标表示的转换,其中
Figure PCTCN2016113289-appb-000062
Figure PCTCN2016113289-appb-000063
分别为笛卡尔坐标系下机械臂末端的速度和加速度,
Figure PCTCN2016113289-appb-000065
分别为关节空间坐标系下机械臂末端的速度和加速度,J为雅可比矩阵,
Figure PCTCN2016113289-appb-000066
为雅可比矩阵的一阶导,J+为J的伪逆。
进一步的,确定单元1420还用于根据如下五阶多项式曲线公式,确定所述位置函数、速度函数和加速度函数对应的参数;
a0=Q0
Figure PCTCN2016113289-appb-000067
Figure PCTCN2016113289-appb-000068
Figure PCTCN2016113289-appb-000069
Figure PCTCN2016113289-appb-000070
Figure PCTCN2016113289-appb-000071
其中,Q0
Figure PCTCN2016113289-appb-000072
Figure PCTCN2016113289-appb-000073
分别为所述所在点的关节空间的位置、速度和加速度,Qs
Figure PCTCN2016113289-appb-000074
Figure PCTCN2016113289-appb-000075
分别为所述预设点在关节空间的位置、速度和加速度,h为所述所在点和所述预设点之间的距离,ttrans为机械臂末端从所述所在点移动至所述预设点的时间。
进一步的,确定单元1420还用于根据如下公式计算机所述所在点至所述预设点之间任意时刻的机械臂末端的位置、速度和加速度;
Qt=Q0+a1t+a2t2+a3t3+a4t4+a5t5
Figure PCTCN2016113289-appb-000076
Figure PCTCN2016113289-appb-000077
其中,Qt
Figure PCTCN2016113289-appb-000078
Figure PCTCN2016113289-appb-000079
分别为所述机械臂末端在所述所在点至所述预设点之间任意点的位置、速度和加速度。
本发明实施例中,通过获取机械臂末端在当前移动直线上的所在点和机械臂末端在下一移动直线上预设点状态信息,规划从所述所在点至所述预设点的移动轨迹,控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设 点。实现了机械臂末端平稳的从一个运动方向切换至另一个运动方向,保证了机械臂运动的效率和精度。
显然,本领域技术人员应该明白,上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (12)

  1. 一种机械臂的控制方法,其特征在于,包括:
    获取机械臂末端在当前移动直线上的所在点的第一状态信息和所述机械臂末端在下一移动直线上预设点的第二状态信息;
    根据所述第一状态信息和所述第二状态信息确定从所述所在点至所述预设点的移动轨迹的参数,所述机械臂末端在所述移动轨迹上的移动函数为连续函数;
    控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点。
  2. 根据权利要求1所述的机械臂的控制方法,其特征在于,在控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点之后,还包括:
    所述机械臂末端从所述预设点根据所述下一移动直线的轨迹规划继续移动至所述下一移动直线的终点。
  3. 根据权利要求1所述的机械臂的控制方法,其特征在于,所述第一状态信息包括所述机械臂末端在所述所在点的位置、速度和加速度;所述第二状态信息包括所述机械臂末端在所述预设点的位置、速度和加速度。
  4. 根据权利要求3所述的机械臂的控制方法,其特征在于,所述获取机械臂末端在当前移动直线上的所在点的第一状态信息和所述机械臂末端在下一移动直线上预设点的第二状态信息包括:
    获取所述机械臂末端在当前移动直线上的所在点的在关节空间下的第一状态信息;
    通过逆运动学方法,将所述预设点的第二状态信息由笛卡尔坐标表示转换成关节空间坐标表示。
  5. 根据权利要求4所述的机械臂的控制方法,其特征在于,所述根据所述 第一状态信息和所述第二状态信息确定从所述所在点至所述预设点的移动轨迹的参数包括:
    通过S型速度规划法、多阶样条插值法和/或B样条插补法规划所述下一移动直线在笛卡尔坐标系下的插补点。
  6. 根据权利要求5所述的机械臂的控制方法,其特征在于,所述移动函数包括:
    所述机械臂末端在所述移动轨迹上的位置函数、速度函数和加速度函数。
  7. 根据权利要求6所述的机械臂的控制方法,其特征在于,所述根据所述第一状态信息和所述第二状态信息确定从所述所在点至所述预设点的移动轨迹的参数,所述机械臂末端在所述移动轨迹上的移动函数为连续函数还包括:
    通过多阶多项式和/或三角函数法,分别确定所述位置函数、速度函数和加速度函数对应的参数。
  8. 根据权利要求4所述的机械臂的控制方法,其特征在于,所述通过逆运动学方法,将所述预设点的第二状态信息由笛卡尔坐标表示转换成关节空间坐标表示包括:
    根据公式
    Figure PCTCN2016113289-appb-100001
    进行笛卡尔坐标表示向关节空间坐标表示的转换,其中
    Figure PCTCN2016113289-appb-100002
    Figure PCTCN2016113289-appb-100003
    分别为笛卡尔坐标系下机械臂末端的速度和加速度,
    Figure PCTCN2016113289-appb-100004
    Figure PCTCN2016113289-appb-100005
    分别为关节空间坐标系下机械臂末端的速度和加速度,J为雅可比矩阵,
    Figure PCTCN2016113289-appb-100006
    为雅可比矩阵的一阶导,J+为J的伪逆。
  9. 根据权利要求7所述的机械臂的控制方法,其特征在于,所述通过多阶多项式和/或三角函数法,分别确定所述位置函数、速度函数和加速度函数对应的参数包括:根据如下五阶多项式曲线公式,确定所述位置函数、速度函数和 加速度函数对应的参数;
    a0=Q0
    Figure PCTCN2016113289-appb-100007
    Figure PCTCN2016113289-appb-100008
    Figure PCTCN2016113289-appb-100009
    Figure PCTCN2016113289-appb-100010
    Figure PCTCN2016113289-appb-100011
    其中,Q0
    Figure PCTCN2016113289-appb-100012
    Figure PCTCN2016113289-appb-100013
    分别为所述所在点关节空间的位置、速度和加速度,Qs
    Figure PCTCN2016113289-appb-100014
    Figure PCTCN2016113289-appb-100015
    分别为所述预设点在关节空间的位置、速度和加速度,h为所述所在点和所述预设点之间的距离,ttrans为机械臂末端从所述所在点移动至所述预设点的时间。
  10. 根据权利要求7所述的机械臂的控制方法,其特征在于,所述通过多阶多项式和/或三角函数法,分别确定所述位置函数、速度函数和加速度函数对应的参数还包括:根据如下公式计算机所述所在点至所述预设点之间任意时刻的机械臂末端的位置、速度和加速度;
    Qt=Q0+a1t+a2t2+a3t3+a4t4+a5t5
    Figure PCTCN2016113289-appb-100016
    Figure PCTCN2016113289-appb-100017
    其中,Qt
    Figure PCTCN2016113289-appb-100018
    Figure PCTCN2016113289-appb-100019
    分别为所述机械臂末端在所述所在点至所述预设点之间任意点的位置、速度和加速度。
  11. 一种机械臂的控制装置,其特征在于,包括:
    获取单元,用于获取机械臂末端在当前移动直线上的所在点的第一状态信息和所述机械臂末端在下一移动直线上预设点的第二状态信息;
    确定单元,与所述获取单元相连,用于根据所述第一状态信息和所述第二状态信息确定从所述所在点至所述预设点的移动轨迹的参数,所述机械臂末端在所述移动轨迹上的移动函数为连续函数;
    控制单元,与所述确定单元相连,用于控制所述机械臂末端沿所述移动轨迹从所述所在点移动至所述预设点。
  12. 根据权利要求11所述的机械臂的控制装置,其特征在于,所述第一状态信息包括所述机械臂末端在所述所在点的位置、速度和加速度;所述第二状态信息包括所述机械臂末端在所述预设点的位置、速度和加速度,
    所述获取单元包括:
    信息获取子单元,用于获取所述机械臂末端在当前移动直线上的所在点的在关节空间下的第一状态信息;
    信息转换子单元,与所述信息获取子单元相连,用于通过逆运动学方法,将所述预设点的第二状态信息由笛卡尔坐标表示转换成关节空间坐标表示。
PCT/CN2016/113289 2016-11-09 2016-12-29 机械臂的控制方法和装置 WO2018086226A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610984458.4A CN106346478A (zh) 2016-11-09 2016-11-09 机械臂的控制方法和装置
CN201610984458.4 2016-11-09

Publications (1)

Publication Number Publication Date
WO2018086226A1 true WO2018086226A1 (zh) 2018-05-17

Family

ID=57861504

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/113289 WO2018086226A1 (zh) 2016-11-09 2016-12-29 机械臂的控制方法和装置

Country Status (2)

Country Link
CN (1) CN106346478A (zh)
WO (1) WO2018086226A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108656117A (zh) * 2018-05-21 2018-10-16 武汉理工大学 一种多约束条件下最优时间的机械臂空间轨迹优化方法
CN113768626A (zh) * 2020-09-25 2021-12-10 武汉联影智融医疗科技有限公司 手术机器人控制方法、计算机设备及手术机器人系统
CN114505869A (zh) * 2022-02-17 2022-05-17 西安建筑科技大学 一种化学试剂智配机控制系统
CN114851190A (zh) * 2022-04-21 2022-08-05 深圳市华成工业控制股份有限公司 面向低频驱控一体的机械臂轨迹规划方法及系统
CN114952868A (zh) * 2022-07-26 2022-08-30 之江实验室 7自由度srs型机械臂控制方法及装置、弹琴机器人
CN116572238A (zh) * 2023-05-18 2023-08-11 南京理工大学 一种基于状态预测的机器人操作臂点到点运动规划方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106950924B (zh) * 2017-04-19 2019-05-07 广州视源电子科技股份有限公司 机器人圆弧运动控制方法和系统
CN108262747B (zh) * 2018-01-16 2021-07-13 广州视源电子科技股份有限公司 运动轨迹规划方法、装置、机器人及存储介质
CN108595027B (zh) * 2018-04-02 2021-03-05 昆山中骏博研互联网科技有限公司 一种数码同步笔的笔迹图像抖动减轻方法
WO2020093253A1 (zh) * 2018-11-06 2020-05-14 深圳配天智能技术研究院有限公司 机器人的运动控制方法、控制系统和存储装置
CN111002306B (zh) * 2019-11-15 2021-04-09 杭州项淮机械科技有限公司 一种基于电子凸轮的机器人运动控制方法及控制系统
CN111230876B (zh) * 2020-02-06 2021-11-02 腾讯科技(深圳)有限公司 移动物品的方法、装置、智能设备以及存储介质
CN111230877B (zh) * 2020-02-06 2021-07-30 腾讯科技(深圳)有限公司 移动物品的方法及智能设备
CN111993411A (zh) * 2020-07-07 2020-11-27 深圳市优必选科技股份有限公司 一种机器人运动规划方法、装置、机器人及存储介质
CN111897216B (zh) * 2020-07-16 2021-07-02 华中科技大学 一种多运动段速度规划和插补方法
CN111913441B (zh) * 2020-08-06 2021-11-09 南京工程学院 一种基于轨迹模式的拐角平滑过渡方法
CN112706166B (zh) * 2020-12-22 2022-12-27 江苏集萃智能制造技术研究所有限公司 一种基于s型与三角函数的多关节同步轨迹规划方法
CN116512254B (zh) * 2023-04-11 2024-01-23 中国人民解放军军事科学院国防科技创新研究院 基于方向的机械臂智能控制方法及系统、设备、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190136A1 (en) * 2005-02-24 2006-08-24 Paragon Technical Services, Inc. Method and system for controlling a manipulator
CN101898358A (zh) * 2009-05-29 2010-12-01 库卡机器人有限公司 用于控制机械手的方法及装置
CN103970139A (zh) * 2014-05-09 2014-08-06 上海交通大学 一种机器人连续点位运动规划方法及其运动控制器
CN104020665A (zh) * 2014-06-25 2014-09-03 北京邮电大学 基于多目标粒子群算法的机械臂最小跃度轨迹优化方法
CN105710881A (zh) * 2016-03-16 2016-06-29 杭州娃哈哈精密机械有限公司 一种机器人末端连续轨迹规划过渡方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102794767B (zh) * 2012-08-31 2014-09-24 江南大学 视觉引导的机器人关节空间b样条轨迹规划方法
CN103147577B (zh) * 2013-02-27 2015-04-01 中联重科股份有限公司 多关节类机械臂架的控制方法、设备、系统及工程机械
TWI530375B (zh) * 2014-02-05 2016-04-21 廣明光電股份有限公司 機器手臂的教導裝置及方法
CN104626142A (zh) * 2014-12-24 2015-05-20 镇江市计量检定测试中心 一种用于砝码检定的双目视觉机械手自动定位和移动方法
CN104647379A (zh) * 2015-01-19 2015-05-27 广东工业大学 一种驱动器非线性条件下的双臂机器人运动控制方法
CN105014677B (zh) * 2015-07-07 2016-07-20 西安交通大学 基于Camshift视觉跟踪和D-H建模算法的视觉机械臂控制方法
CN105082156B (zh) * 2015-08-12 2017-04-12 珞石(北京)科技有限公司 一种基于速度最优控制的空间轨迹平滑方法
CN105500354B (zh) * 2016-02-02 2017-05-17 南京埃斯顿机器人工程有限公司 一种工业机器人应用的过渡轨迹规划方法
CN106041941B (zh) * 2016-06-20 2018-04-06 广州视源电子科技股份有限公司 一种机械臂的轨迹规划方法及装置
CN105965512B (zh) * 2016-07-15 2019-04-16 爱普(福建)科技有限公司 一种工业多轴机械臂的运动再现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190136A1 (en) * 2005-02-24 2006-08-24 Paragon Technical Services, Inc. Method and system for controlling a manipulator
CN101898358A (zh) * 2009-05-29 2010-12-01 库卡机器人有限公司 用于控制机械手的方法及装置
CN103970139A (zh) * 2014-05-09 2014-08-06 上海交通大学 一种机器人连续点位运动规划方法及其运动控制器
CN104020665A (zh) * 2014-06-25 2014-09-03 北京邮电大学 基于多目标粒子群算法的机械臂最小跃度轨迹优化方法
CN105710881A (zh) * 2016-03-16 2016-06-29 杭州娃哈哈精密机械有限公司 一种机器人末端连续轨迹规划过渡方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108656117A (zh) * 2018-05-21 2018-10-16 武汉理工大学 一种多约束条件下最优时间的机械臂空间轨迹优化方法
CN113768626A (zh) * 2020-09-25 2021-12-10 武汉联影智融医疗科技有限公司 手术机器人控制方法、计算机设备及手术机器人系统
CN113768626B (zh) * 2020-09-25 2024-03-22 武汉联影智融医疗科技有限公司 手术机器人控制方法、计算机设备及手术机器人系统
CN114505869A (zh) * 2022-02-17 2022-05-17 西安建筑科技大学 一种化学试剂智配机控制系统
CN114851190A (zh) * 2022-04-21 2022-08-05 深圳市华成工业控制股份有限公司 面向低频驱控一体的机械臂轨迹规划方法及系统
CN114952868A (zh) * 2022-07-26 2022-08-30 之江实验室 7自由度srs型机械臂控制方法及装置、弹琴机器人
CN116572238A (zh) * 2023-05-18 2023-08-11 南京理工大学 一种基于状态预测的机器人操作臂点到点运动规划方法
CN116572238B (zh) * 2023-05-18 2024-04-09 南京理工大学 一种基于状态预测的机器人操作臂点到点运动规划方法

Also Published As

Publication number Publication date
CN106346478A (zh) 2017-01-25

Similar Documents

Publication Publication Date Title
WO2018086226A1 (zh) 机械臂的控制方法和装置
EP3342550A1 (en) Manipulator system
US11325256B2 (en) Trajectory planning for path-based applications
CN111844128A (zh) 轨道计划装置以及轨道计划方法
US20150273689A1 (en) Robot control device, robot, robotic system, teaching method, and program
Lambrecht et al. Spatial programming for industrial robots based on gestures and augmented reality
US20140031982A1 (en) Robotic system and robot control device
JP2006293826A (ja) ロボットプログラム補正装置
JP6508691B1 (ja) 制御装置、作業ロボット、プログラム、及び、制御方法
JP2013132731A (ja) ロボット制御システム、ロボットシステム及びロボット制御方法
CN114641375A (zh) 动态规划控制器
US11559893B2 (en) Robot control for avoiding singular configurations
CN111684380A (zh) 机器人的运动控制方法、控制系统和存储装置
US20230286148A1 (en) Robot control parameter interpolation
US11904473B2 (en) Transformation mode switching for a real-time robotic control system
CN112405527A (zh) 工件表面圆弧轨迹加工方法及相关装置
CN108789413A (zh) 基于三段三次多项式的机械臂自由边界运动规划方法
CN111216136A (zh) 多自由度机械手臂控制系统、方法、存储介质、计算机
Parga et al. Tele-manipulation of robot arm with smartphone
US11518024B2 (en) Extensible underconstrained robotic motion planning
CN112405525B (zh) 奇异位置规避方法、系统、设备及计算机可读存储介质
CN115703227A (zh) 机器人的控制方法、机器人以及计算机可读存储介质
US11577391B2 (en) Trajectory generation device, trajectory generation method, and robot system
CN115808904A (zh) 一种工业机器人圆弧过辅助点轨迹规划方法
CN106393081B (zh) 人机交互的机械手控制方法、终端及系统

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: 16921263

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 04.10.2019)

122 Ep: pct application non-entry in european phase

Ref document number: 16921263

Country of ref document: EP

Kind code of ref document: A1