The present invention relates to robot systems.
Recently, robots have become widespread which perform operation to grasp a target work piece with their robot arm and conveying it to another place. In the case where the target work piece is present at the end of a range where the robot arm can grasp it, since the robot arm is distant from the target work piece, the robot arm grasps the target work piece in extremely extending posture. This increases the moment at the point where the robot arm is supported in the robot. For this reason, the mass that the robot arm can grasp becomes smaller than the tolerable mass inherent to the structure of the robot.
For example, Japanese Unexamined Patent Application Publication No. 2009-034741 discloses a technique in which a robot arm is boarded on a swing device. This prior art robot (robot system) includes a robot arm (robot) capable of holding a tool and a swing device that allows the robot arm to swing.
A robot system according to one embodiment includes a robot including a swing device which swings about a rotation axis orthogonal to an installation plane, and a plurality of robot arms each connected to the swing device; and a control unit which controls the robot so as to keep a control point of at least one robot arm of the plurality of robot arms at the same position in the same posture during a time period between before and after a swing of the swing device. The term, “the same” is not strictly applied and means the same within a practically effective scope. For example, errors caused due to noise, response delay, tolerance, backlash, etc. under control of the robot are allowable.
Embodiments will be described below with reference to the accompanying drawings.
An overall configuration of a robot system according to the present embodiment and a configuration of a robot provided in the robot system according to the present embodiment will be described first.
Referring to
For example, the robot system 1 of the present embodiment includes the robot 100, the robot controller 200 (control unit), and an input device (so-called programming pendant) 300. The robot 100 performs a fitting operation to fit, to a target work piece W1 (hereinafter it may be appropriately referred to as a “first target work piece W1”), another target work piece W2 (hereinafter it may be appropriately referred to as a “second target work piece W2”). The robot controller 200 controls operation of the robot 100. The input device 300 inputs teaching points and various settings of the robot 100. Each teaching point includes position and posture information of a predetermined control point of the robot. The motions of robot 100 are defined by combinations of several teaching points.
It is noted that the robot 100 is communicatively connected to the robot controller 200 through a cable Ca (alternatively, may be connected wirelessly). The robot controller 200 is communicatively connected to the input device 300 through a cable Cb (alternatively, may be connected wirelessly).
The robot 100 includes a base 101, a body 12 (swing device), and two arms 103L, 103R (robot arms). It is noted that the number of the robot arms may be three or more according to conditions, such as the number, shape, etc. of target work pieces W.
The base 101 is fixed on an installation plane E (e.g., floor, etc.) with an anchor bolt (not shown) or the like.
The body 102 includes a first joint J1 at which a first actuator (not shown) is provided. The first actuator is driven and rotated about a first rotation axis substantially perpendicular to the installation plane E. The body 102 is set on the base 101 rotatably about the first rotation axis through the first joint J1. Further, the body 102 supports the arms 103L, 103R respectively on one side (right side in
The arm 103L includes a shoulder 104L, an upper arm A portion 105L, an upper arm B portion 106L, a lower arm portion 107L, a wrist A portion 108L, a wrist B portion 109L, a flange 110L, and second to eighth joints J2-J8 at which second to eighth actuators (not shown) that drive and rotate the respective components are respectively provided.
The shoulder 104L is rotatably connected to the body 102 through the second joint J2 and is rotated about a second rotation axis substantially parallel to the installation plane E by driving the second actuator provided at the second joint J2. The upper arm A portion 105L is swingably connected to the shoulder 104L through the third joint J3 and swings about a third rotation axis substantially perpendicular to the second rotation axis by driving the third actuator provided at the third joint J3. The upper arm B portion 106L is rotatably connected to the tip end of the upper arm A portion 105L through the fourth joint J4 and is rotated about a fourth rotation axis substantially perpendicular to the third rotation axis by driving the fourth actuator provided at the fourth joint J4. The lower arm portion 107L is swingably connected to the upper arm B portion 106L through the fifth joint J5 and swings about a fifth rotation axis substantially perpendicular to the fourth rotation axis by driving the fifth actuator provided at the fifth joint J5. The wrist A portion 108L is rotatably connected to the tip end of the lower arm portion 107L through the sixth joint J6 and is rotated about a sixth rotation axis substantially perpendicular to the fifth rotation axis by driving the sixth actuator provided at the sixth joint J6. The wrist B portion 109L is swingably connected to the wrist A portion 108L through the seventh joint J7 and swings about a seventh rotation axis substantially perpendicular to the sixth rotation axis by driving the seventh actuator provided at the seventh joint J7. The flange 110L is rotatably connected to the tip end of the wrist B portion 109L through the eighth joint J8 and is rotated about an eighth rotation axis substantially perpendicular to the seventh rotation axis by driving the eighth actuator provided at the eight joint J8.
At the tip end of the flange 110L, a tool 150L (in this example, capable of fixing the first target work piece W1, e.g., a hand or the like) according to usage is mounted. The tool 150L follows the rotation of the flange 110L to be rotated.
The arm 103R has a similar structure as the arm 103L. That is, the arm 103R includes a shoulder 104R, an upper arm A portion 105R, an upper arm B portion 106R, a lower arm 107R, a wrist A portion 108R, a wrist B portion 109R, a flange 110R, and ninth to fifteenth joints J9-J15 at which ninth to fifteenth actuators (not shown) that drive to rotate the respective components are respectively provided.
The shoulder 104R is rotatably connected to the body 102 through the ninth joint J9 and is rotated about a ninth rotation axis substantially parallel to the installation plane E by driving the ninth actuator provided at the ninth joint J9. The upper arm A portion 105R is swingably connected to the shoulder 104R through the tenth joint J10 and swings about a tenth rotation axis substantially perpendicular to the ninth rotation axis by driving the tenth actuator provided at the tenth joint J10. The upper arm B portion 106R is rotatably connected to the tip end of the upper arm A portion 105R through the eleventh joint J11 and is rotated about an eleventh rotation axis substantially perpendicular to the tenth rotation axis by driving the eleventh actuator provided at the eleventh joint J11. The lower arm portion 107R is swingably connected to the upper arm B portion 106R through the twelfth joint J12 and swings about a twelfth rotation axis substantially perpendicular to the eleventh rotation axis by driving the twelfth actuator provided at the twelfth joint J12. The wrist A portion 108R is rotatably connected to the tip end of the lower arm portion 107R through the thirteenth joint J13 and is rotated about a thirteenth rotation axis substantially perpendicular to the twelfth rotation axis by driving the thirteenth actuator provided at the thirteenth joint J13. The wrist B portion 109R is swingably connected to the wrist A portion 108R through the fourteenth joint J14 and swings about a fourteenth rotation axis substantially perpendicular to the thirteenth rotation axis by driving the fourteenth actuator provided at the fourteenth joint J14. The flange 110R is rotatably connected to the tip end of the wrist B portion 109R through the fifteenth joint J15 and is rotated about a fifteenth rotation axis substantially perpendicular to the fourteenth rotation axis by driving the fifteenth actuator provided at the fifteenth joint J15.
At the tip end of the flange 110R, a tool 150R (in this example, capable of conveying the second target work piece W2, e.g., a hand or the like) according to usage is mounted. The tool 150R follows the rotation of the flange 110R to be rotated.
In this example, each arm 103L, 103R includes the seven joints, that is, has seven degrees of freedom, specifically, one redundant degree of freedom with respect to three translational degrees of freedom and three rotational degrees of freedom. However, the degrees of freedom of the arms 13L, 103R are not limited to seven.
The robot 100 structured as above can move the tip ends of the tools 150L, 150R to any positions and set them in any directions, in other words, set them in any posture by driving the respective drive parts including the first to fifteenth joints J1-J15 at which the first to fifteenth actuators are respectively provided. It is noted that in the present specification, the tip ends of the tools 150L, 150R are defined as the tip ends of the arms 103L, 103R, and the positions of the tip ends of the tools 150L, 150R are defined as tip end positions of the arms 103L, 103R. Further, the robot 100 keeps, with one arm 103 (a first arm as will be described later, e.g., arm 103L) of the arms 103L, 103R fixed, a corresponding tool 150 at the same position in the same posture during a time period between before and after a swing of the body 102. In this state with the first target work piece W1 fixed, the robot controller 200 controls operation of the respective drive parts so that the other arm 103 (a second arm as will be described later, e.g., arm 103R) performs an operation that necessitates a swing of the body 102 for the fixed first target work piece W1.
This operation is an operation to fetch the second target work piece W2 through a swing of the body 102, an operation to grasp the second target work piece W2 with a corresponding tool 150 and convey it to the position of the fixed first target work piece W1 through a swing of the body 102, etc.
Functional organizations of the robot controller 200 and the input device 300 will be described next.
Referring to
The operation target selection key 302 is a key to select any one of the body 102 and the arms 103L, 103R as an operation target of the direction key 305, the swing key 306, etc.
The fixing/specifying selection key 303 is a key to select, at an input of a teaching point, the first arm (first robot arm), of which the tool 150 is kept at the same position in the same posture during a time period between before and after a swing of the body 102, out of the arms 103L, 103R. That is to say, the same position as an operation start point of the first arm is automatically set as a teaching point. In the present specification, operation start points of the arms 103L. 103R are respectively defined as tip end positions of the tools 150L, 150R at the operation start (specifically, at operation of the play key 308). Here, interpolation motion between an operation start point and a teaching point which each arm 103L, 103R can perform includes point to point (PTP) interpolation motion without taking a route between the operation start point and the teaching point into account, linear interpolation motion linearly moving between an operation start point and a teaching point, arc interpolation motion arcuately moving between an operation start point and a teaching point, etc. The linear interpolation motion as the type of the interpolation motion is automatically set for the first arm.
The interpolation type selection key 304 is a key to select, at an input of a teaching point, a type of interpolation motion for the second arm (second robot arm), which is other than the first arm selected by the fixing/specifying selection key 303, out of the arms 103L, 103R. That is, the type of the interpolation motion for the second arm is selectable among the PTP interpolation motion, the linear interpolation motion, the arc interpolation motion, etc.
The direction key 305 is a key to operate the arm 103 so as to lead the tip end of the tool 150 to an arbitrary position in three-dimensional space.
The swing key 306 is a key to operate the body 102 to swing at an arbitrary angle.
The decision key 307 is a key to set the tip end position of the tool 150, which is positioned by the operation of the direction key 305 and the swing key 306, as the teaching point. Data about the set teaching point is output together with a movement instruction, etc. corresponding to the type of interpolation motion from the output section 301 to the robot controller 200 through the cable Cb.
The play key 308 is a key to allow the robot 100 to play operation based on teaching data stored in a teaching data storage section 201 (as will be described later) of the robot controller 200.
By contrast, the robot controller 200 is composed of a computer including, for example, an arithmetic unit, a storage device, an input device, etc. (not shown), and includes the teaching data storage section 201, an interpolation computing section 202, a drive section 203, an input section 204 that inputs various data from the input device 300 through the cable Cb, and a parameter storage section 205.
The teaching data storage section 201 stores data about the teaching point and teaching data generated based on movement instructions, etc. corresponding to the types of interpolation motion, which are input through the cable Cb and the input section 204 from the input device 300. One example of the teaching data stored in the teaching data storage section 201 is as follows.
“START” of the above teaching data (1) is an instruction indicating the start of the teaching data. “END” thereof is an instruction indicating the end of the teaching data.
“MOVJ” is a movement instruction (PTP control instruction) in the PTP interpolation motion. “MOVL” is a movement instruction (linear interpolation control instruction) in the linear interpolation motion.
“C000,” “C001,” “C002,” “C003,” “C004,” and “C005” are indices indicating angle information of the first joint J1 of the body 102, the second to eighth joints J2-J8 of the arm 103L, and the ninth to fifteenth joints J9-J15 of the arm 103R at respective teaching points in a movement instruction.
“RB=1,” RB=2,” and “RB=3” are instructions that specify targets for movement instructions (interpolation control target). The numbers “1,” “2,” and “3” specified with “RB” indicate the numbers corresponding to the targets for the movement instructions. In this example, “1,” “2,” and “3” correspond to the arm 103L, the arm 103R, and the body 102, respectively.
“TOOL=4” and “TOOL=5” are instructions indicating the type of the tool 150 provided at the tip end of the arm 103. The number “4” and “5” specified with “TOOL” indicate tool file numbers corresponding to the type of the tool 150, and are indices for tool files expressing the position of the tip end of the tool 150 relative to the flange 110 and the position and posture of the tool 150 in coordinates.
Further, the teaching data (1) includes data about two teaching points in a series of motion, that is:
The above data (1A) is data about a first teaching point (first motion) in the series of motion. This data includes the following commands:
Causing the PTP interpolation motion (“MOVJ”) with the arm 103L (“RB=1”) including the tool 150L (“TOOL=4”) at its tip end set as an interpolation control target and with the angles of the second to eighth joints J2-J8 indicated in the index “C000” set as target position and posture.
Causing the PTP interpolation motion (“MOVJ”) with the arm 103R (“RB=2”) including the tool 150R (“TOOL=5”) at its tip end set as an interpolation control target and with the angles of the ninth to fifteenth joints J9-J15 indicated in the index “C001” set as target position and posture.
Causing the PTP interpolation motion (“MOVJ”) with the body 102 (“RB=3”) set as an interpolation control target and with the angle of the first joint J1 indicated in the index “C002” set as target position and posture.
The above data (1B) is data about a second teaching point (second motion) in the series of motion. This data includes the following commands:
Causing the PTP interpolation motion (“MOVJ”) with the arm 103L (“RB=1”) including the tool 150L (“TOOL=4”) at its tip end set as an interpolation control target and with the angles of the second to eighth joints J2-J8 indicated in the index “C003” set as target position and posture.
Causing the linear interpolation motion (“MOVL”) with the arm 103R (“RB=2”) including the tool 150R (“TOOL=5”) at its tip end set as an interpolation control target and with the angles of the ninth to fifteenth joints J9-J15 indicated in the index “C004” set as target position and posture.
Causing the PTP interpolation motion (“MOVJ”) with the body 102 (“RB=3”) set as an interpolation control target and with the angle of the first joint J1 indicated in the index “C005” set as target position and posture.
The interpolation computing section 202 computes interpolation points between the operation start points and the teaching points expressed with the teaching data stored in the teaching data storage section 201 so as to allow the first arm to perform the linear interpolation motion and allow the second arm to perform interpolation motion of which type is selected by the interpolation type selection key 304. The interpolation points are a plurality of via points where the tip end of the tool 105 in the motion between the operation start point and the teaching point is to pass at a predetermined cycle on a straight line or a curve line (movement locus) connecting the operation start point and the teaching point. The interpolation computing section 202 then computes and inputs to the drive section 203 the angle of the first joint J1 of the body 102, the angles of the second to eighth joints J2-J8 of the arm 103L, and the ninth to fifteenth joints J9-J15 of the arm 103R at each interpolation point between the operation start point and the teaching point.
The drive section 203 drives the respective drive parts of the body 102 and the arms 103L, 103R respectively on the basis of the angle information of the first joint J1 of the body 102, the angle information of the second to eighth joints J2-J8 of the arm 103L, and the angle information of the ninth to fifteenth joints J9-J15 of the arm 103R at each interpolation point between the operation start point and the teaching point, which are input from the interpolation computing section 202.
The parameter storage section 205 stores a variety of parameters about operation control on the robot 100.
The robot controller 200 structured as above controls the robot 100 so that the tip ends of the tools 150L, 150R respectively provided at the tip ends of the arms 103L, 103R move and pass through the respective interpolation points from the operation start points to the teaching points. Specifically, it controls the robot 100 regardless of the operation of the swing key 306 at an input of the teaching point so as to keep the tool 150 provided at the tip end of the first arm at the same position in the same posture during a time period between before and after a swing of the body 102, while controlling the robot 100 so that the first arm keeps the tool 150 at the same position in the same posture during a time period between before and after the swing of the body 102 to fix the first target work piece W1. In addition, the robot controller 200 further controls the robot 100 to perform an operation to fetch the second target work piece W2 with the second arm through the swing of the body 102, an operation to grasp the second target work piece W2 with the tool 150 and conveys it to the position of the fixed first target work piece W1 through the swing of the body 102, etc.
One example method for inputting a teaching point of the robot 100 by the input device 300 will be described next.
At an input of a teaching point, when the direction key 305 is operated in a state where the arm 103L is selected as an operation target through the operation of the operation target selection key 302, the drive section 203 drives each drive part of the arm 103L according to the operated amount of the direction key 305 to move the tip end of the tool 150L in the direction indicated by the direction key 305. Alternatively, when the direction key 305 is operated in a state where the arm 103R is selected as an operation target through the operation of the operation target selection key 302, the drive section 203 drives each drive part of the arm 103R according to the operated amount of the direction key 305 to move the tip end of the tool 150R in the direction indicated by the direction key 305.
Then, when the direction key 305 and the swing key 306 are operated to lead the tip end positions of the tools 150L, 150R to arbitrary positions, and the decision key 307 is operated, the tip end positions of the tools 150L, 150R at the operation of the decision key 307, that is, the tip end positions of the tools 150L, 150R of which positions are determined through the operation of the direction key 305 and the swing key 306 are set as teaching points. The data about the set teaching points is output together with a movement instruction, etc. corresponding to the type of interpolation motion from the output section 301 to the robot controller 200. The teaching data generated based thereon is stored to the teaching data storage section 201.
An interpolation control method by the interpolation computing section 202 of the robot controller 200 will be described next.
When the play key 308 is operated after the teaching points of the robot 100 are set as above, the interpolation computing section 202 computes movement time and acceleration/deceleration time necessary for movement from the operation start points to the teaching points expressed with the teaching data stored in the teaching data storage section 201 with the tip end positions of the tools 150L, 150R at the operation of the play key 308 (at an operation start) regarded as the operation start points of the arms 103L, 103R. At this time, the movement time is obtained as times of computation cycles where neither acceleration nor deceleration is performed, and is defined as the number n of partitions.
Specifically, the interpolation computing section 202 obtains, on the basis of the teaching data stored in the teaching data storage section 201, the angle information of the second to eighth joint J2-J8 of the arm 103L at the positions and in the posture when the arm 103L is located at the second control points Q1, Q2. Next, it performs computation for the linear interpolation motion of the second control point Q from Q1 to Q2. Wherein, a matrix expressing the position and posture of the i-th second control point Qi with respect to the number n of partitions is denoted by Ti (I=1, 2, 3, . . . n). Further, the interpolation computing section 202 performs computation for a swing and movement of the first control point P about the body 102 from P1 to P2. Wherein, a matrix expressing the position of the i-th first control point Pi with respect to the number n of partitions is denoted by Si (I=1, 2, 3, . . . n). Inverse transform of Si leads to computation of the angle of the first joint J1 of the body 102 at each interpolation point between the operation start point and the teaching point. Thereafter, Ui obtained by the following matrix calculation is inversely transformed to compute the angles of the second to eighth joints J2-J8 of the arm 103L at each interpolation point between the operation start point and the teaching point.
T
i
=S
i
·U
i
U
i
=S
i
−1
·T
i (i=1, 2, 3, . . . n)
Moreover, computation for interpolation motion of the control points of the arm 103R under the interpolation control is performed as above to compute the angles of the ninth to fifteenth joints J9-J15 of the arm 103R in each interpolation point between the operation start point and the teaching point.
Then, the interpolation computing section 202 inputs to the drive section 203 the angle information of the first joint J1 of the body 102, the angle information of the second to eighth joints J2-J8 of the arm 103L, and the angle information of the ninth to fifteenth joints J9-J15 of the arm 103R in each interpolation point between the operation start points and the teaching points, which are computed as above. This allows the drive section 203 to drive each drive part of the body 102, the arm 103L, and the arm 103R, thereby allowing the body 102, the arms 103L, 103R to operate in parallel. That is, the drive section 203 allows the body 102 to swing, the arm 103L to perform the linear interpolation motion, and the arm 103R to perform the interpolation motion, simultaneously.
Specifically, the interpolation computing section 202 obtains, on the basis of the teaching data stored in the teaching data storage section 201, the angle information of the second to eighth joints J2-J8 of the arm 103L at the positions and in the posture when the arm 103L is located at the second control points Q1, Q2. Next, it performs computation for interpolation motion of the second control point Q as above so that the position and posture at Q1 and Q2 are the same, then further performs computation for a swing and movement of the first control point P about the body 102 from P1 to P2 as above. Further, it performs computation for swing and movement of the first control point P about the body 102 from P1 to P2 as above. Moreover, the same computation is performed for interpolation motion of the control points of the arm 103R under interpolation control. Thus, the angle of the first joint J1 of the body 102, the angles of the second to eighth joints J2-J8 of the arm 103L, and the angles of the ninth to fifteenth joints J9-J15 of the arm 103R at each interpolation point between the operation start points and the teaching points are computed.
Then, the interpolation computing section 202 inputs to the drive section 203 the angle information of the first joint J1 of the body 102, the angle information of the second to eighth joints J2-J8 of the arm 103L, and the angle information of the ninth to fifteenth joints J9-J15 of the arm 103R at each interpolation point between the operation start points and the teaching points, which are computed as above. This causes the drive section 203 to drive each drive part of the body 102, the arm 103L, and the arm 103R, thereby allowing the body 102, the arms 103L, 103R to operate in parallel. That is, the drive section 203 causes the body 102 to swing, the arm 103L to perform the linear interpolation motion so as to keep the tool 150L at the same position in the same posture during a time period between before and after the swing of the body 102, and the arm 103R to perform the interpolation motion, simultaneously.
First, as shown in
Next, as shown in
Thereafter, as shown in
As described above, the robot system 1 of the present embodiment includes the robot 100, the robot controller 200, and the input device 300. The robot 100 includes the arms 103L, 103R including the tools 150L, 150R at their tip ends, and the body 102 that supports the arms 103L, 103R and allow them to swing. The operation of the robot 100 is controlled by the robot controller 200.
The robot controller 200 controls the robot 100 so as to keep the tool 150 provided at the tip end of at least one arm 103 of the arms 103L, 103R at the same position in the same posture during a time period between before and after a swing of the body 102. This enables fixing of the first target work piece W1 during a time period between before and after the swing of the body 102 with the use of the tool 150 (e.g., a hand) kept at the same position in the same posture. Further, the arm 103 other than the kept arm 103 can perform an operation that necessitates a swing of the body 102 for the fixed first target work piece W1. Specifically, in the present embodiment, the robot 100 includes the two arms 103. The robot controller 200 controls the robot 100 so that one 103 of the arms 103L, 103R keeps the tool 150 at the same position in the same posture during a time period between before and after a swing of the body 102 to fix the first target work piece W1, while controlling the robot 100 so that the other arm 103 performs an operation that necessitates the swing of the body 102 for the first target work piece W1. This enables, in the case where the robot 100 performs the fitting operation in which the second target work piece W2 is fitted to the first target work piece W1, a predetermined arm 103 to fix the first target work piece W1, while enabling the other arm 103 to perform an operation to fetch the second target work piece W2 through a swing of the body 102, an operation to covey the second target work piece W2 to the position of the fixed first target work piece W1 through a swing of the body 102, etc.
As such, according to the present embodiment, the single robot 100 can perform an operation that necessitates a swing with the first target work piece W1 fixed. Further, at this time, the body 102 and the arms 103L, 103R can be operated simultaneously, thereby achieving efficient utilization of the installation area of the robot 100, reducing the cycle time, and increasing operational efficiency.
Further, in particular, the input device 300 includes the fixing/specifying selection key 303 in the present embodiment. Accordingly, the first arm for keeping the tool 150 at the same position in the same posture can be easily selected from the arms 103L, 103R at an input of a teaching point. In addition, specifying the first arm at an input of a teaching point enables automatic setting of the same teaching point as the operation start point for the first arm, thereby facilitating teaching operation.
Furthermore, in particular, in the present embodiment, the interpolation computing section 202 of the robot controller 200 computes the interpolation points so that the first arm selected by the fixing/specifying selection key 303 of the input device 300 performs the linear interpolation motion, and the drive section 203 of the robot controller 200 drives the first arm on the basis of the computed interpolation points. This causes the first arm to move linearly between the tip end position at the operation start and the teaching point, so that the robot 100 can be definitely controlled so as to keep the tool 150 of the first arm at the same position in the same posture during a time period between before and after a swing.
Still further, in particular, in the present embodiment, the type of interpolation motion for the second arm can be selected by the interpolation type selection key 304 of the input device 300 at an input of a teaching point. This enables selection of suitable interpolation motion for the second arm according to an operation environment, status, etc. of the robot system 1.
Moreover, in particular, in the present embodiment, the input device 300 includes the direction key 305, the swing key 306, and the decision key 307. The direction key 305 operates the arm 103 so as to lead the tip end of the tool 150 to an arbitrary position in the three-dimensional space. The swing key 306 operates the body 102 so as to swing at an arbitrary angle. When the direction key 305 and the swing key 306 are operated, the drive section 203 of the robot controller 200 drives the arm 103 and the body 102 according to the operated amount. The decision key 307 sets the tip end position of the tool 150 of the arm 103 thus positioned through the operation of the direction key 305 and the swing key 306 to the teaching point. At this time, the robot controller 200 controls the robot 100 regardless of the operation of the swing key 306 at an input of a teaching point so as to keep the tool 150 of the first arm at the same position in the same posture during a time period between before and after a swing of the body 102. Accordingly, even when the body 102 swings at an input of a teaching point, the teaching point that is the same as the operation start point can be automatically set for the first arm without need for the first arm to be positioned by the direction key 305. Thus, teaching operation can be facilitated.
It is appreciated that the present embodiment is not limited to the above description, and various modification is possible within the scope not deviated from the subject matter and technical idea. For example, the above embodiment describes as one example the case where the robot 100 includes the two arms 103L, 103R. However, the present invention is not limited thereto, and applicable to the case where the robot 100 includes three or more robot arms.
Further, the robot controller 200 as a control unit is installed at a site separate from the robot 100 in the above embodiment. However, the present invention is not limited thereto. The control unit may be installed on the robot 100, for example, at a part of the base 101 of the robot 100 or the like.
Moreover, the input device 300 is provided separately from the robot controller 200 as a control unit in the above embodiment. However, the present invention is not limited thereto. The control unit may include the input device.
Furthermore, in the above embodiment, the interpolation computing section 202 computes interpolation points to allow the first arm to perform the linear interpolation motion. The present invention is not limited thereto. The interpolation computing section 202 may compute interpolation points so as to allow the first arm to perform arc interpolation motion. Alternatively, the interpolation computing section 202 may compute interpolation points so as to allow the first arm to perform any of PTP interpolation motion, linear interpolation motion, and arc interpolation motion according to the situation.
Still further, in the above embodiment, the case is described where the robot system 1 is applied to the fitting operation to fit the second target work piece W2 to the first target work piece W1. The present invention is not limited thereto and may be applied to other cases. For example, the present invention is applicable to the case where the second arm fetches (conveys) a hammer or screwdriver while the first arm fixes the nail or bolt in a nail driving operation or a bolt fastening operation.
In addition, besides the aforementioned cases, schemes of the above embodiment and various modified examples may be combined appropriately.
Although no other example is referred to, the above embodiment and various modified examples are put into practice with various changes added within the scope not deviating from the subject matter.
Number | Date | Country | Kind |
---|---|---|---|
2011-056721 | Mar 2011 | JP | national |