This disclosure relates generally to a robot system and a robot movement control apparatus.
Recently, automation of work using collaborative robots has been advancing. Taking advantage of collaborative robots, it is conceivable that the robot is mounted on a hand-push free cart, the worker moves the robot while pushing the hand-push free cart, and the robot repeats work at each location.
However, since the worker needs to push the hand-push free cart each time the robot is moved, the worker cannot leave the robot, and the labor-saving effect is not as great as expected.
Under the circumstances, the introduction of a self-propelled free cart such as an automatic guided vehicle (AGV) is conceivable. An AGV can automate the movement as well as the work, which allows the worker to leave the robot and is expected to save labor.
However, the introduction of an AGV system is relatively large-scale because the AGV system itself is expensive, and the movement path of the AVG needs to be maintained in terms of space and equipment.
Therefore, the barriers to introducing collaborative robots that involve movement have never been low.
A robot system according to one aspect of the present disclosure is provided with a robot including a free cart and a manipulator mounted on the free cart, and a control device for controlling the manipulator. The control device controls the manipulator to execute a predetermined task, and also controls the manipulator to move the robot itself.
Hereinafter, a robot system according to the present embodiment will be described with reference to the drawings.
Here, for convenience of description, as shown in
As shown in
As shown in
The manipulator 11 is mounted on a table 122 of a free cart 12. The free cart 12 is defined as a free cart that is not equipped with movement drive means, but is equipped with casters 124 and moves passively. Here, three casters 124 are attached to respective three beams 123 extending radially from the post 121. An outrigger mechanism 13 is provided at the distal end of each of the three beams 123. In the outrigger mechanism 13, a cylinder rod 132 is inserted into a cylinder 131, and a pad 133 as an installation plate made of rubber or the like is attached to the bottom of the cylinder rod 132. Movement of the cylinder rod 132 relative to the cylinder 131 can be achieved by a hydraulic system, an electric system, or any other drive system. By sending the cylinder rod 132 out of the cylinder 131, the pad 133 is placed on the floor surface, and the free cart 12 can be fixed together with the robot 10. By pulling the cylinder rod 132 back into the cylinder 131, the pad 133 is separated from the floor surface, and the free cart 12 is unfixed to be movable.
Referring back to
An image processing unit (e.g., processor) 24 processes the overhead image captured by the overhead camera 30, and extracts the areas of the column plates CP and the areas of the side plates SP. The image processing unit 24 selects, from the extracted areas of the side plates SP, an area of the side plate SP near a position (movement target position) PR to which the robot 10 moves for the next subtask as an area of a fixed object to be grasped by the hand 118 on the movement path of the robot 10. The image processing unit 24 calculates a center position, a center of gravity position, or another position of the selected area of the side plate SP as a grasping position to be grasped by the hand 118 in order for the robot 10 to move to the movement target position. The grasping position is calculated and expressed in the world coordinate system (X, Y, Z). The object to be grasped by the hand 118 is not limited to the side plate SP, and may be a column plate CP or a protruding body that is relatively easy to grasp, such as a handle HG already existing on the shelf S for grasping as shown in
A trajectory calculation processing unit (e.g., processor) 23 calculates a coordinate transformation matrix (first coordinate transformation matrix, T1) for transforming the position and posture in the world coordinate system to the position and posture in the first robot coordinate system, based on the displacement of the origin position of the current robot coordinate system (x, y, z) (referred to as the first robot coordinate system) with respect to the origin position of the world coordinate system (X, Y, Z) and the rotational angles (also referred to as the posture) around the coordinate axes XYZ for aligning the coordinate system xyz with the coordinate axes XYZ.
The trajectory calculation processing unit 23 uses the first coordinate transformation matrix (T1) to transform the next grasping position on the movement path of the robot 10, that is, the hand position, to the hand position in the first robot coordinate system. The trajectory calculation processing unit 23 calculates a hand movement trajectory (particularly referred to as a “hand movement trajectory for grasping”) in the first robot coordinate system from the known current hand position in the first robot coordinate system to the next hand position.
The next hand position is a fixed position because it is a position on a side plate SP of the shelf S fixed to the floor surface, and by operating the manipulator 11 with the side plate SP grasped by the hand 118 at the next hand position, the manipulator 11, namely the robot 10, can be moved together with the free cart 12 to the next robot position (movement target position) PR. The trajectory calculation processing unit 23 calculates a hand trajectory for the movement of the robot 10.
The trajectory calculation processing unit 23 calculates a coordinate transformation matrix (second coordinate transformation matrix, T2) from the first robot coordinate system to the second robot coordinate system, based on the displacement of the next robot position after the movement, that is, the origin position of the robot coordinate system after the movement (second robot coordinate system) with respect to the current robot position in the world coordinate system (X, Y, Z), that is, the origin position of the current robot coordinate system (first robot coordinate system), and the rotational angles (posture) around the coordinate axes xyz of the first robot coordinate system for aligning the coordinate axes xyz of the first robot coordinate system with the coordinate axes xyz of the second robot coordinate system.
The trajectory calculation processing unit 23 calculates a hand movement trajectory (referred to as a “hand movement trajectory for robot movement”) from the next hand position expressed in the first robot coordinate system (which is the current position at the time of grasping, but will be referred to as the next position for convenience of description) to a position obtained by multiplying the next hand position by an inverse matrix T2′ of the second coordinate transformation matrix T2.
By controlling the manipulator 11 in accordance with this “hand movement trajectory for robot movement”, the robot 10, namely, the manipulator 11 can be moved together with the free cart 12, with the hand fixed at the next grasping position (see
The “hand movement trajectory for robot movement” corresponds to a trajectory obtained by shifting the movement path for the robot 10 to move from the current position to the next position (movement target position) to the next hand position as it is and reversing the movement direction. Therefore, an operation to move the hand in accordance with the “hand movement trajectory for robot movement” with the hand grasping and fixed at the next hand position can move the robot 10 from the current position to the next position (movement target position).
A manipulator operation control unit (e.g., processor) 25 calculates changes in the rotational angles and rotational speeds relating to the rotary joints 113 and 115 and the wrist's three orthogonal axes in accordance with the “hand movement trajectory for grasping”, and drives the servo motors of the rotary joint 113, the rotary joint 115, and the wrist in accordance with the calculated changes. Similarly, the manipulator operation control unit 25 calculates changes in the rotational angles and rotational speeds of the rotary joints 113 and 115 and the wrist's three orthogonal axes in accordance with the “hand movement trajectory for robot movement”, and drives the servo motors of the rotary joint 113, the rotary joint 115, and the wrist in accordance with the calculated changes.
By operating the manipulator 11 so as to move the hand along the trajectory in the reverse direction with respect to the movement path for the robot 10 to move from the current position to the next position (movement target position), the robot 10 is moved from the current position to the next position (movement target position) because the hand is fixed and the free cart 12 is unfixed and is free to move.
An outrigger operation control unit (e.g., processor) 26 drives a drive unit of the outrigger mechanism 13 in accordance with an instruction from the control unit 21 to send out or pull back the cylinder rod 132 from or into the cylinder 131. The free cart 12 can be fixed by sending out the cylinder rod 132 from the cylinder 131 and placing the pad 133 on the floor surface. By pulling the cylinder rod 132 back into the cylinder 131 and separating the pad 133 from the floor surface, the casters 124 of the free cart 12 can be placed on the floor surface and the free cart 12 returns to a movable state. The outrigger mechanism 13 can be replaced with another structure such as an electromagnetic brake as long as the free cart 12 can be fixed on the floor surface.
When it is determined that the subtask has been completed (YES in S3), the control unit 21 determines whether or not the work of arranging beverage cans W on all of the scheduled column plates CP, that is, the task has been completed (S4). When it is determined that the task has not been completed (NO in S4), the robot 10 is moved to the next robot position PR2 (movement target position) corresponding to the next column plate CP2 (S5). When the robot 10 reaches the movement target position, the outrigger mechanism 13 is driven at that position, and the free cart 12 is fixed at the next robot position PR2 on the floor surface. The processing returns to step S1, and a subtask of arranging beverage cans W on the next column plate CP2 is executed. When it is determined that the task has been completed (YES in S4), the work ends.
In step S12, the image processing unit 24 extracts an area of a side plate SP2 near the next column plate CP2 from an overhead image captured by the overhead camera 30, and identifies the center position or the like of the extracted area of the side plate SP2 as a grasping position PGn+1 (X2, Y2, Z2) to be grasped by the hand 118 in order for the robot 10 to move to the next robot position (movement target position) PRn+1.
In step S13, the trajectory calculation processing unit 23 calculates a coordinate transformation matrix (first coordinate transformation matrix, T1) for transforming the position and posture in the world coordinate system to the position and posture in the first robot coordinate system, based on the origin position of the current robot coordinate system (first robot coordinate system) in the world coordinate system (X, Y, Z) and the rotational angles (posture) around the coordinate axes XYZ for aligning the coordinate system xyz with the coordinate axes XYZ (see
Similarly, in step S14, the trajectory calculation processing unit 23 calculates a coordinate transformation matrix (second coordinate transformation matrix, T2) from the first robot coordinate system to the second robot coordinate system, based on the displacement of the next robot position PRn+1 (X2, Y2, Z2) with respect to the current robot position PRn (X1, Y1, Z1) in the world coordinate system (X, Y, Z) and the rotational angles (posture) around the coordinate axes XYZ of the robot coordinate system (second robot coordinate system) at the next robot position PRn+1 (X2, Y2, Z2) with respect to the robot coordinate system (first robot coordinate system) at the current robot position PRn (X1, Y1, Z1) (see
In robot control, in order to calculate a rotary joint angle and the like in accordance with a hand movement trajectory, the hand movement trajectory needs to be expressed in the robot coordinate system. Therefore, in step S15, the next hand position PGn+1 (X2, Y2, Z2) expressed in the world coordinate system is transformed to the next hand position PRn+1 (x2, y2, z2) in the robot coordinate system by the first coordinate transformation matrix T1.
In the next step S16, the trajectory calculation processing unit 23 calculates a hand movement trajectory (hand movement trajectory for grasping) OPn+1 for the hand to move from the current hand position PGn (x1, y1, z1) to the next hand position PGn+1 (x2, y2, z2) in the first robot coordinate system (see
In step S17, the manipulator operation control unit 25 operates the manipulator 11 in accordance with the hand movement trajectory OPn+1 for grasping, and a side plate SP is grasped by the hand 118 at the next hand position PGn+1. The posture of the robot at this time is shown in
In the next step S18, the trajectory calculation processing unit 23 multiplies the next hand position PGn+1 (x2, y2, z2) expressed in the first robot coordinate system by the inverse matrix T2′ of the second coordinate transformation matrix T2 to calculate a hand position PG′n+1 (x2, y2, z2). The relative positional relationship between the hand position PG′n+1 (x2, y2, z2) and the current robot position PRn (x1, y1, z1) before the movement is equivalent to the relative positional relationship between the next hand position PGn+1 (x2, y2, z2) and the next robot position PRn+1 (x2, y2, z2) after the movement (see
In the next step S19, the trajectory calculation processing unit 23 calculates a hand movement trajectory OP2n+1 (hand movement trajectory for robot movement) for the hand to move from the hand position PGn+1 (x2, y2, z2) expressed in the first robot coordinate system to the hand position PG′n+1 (x2, y2, z2) transformed by the inverse matrix T2′ of the second coordinate transformation matrix T2.
The hand movement trajectory OP2n+1 for robot movement is a trajectory obtained by reversing the start point and the end point of the movement path for the robot 10 to move from the current position PRn (x1, y1, z1) to the next robot position PRn+1 (x2, y2, z2) and shifting the movement path so that the start point coincides with the hand position PGn+1 (x2, y2, z2). Therefore, as the manipulator 11 is operated to move the hand in accordance with the hand movement trajectory OP2n+1 for robot movement with the hand 118 grasping and fixed at the PRn+1 (x2, y2, z2), the robot 10 approaches (or moves away from) the next hand position PGn+1 (x2, y2, z2); as a result, the robot 10 is moved from the current position PRn (x1, y1, z1) to the next robot position PRn+1 (x2, y2, z2).
In step S20, the outrigger mechanism 13 is driven to release the fixation, and in step S21, the manipulator 11 is controlled in accordance with the “hand movement trajectory for robot movement”, so that the robot 10, that is, the manipulator 11 is moved to the movement target position PRn+1 (2, Y2, Z2) together with the free cart 12, with the grasping position PGn+1 (2, Y2, Z2) fixed (see
As described above, in the present embodiment, the manipulator 11, which is originally equipped for executing the task, is also utilized for moving the robot 10, thereby eliminating the need for a worker to push the free cart, which saves labor. Since the introduction of a self-propelled free cart such as an automatic guided vehicle (AGV) becomes unnecessary, and the maintenance of the movement path becomes substantially unnecessary, collaborative robots that involve movement can be easily introduced.
As shown in
Alternatively, a plurality of sensors 300 such as photoelectric sensors or push switches for detecting the robot 10 may be laid along the movement trajectory of the robot 10, and here, a plurality of sensors 300 may be provided on the respective side plates SP along the guide pole 201 so that the position of the robot 10 may be detected by these sensors 300.
As shown in
Even in this example, as in the above-described embodiment, labor can be saved and maintenance of the movement path become substantially unnecessary, so that collaborative robots that involve movement can be easily introduced.
While some embodiments of the present invention have been described, these embodiments have been presented as examples, and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention and are included in the scope of the claimed inventions and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2020-211965 | Dec 2020 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/046228 | 12/15/2021 | WO |