Disclosure of Invention
The present invention has been made in view of the above problems. Embodiments of the invention provide a motion control system, a method for controlling the motion of a robot and a robot.
According to one aspect of the present invention, a motion control system for controlling the motion of a robot is provided. The motion control system includes: a motion control means and a first memory,
the first memory comprises a plurality of memory areas, and at least two memory areas in the plurality of memory areas are used for pre-storing different groups of motion data;
the motion control component is used for receiving a first control command and controlling the robot to move based on motion data prestored in a target storage area corresponding to the first control command in the plurality of storage areas.
The motion control unit is a plurality of motion control units, and the motion control system further comprises a master control unit for connecting the motion control unit to a robot control device, wherein the robot control device is used for controlling the motion control system;
the main control unit comprises a second memory, the second memory is used for storing cooperative control information, and the cooperative control information comprises corresponding relation information of a second control command and a storage area of the first memory;
the main control unit is used for receiving a second control command, inquiring the cooperative control information according to the second control command to determine a motion control unit and a target storage area corresponding to the second control command, and sending the first control command to the determined motion control unit so that the determined motion control unit controls the robot to move based on motion data prestored in the target storage area corresponding to the first control command.
Illustratively, the first memory is integrated in the master control unit, the different sets of motion data are motion parameters of different actions received from the robot control device, and the first control command includes the motion data pre-stored in the target storage area corresponding to the first control command;
each motion control component comprises a resolving unit and a driving and controlling unit,
the resolving unit is used for resolving the motion data prestored in the target storage area corresponding to the first control command to generate corresponding wave table data;
the driving and controlling unit is used for generating waveforms according to the corresponding wavetable data and driving and controlling the robot to move based on the waveforms.
Illustratively, the master control component is implemented with a gateway.
Illustratively, the motion control component further comprises a solution unit, the first memory being integrated within the motion control component and connected to the solution unit;
the resolving unit is used for resolving motion parameters of different actions received from the robot control equipment to generate different sets of motion data; the different groups of motion data are prestored in the storage areas corresponding to the first memories according to storage instructions received from the robot control equipment;
wherein the robot control device is for controlling the motion control system.
Illustratively, the motion control part further comprises a driving and controlling unit connected with the first memory, and the driving and controlling unit is used for generating a waveform based on the pre-stored motion data of the target memory area corresponding to the first control command in the plurality of memory areas and driving the robot to move based on the waveform.
Illustratively, the plurality of storage regions further comprises at least one cache region.
According to another aspect of the present invention, a robot is provided. The robot comprises the motion control system.
According to still another aspect of the present invention, there is provided a motion control method for controlling a motion of a robot. The motion control method is used for a motion control system comprising a motion control section and a first memory, characterized in that,
the motion control method includes:
receiving, by the motion control component, a first control command;
and controlling the robot to move by using the motion control component based on the motion data prestored in the target storage area corresponding to the first control command in the first memory, wherein the first memory comprises a plurality of storage areas, and at least two of the plurality of storage areas are used for prestoring different groups of motion data.
Illustratively, the motion control unit is a plurality of motion control units, the motion control system further comprises a master control unit for connecting the motion control unit to a robot control device, wherein the robot control device is for controlling the motion control system,
the main control unit comprises a second memory, the second memory is used for storing cooperative control information, and the cooperative control information comprises corresponding relation information of a second control command and a storage area of the first memory;
the motion control method includes:
receiving, by the master control component, a second control command;
and querying the cooperative control information by using the main control unit according to the second control command to determine a motion control unit and a target storage area corresponding to the second control command, and sending the first control command to the determined motion control unit so that the determined motion control unit controls the robot to move based on motion data prestored in the target storage area corresponding to the first control command in the first memory.
Illustratively, the different sets of motion data are motion parameters of different actions received from the robotic control device;
the controlling the robot to move based on the motion data prestored in the target storage area corresponding to the first control command in the first memory comprises:
resolving the motion data prestored in the target storage area corresponding to the first control command to generate corresponding wave table data;
and generating a waveform according to the corresponding wavetable data and driving and controlling the robot to move based on the waveform.
Illustratively, the motion control method further includes:
resolving motion parameters of different actions received from the robot control device to generate the different sets of motion data;
pre-storing the different groups of motion data in a storage area corresponding to the first memory according to a storage instruction received from the robot control device;
wherein the robot control device is for controlling the motion control system.
Illustratively, the controlling the robot motion based on the motion data prestored in the target storage area corresponding to the first control command in the first memory comprises:
generating a waveform based on the pre-stored motion data of the target storage area corresponding to the first control command; and
and controlling the robot to move based on the waveform.
According to the motion control system and the motion control method for controlling the motion of the robot, motion data corresponding to the motion required to be executed by the robot are prestored, namely a group of corresponding motion data is prestored aiming at one motion, so that the robot can be controlled to execute the corresponding motion by calling the prestored motion data. Therefore, the control mode of the robot is greatly simplified, and the working efficiency and the user experience are improved.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, exemplary embodiments according to the present invention will be described in detail below with reference to the accompanying drawings. It is to be understood that the described embodiments are merely a subset of embodiments of the invention and not all embodiments of the invention, with the understanding that the invention is not limited to the example embodiments described herein. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the invention described herein without inventive step, shall fall within the scope of protection of the invention.
The operation of the robot is generally achieved by controlling a motor in cooperation with a motion-performing member (e.g., a lead screw or a reducer, etc.). Taking a multi-joint robot (or called as a multi-joint manipulator, a multi-axis robot, a mechanical arm, etc.) which performs motion control by using a motor in cooperation with a reducer as an example, the robot is realized by controlling the operation of the motor in cooperation with the reducer to clamp a target object from an initial position to a target position according to a predetermined route. Such articulated robots are commonly used for mechanical automation operations in many industrial fields.
The articulated robot may be, for example, a four-joint robot (four-axis robot), a six-joint robot (six-axis robot), or the like. They each include a base, an arm, and an end effector (e.g., an object holder). The number of joints on the arm determines the number of 'axes' of the robot, and each joint is driven by the rotation of one motor to realize the movement of the joint. Fig. 1 shows a schematic block diagram of a robot 100 according to an embodiment of the invention. As shown in fig. 1, the robot 100 is a four-joint robot, and includes a base 110, a large arm 120, a small arm 130, a motor 140, and a reducer 150. The small arm 130 may further be connected with a wrist (not shown), and the wrist may have a claw thereon to perform functions such as grasping an object. Moving parts (such as a motor and a reducer) may be provided at each joint of the robot 100. For example, a set of motor and reducer (not shown) is provided in the housing of the base 110, and an output shaft of the reducer is connected to the upper cover of the base 110. The upper cover of the base 110 is provided with a large arm 120, the bottom of the large arm 120 is provided with another set of motor 140 and speed reducer 150, and the output shaft of the speed reducer 150 is connected with the body of the large arm 120. Another set of motor and reducer (not shown) is provided at the upper portion of the large arm 120, and the output shaft of the reducer is connected to the body of the small arm 130. Another set of motor and reducer (not shown) may be provided at the front end of the small arm 130, and the output shaft of the reducer is connected to the body of the wrist. Various end effectors, such as an object holder, may be mounted on the wrist. The motor in the base 110 can rotate to drive the upper cover of the base 110 to rotate 360 degrees in the horizontal direction, and further drive the large arm 120 and the small arm 130 of the robot 100 to rotate 360 degrees in the horizontal direction. The rotation of the motor 140 may drive the large arm 120 to move forward and downward along the direction of S1 or backward and upward along the direction of S2, and further drive the small arm 130 and so on to move along the direction of S1 or S2. The motor rotation of the upper part of the large arm 120 can drive the small arm 130 to rotate, thereby carrying the wrist and the like to rotate. The rotational movement of the motor at the other end of the arm 130 may drive the wrist to rotate, which in turn drives the end effector to rotate. The motor on the end effector can also drive the end effector to clamp objects and other operations.
The user can set and control the parameters of the robot through the robot control equipment (such as a computer, a demonstrator and the like). The user can implement motion control of the robot by editing the motion parameters of each joint, which are actually the motion parameters of the moving parts (e.g., motors) that control the robot. After editing the motion parameters of the robot, the user sends the motion parameters to a motion control part (or called as a drive controller) of the robot, and the motion control part calculates the received motion parameters and then controls the motion of the motion part. The motion control component can be separately arranged outside the robot, connected with each motion component (such as a motor) on the robot through a connecting wire, and also can be arranged in a body shell of the robot. Each moving part of the robot is controlled to move according to the movement route set by the user through different movement parameters, so that the robot can be controlled, and the robot can complete various functions set by the user.
As described in the background art, the control of the robot is "calculation-ready" at present, that is, each action of the robot requires a user to calculate and input a corresponding motion parameter each time, and then the calculation is performed, and the motion of the motor is controlled based on the motor control data obtained by the calculation. The motion parameter may be, for example, a PVT parameter, and p (position) represents a destination position of the motion, and may be, for example, a rotation angle desired to be achieved or a displacement position desired to be achieved; v (velocity) represents the speed of the movement, and t (time) represents the time at which the movement reaches the destination position. The motion parameters need to be resolved and converted into motor control data to control the robot to move. The motor control data may be Pulse Width Modulation (PWM) wave table data, for example. The 'calculation-and-use' type control not only consumes time and affects the working efficiency, but also has higher requirement on the professional knowledge of operators, and the operators need to calculate the motion parameters of corresponding actions, so that the user experience is poor. To this end, the invention provides a motion control system for controlling the motion of a robot.
A motion control system for controlling the motion of a robot according to an embodiment of the present invention will be described with reference to fig. 2. Fig. 2 shows a schematic block diagram of a motion control system 200 for controlling the motion of a robot according to one embodiment of the present invention. As shown in fig. 2, the system 200 includes a motion control component 210 and a first memory 220.
The first memory 220 includes a plurality of memory areas, and at least two of the plurality of memory areas are used to pre-store different sets of motion data. As shown in fig. 2, the first memory 220 includes n storage areas, i.e., storage area 1, storage area 2, and storage area … …, and storage area n. Different sets of motion data correspond to different actions that need to be performed by the robot, wherein each set of motion data corresponds to one action. For example, it is necessary for the robot to perform: action a (forward movement 10 cm), action B (left turn 90 degrees), action C (forward movement 20 cm), action D (right turn 135 degrees). Table 1 shows correspondence of the storage area of the pre-stored motion data to the motion. As shown in table 1, the motion data corresponding to the motion a, the motion B, the motion C, and the motion D may be pre-stored in different storage areas as different sets of motion data, respectively.
Table 1 table of pre-stored exercise data
Predefined actions
|
Corresponding motion data
|
Storage area identification
|
Action A
|
Motion data 1
|
Storage area 1
|
Action B
| Motion data | 2
|
Storage area 2
|
Action C
|
Motion data 3
|
Storage area 3
|
Action D
|
Motion data 4
|
Storage area 4 |
The motion control unit 210 is configured to receive a first control command, and control the robot to move based on motion data pre-stored in a target storage area corresponding to the received first control command among a plurality of storage areas in the first memory 220. The first control command is a command that triggers the robot to perform a desired action. Continuing with the above example, for example, the received first control command indicates that action B needs to be performed, and the corresponding target storage area is storage area 2. The motion control section 210 may control the robot motion based on the motion data 2 prestored in the storage area 2, that is, may cause the robot to perform the action B. Those skilled in the art will appreciate that the first memory 220 may be implemented as long as it can pre-store different sets of motion data through memory area division, and the specific connection manner between the first memory 220 and the motion control unit 210 may be designed according to actual engineering requirements. In other words, the first memory 220 may be an external memory independent from the motion control unit 210, or may be a built-in memory integrated in the motion control unit 210. Fig. 2 illustrates a case where the first memory 220 is an external memory independent from the motion control part 210, but should not be construed as limiting the present invention. The different sets of motion data pre-stored in the first memory 220 may be motion parameters, such as PVT parameters, and the motion control unit 210 calculates motor control data according to the pre-stored motion parameters to control the robot to move. The different sets of motion data pre-stored in the first memory 220 may also be motor control data, such as PWM wave table data, calculated according to the motion parameters, and the motion control unit 210 controls the robot to move according to the pre-stored motor control data.
The motion control system prestores motion data corresponding to the motion to be executed by the robot, namely prestores a group of corresponding motion data aiming at one motion, so that the robot can be controlled to execute the corresponding motion by calling the prestored motion data. Therefore, the control mode of the robot is greatly simplified, and the working efficiency and the user experience are improved.
Fig. 3 shows a schematic block diagram of a motion control system 300 and a robot control device 300a for controlling the motion of a robot according to another embodiment of the present invention. As shown in fig. 3, the motion control system 300 includes a motion control section 310 and a first memory 320. Wherein the motion control section 310 further comprises a drive unit 312 connected to the first memory 320. The driving and controlling unit 312 is configured to generate a waveform based on motion data pre-stored in a target storage region corresponding to the first control command received by the motion control system 300 among the plurality of storage regions in the first memory 320, and drive the robot to move based on the generated waveform. The robot control device 300a is used to control the motion control system 300. The motion data stored in the first memory 320 may be motor control data received from the robot control device 300a, and may be, for example, PWM wave table data. The driving and controlling unit 312 may generate PWM waveforms to drive the robot to move based on the PWM wave table data. Therefore, the integration level of the motion control system is further improved, and the motion control system can be directly connected with the motor of the robot to drive the robot to move. The robot is controlled to execute corresponding actions by calling the pre-stored motion data, so that the control mode of the robot is greatly simplified, and the working efficiency and the user experience are improved.
Fig. 4 shows a schematic block diagram of a motion control system 400 and a robot control device 400a for controlling the motion of a robot according to one embodiment of the present invention. As shown in fig. 4, the motion control system 400 includes a motion control component 410 and a first memory 420. The motion control unit 410 further includes a calculation unit 411 connected to the first memory 420, and a control unit 412 connected to the calculation unit 411. The robot control device 400a is used to control the motion control system 400. The motion data stored in the first memory 420 may be motion parameters received from the robot controlling device 400a, and may be PVT motion parameters, for example. The calculating unit 411 is configured to calculate motion data prestored in a target storage area corresponding to a first control command received by the motion control system 400 in the plurality of storage areas in the first memory 420, so as to obtain motor control data (e.g., PWM wave table data). The driving and controlling unit 412 generates a waveform based on the motor control data received from the resolving unit 411, and drives the robot to move based on the generated waveform. From this, further improved motion control system's integrated level, controlled the robot through calling the motion data that prestore and carry out corresponding action, greatly simplified the mode of controlling of robot, improved work efficiency and user experience.
Fig. 5 shows a schematic block diagram of a motion control system 500 and a robot control device 500a for controlling the motion of a robot according to yet another embodiment of the present invention. The robot control device 500a is used to control the motion control system 500. As shown in fig. 5, the motion control system 500 includes a motion control section 510 and a first memory 520. Wherein the motion control part 510 further comprises a solution unit 511, and the first memory 520 is integrated in the motion control part 510 and connected to the solution unit 511. The resolving unit 511 is configured to resolve the motion parameters of different actions received from the robot control device 500a to generate different sets of motion data; and different sets of calculated motion data are pre-stored in corresponding storage areas in the first memory 520 according to a storage instruction received from the robot control device 500 a.
The user sends the motion parameters of the different actions and corresponding stored instructions to the motion control system 500 through the robot control device 500 a. Wherein the motion parameters of the different actions correspond to the different actions to be performed by the robot, and the corresponding stored instructions indicate the storage locations in the first memory 520. After receiving the motion parameters of different actions, the motion control system 500 performs calculation by the calculation unit 511 in the motion control unit 510 to obtain the motion data corresponding to different actions. The calculated motion data is stored in the corresponding storage location in the first memory 520 according to the corresponding storage instruction. The motion parameters may be PVT parameters, for example. The motion parameters need to be resolved and converted into motor control data to control the robot to move. The motor control data may be, for example, PWM wave table data. For example, the robot control device 500a transmits the motion parameters of the motion Z and a storage instruction "store to storage area 3" to the motion control system 500. After the motion parameters of the motion Z are calculated, the calculation unit 511 stores the calculated motion data in the storage area 3 of the first memory 520.
The motion control system integrates the first memory into the motion control part, thereby improving the integration level of the motion control part and simplifying the design of the motion control system. The robot is controlled to execute corresponding actions by calling the pre-stored motion data, so that the control mode of the robot is greatly simplified, and the working efficiency and the user experience are improved.
In one embodiment, as shown in FIG. 5, the motion control component 510 further includes a drive and control unit 512 coupled to the first memory 520. The driving and controlling unit 512 is configured to generate a waveform based on motion data pre-stored in a target storage region corresponding to the first control command received by the motion control system 500 among the plurality of storage regions in the first memory 520, and drive the robot to move based on the generated waveform. The motion data stored in the first memory 520 is the calculated motor control data, such as PWM wave table data. The driving and controlling unit 512 generates a PWM waveform to drive the robot to move based on the PWM wave table data. Therefore, the integration level of the motion control system is further improved, and the motion control system can be directly connected with the motor of the robot to drive the robot to move. The robot is controlled to execute corresponding actions by calling the pre-stored motion data, so that the control mode of the robot is greatly simplified, and the working efficiency and the user experience are improved.
Fig. 6 shows a schematic block diagram of a motion control system 600 and a robot control device 600a for controlling the motion of a robot according to yet another embodiment of the present invention. As shown in fig. 6, the motion control system 600 includes a plurality of motion control units 610, a first memory 620, and a main control unit 630. The main control unit 630 is used to connect the motion control unit 610 to the robot control device 600 a. The robot control device 600a is used to control the motion control system 600. The main control unit 630 includes a second memory 631. The second memory 631 is used to store cooperative control information. The cooperative control information includes correspondence information of the second control command and the storage area of the first memory 620. The main control unit 630 is configured to receive a second control command, query the cooperative control information stored in the second memory 631 according to the received second control command, determine a motion control unit and a target storage area corresponding to the received second control command, and send the first control command to the determined motion control unit. And controlling the robot to move by the determined motion control part based on the motion data prestored in the target storage area corresponding to the first control command.
As can be understood by those skilled in the art, for a multi-joint robot, controlling the robot to perform actions requires that multiple joints of the robot be cooperatively controlled to perform corresponding decomposition actions, respectively. As in the robot 100 shown in fig. 1, controlling the robot 100 to perform an operation requires controlling the joints (the base 110, the upper arm 120, the lower arm 130, and the wrist) of the robot 100 in cooperation with each other to perform a corresponding disassembly operation. Taking the robot 100 as an example, table 2 shows the decomposed motion that needs to be cooperatively executed by each joint corresponding to the motion executed by the robot 100, and the drive motor of each joint drives each joint to cooperatively move based on the motion data of the corresponding decomposed motion, thereby driving the robot 100 to move so as to realize the motion that needs to be executed.
TABLE 2 decomposition of the actions of the robot 100
Robot 100
|
Base 110
|
Big arm 120
|
Forearm 130
|
Wrist (not shown)
|
Action X
|
Decomposition action X1
|
Decomposition action X2
|
Decomposition action X3
|
Decomposition action X4
|
Action Y
|
Decomposition action Y1
|
Decomposition action Y2
|
Decomposition action Y3
|
Decomposition action Y4
|
......
|
......
|
......
|
......
|
...... |
The motion data corresponding to each of the decomposition actions is stored in advance in the first memory 620. The cooperative control information including the correspondence information of the second control command with the storage area of the first memory 620 is stored through the second memory 631. The second control command is a command that triggers coordinated movement of the joints of the robot to perform the desired action. After receiving the second control command, the main control unit 630 reads the cooperative control information stored in the second memory 631 according to the second control command index, thereby obtaining the cooperative control information corresponding to the second control command. The joint requiring the cooperative motion and the motion data of the decomposed motion that each joint needs to perform are indicated in the cooperative control information in the storage area in the first memory 620.
In one embodiment, the cooperative control information stored in the second memory 631 may be read with the second control command as an identifier index. Continuing with the above example, table 3 shows a coordinated control information table of the robot 100.
Table 3 table of cooperative control information of robot 100
For example, the main control unit 630 receives the second control command C1, and first indexes the corresponding cooperative control information from the second memory 631 according to the second control command C1, as shown in table 3. Thus, it is determined that the movement of the robot requires the base 110 to move cooperatively based on the movement data pre-stored in the storage area 1, the movement data pre-stored in the storage area 11 for the upper arm 120, the movement data pre-stored in the storage area 21 for the lower arm 130, and the movement data pre-stored in the storage area 31 for the wrist. Then, the main control unit 630 transmits the first control command to the base 110, the upper arm 120, the lower arm 130, and the wrist, respectively. Specifically, the target storage area corresponding to the first control command sent by the main control unit 630 to the base 110 is storage area 1, the target storage area corresponding to the first control command sent by the main control unit 630 to the upper arm 120 is storage area 11, the target storage area corresponding to the first control command sent by the main control unit 630 to the lower arm 130 is storage area 21, and the target storage area corresponding to the first control command sent by the main control unit 630 to the wrist is storage area 31. Finally, the base 110, the upper arm 120, the lower arm 130, and the wrist move in cooperation according to the first control command received from the main control unit 630 and based on the motion data prestored in the target storage area corresponding to the respective first control command, thereby controlling the robot 100 to move to perform an action corresponding to the second control command C1.
It will be appreciated that for a multi-joint robot, controlling the robot to perform a certain action does not necessarily require that all joints move in unison. In other words, a multi-joint robot may only require some actions to be performed with coordinated motion of some of the joints. As with the robot 100 shown in fig. 1, some actions require only coordinated movement of the upper arm 120, the lower arm 130, and the wrist, and no movement of the base 110. As shown in table 3, in the cooperative control information corresponding to the second control command C3, the base 110 does not need to participate in the cooperative motion.
In one embodiment, the second control command includes a name of the motion control part and information of the target storage area in the first memory 620 corresponding to the motion control part. The cooperative control information including the motion control part and the corresponding target storage area information may be indexed with the second control command as a key. Table 4 shows a coordinated control information table of a 4-joint robot.
TABLE 4A 4-Joint robot cooperative control information table
For example, the master control unit 630 receives a message including "joint 1: the second control command of the storage area 11 "is first set to" joint 1: the storage area 11 ″ is indexed from the second memory 631 to the corresponding cooperative control information for the key, as shown in table 4. It is thus determined that this movement of the robot requires coordinated movement of the joint 1 based on the movement data prestored in the storage area 11, the joint 2 based on the movement data prestored in the storage area 21, the joint 3 based on the movement data prestored in the storage area 31, and the joint 4 based on the movement data prestored in the storage area 41. Then, the main control unit 630 transmits the first control command to each of the joint 1, the joint 2, the joint 3, and the joint 4. Specifically, the target storage area corresponding to the first control command sent by the main control unit 630 to the joint 1 is the storage area 11, the target storage area corresponding to the first control command sent by the main control unit 630 to the joint 2 is the storage area 21, the target storage area corresponding to the first control command sent by the main control unit 630 to the joint 3 is the storage area 31, and the target storage area corresponding to the first control command sent by the main control unit 630 to the joint 4 is the storage area 41. Finally, the joint 1, the joint 2, the joint 3, and the joint 4 cooperatively move according to the first control command received from the main control unit 630 based on the motion data prestored in the target storage area corresponding to the respective first control command, thereby controlling the 4-joint robot to move to perform an action corresponding to the second control command C1.
As mentioned before, the motions of a multi-joint robot do not necessarily require that all joints participate in a coordinated motion. As shown in table 4, the 3 rd cooperative control information of the 4-joint robot does not require the joint 1 to participate in the cooperative motion.
The motion control system can control each motion control component to execute the action required to be executed by the multi-joint robot based on the pre-stored motion data through pre-storing the corresponding relation information of the motion control component required to be cooperatively controlled and the target storage area of the motion data corresponding to each motion control component. Therefore, the control mode of the multi-joint robot is greatly simplified, and the working efficiency and the user experience are improved.
In one embodiment, as shown in FIG. 6, the first memory 620 is integrated within the master control unit 630. The different sets of motion data for controlling the motion control components to perform the motions are the motion parameters of the different motions received from the robot control device 600 a. The first control command transmitted from the main control unit 630 to the motion control unit 610 includes motion data pre-stored in a target storage area corresponding to the first control command. Specifically, after the main control unit 630 determines the motion control units 610 that need cooperative control and the respective corresponding target storage areas based on the second control command, the main control unit reads the motion data of the target storage areas corresponding to the respective motion control units 610 from the first memory 620, and sends the read motion data to the corresponding motion control units 610 when sending the first control command. As in the above example, the main control unit 630 may read out the motion data in the storage area 11 corresponding to the joint 1, and transmit the read motion data to the joint 1 when transmitting the first control command to the joint 1.
As shown in fig. 6, each motion control section 610 includes a calculation unit 611 and a drive control unit 612. For simplicity, the solution unit 611 and the actuation unit 612 are not shown in fig. 6 for each motion control component 610. The calculating unit 611 is configured to calculate motion data prestored in the target storage area corresponding to the first control command received by the motion control unit 610, so as to generate corresponding wave table data. The driving and controlling unit 612 is configured to generate a waveform according to the wave table data generated by the calculating unit 611 and drive and control the robot to move based on the waveform. Therefore, each motion control component realizes the drive and control of the robot by resolving the corresponding motion data sent by the main control component.
The motion control system integrates the first memory into the main control unit, so that the design of the motion control unit is simplified, and the flexibility of the motion control system is improved. The actions to be executed by the multi-joint robot are executed by controlling the motion control components to cooperatively move based on the prestored motion data, so that the control mode of the multi-joint robot is greatly simplified, and the working efficiency and the user experience are improved.
Illustratively, the above-mentioned main control unit may be implemented by a gateway. The gateway is used as the main control unit to cooperatively control each motion control unit of the robot while realizing the communication function between the robot control device and each motion control unit of the robot. Thus, the design of the motion control system is further simplified, while the system cost is reduced.
Illustratively, the plurality of storage areas in the first memory further includes at least one cache area. In other words, at least one buffer area may be reserved in the first memory in addition to the storage area for pre-storing the motion data. The reserved buffer area can be used for buffering temporary data in the motion control process. For example, for an action that requires the robot to perform, if the action does not have corresponding pre-stored motion data, the corresponding motion parameters can be input in a 'calculation-as-you-go' manner for control. At this time, the reserved buffer area may be used for buffering intermediate data in the "instant calculation" process. Therefore, the flexibility and the applicability of the motion control system are improved.
According to another aspect of the present invention, a robot is provided. The robot comprises the motion control system.
According to another aspect of the present invention, there is also provided a motion control method for controlling a motion of a robot. Fig. 7 shows a schematic flow diagram of a motion control method 700 for controlling the motion of a robot according to one embodiment of the invention. The method 700 is for a motion control system that includes a motion control component and a first memory. Wherein the first memory includes a plurality of memory areas, at least two of the plurality of memory areas being used to pre-store different sets of motion data. As shown in fig. 7, the method 700 includes step S710 and step S720.
In step S710, a first control command is received by the motion control component.
And S720, controlling the robot to move by using the motion control part based on the motion data prestored in the target storage area corresponding to the first control command received in the S710 in the first memory.
According to the motion control method provided by the embodiment of the invention, the motion data corresponding to the motion required to be executed by the robot is prestored, namely a group of corresponding motion data is prestored aiming at one motion, so that the robot can be controlled to execute the corresponding motion by calling the prestored motion data. Therefore, the control mode of the robot is greatly simplified, and the working efficiency and the user experience are improved.
In one embodiment, step S720 further includes sub-step S721 and sub-step S722.
In sub-step S721, a waveform is generated based on the motion data pre-stored in the target storage region corresponding to the first control command received in step S710.
And a substep S722 of driving the robot to move based on the waveform generated in the substep S721.
Therefore, the robot can be driven and controlled to move by the motor directly connected with the robot through the motion control system, the control of the robot is simplified, and the user experience is improved.
Fig. 8 shows a schematic flow diagram of a motion control method for controlling the motion of a robot according to another embodiment of the invention. The method 800 is for a motion control system that includes a motion control component and a first memory. Wherein the first memory includes a plurality of memory areas, at least two of the plurality of memory areas being used to pre-store different sets of motion data. As shown in fig. 8, the method 800 includes step S810, step S820, step S830, and step S840. Step S830 and step S840 are similar to the process and the implemented function of step S610 and step S620, respectively, and are not described again for brevity.
Step S810, resolving the motion parameters of different actions received from the robot control device to generate different sets of motion data. Wherein the robot control device is adapted to control the motion control system.
And step S820, pre-storing the different sets of motion data generated in step S810 in a storage area corresponding to the first memory according to a storage instruction received from the robot control device.
According to the motion control method, the motion parameters corresponding to the actions to be executed by the robot are firstly calculated to obtain the motion data which is easy to execute and is prestored in the corresponding storage area, so that the control mode of the robot is further simplified, and the working efficiency and the user experience of the robot are improved.
In one embodiment, step S840 further includes sub-step S841 and sub-step S842.
In sub-step S841, a waveform is generated based on the motion data pre-stored in the target storage region corresponding to the first control command received in step S830.
And a substep S842 of driving the robot to move based on the waveform generated in the substep S841.
Therefore, the robot can be driven and controlled to move by the motor directly connected with the robot through the motion control system, the control of the robot is simplified, and the user experience is improved.
Fig. 9 shows a schematic flow diagram of a motion control method 900 for controlling the motion of a robot according to yet another embodiment of the invention. The method 900 is for a motion control system that includes a plurality of motion control units, a first memory, and a master control unit. The first memory includes a plurality of memory areas, at least two of which are used to pre-store different sets of motion data. The master control unit is used to connect the plurality of motion control units to the robotic control device, wherein the robotic control device is used to control the motion control system. The main control unit comprises a second memory, wherein the second memory is used for storing cooperative control information, and the cooperative control information comprises corresponding relation information of a second control command and a storage area of the first memory. As shown in fig. 9, method 900 includes step S910 and step S920.
In step S910, a second control command is received by the main control unit.
In step S920, the main control unit is used to query the cooperative control information in the second memory according to the second control command received in step S910 to determine the motion control unit and the target storage area corresponding to the second control command. And sending a first control command to the determined motion control component by using the main control component so as to control the robot to move by the determined motion control component based on the motion data prestored in the target storage area corresponding to the first control command in the first memory.
According to the motion control method, the corresponding relation information of the motion control parts which need to be cooperatively controlled and the target storage areas of the corresponding motion data is prestored, so that the motion control parts can be controlled to cooperatively move based on the prestored motion data to execute the action which needs to be executed by the multi-joint robot. Therefore, the control mode of the multi-joint robot is greatly simplified, and the working efficiency and the user experience are improved.
In one embodiment, the different sets of motion data pre-stored in the first memory are motion parameters of different actions received from the robot control device. Step S920 further includes sub-step S921 and sub-step S922.
And a substep S921, resolving the motion data pre-stored in the target storage region corresponding to the first control command to generate corresponding wavetable data.
And a substep S922 of generating a waveform from the wavetable data calculated in the substep S921 and driving the robot to move based on the waveform.
The motion data prestored in the motion control method is the motion parameters before calculation, and the data quantity needing to be prestored is small, so that the capacity requirement of the first memory can be effectively reduced, and the system cost is reduced.
The motion control method described above can be used for the motion control system described above. The detailed implementation and technical effects of the steps of the motion control method can be understood by those skilled in the art through the foregoing description of the motion control system. For brevity, no further description is provided herein.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described device embodiments are merely illustrative, and for example, the division of the units is only one logical functional division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another device, or some features may be omitted, or not executed.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the invention and aiding in the understanding of one or more of the various inventive aspects. However, the method of the present invention should not be construed to reflect the intent: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
It will be understood by those skilled in the art that all of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where such features are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It will be appreciated by those skilled in the art that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions of some of the modules in a visual positioning map loading apparatus according to embodiments of the present invention. The present invention may also be embodied as apparatus programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.
The above description is only for the specific embodiment of the present invention or the description thereof, and the protection scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and the changes or substitutions should be covered within the protection scope of the present invention. The protection scope of the present invention shall be subject to the protection scope of the claims.