SYSTEM AND METHOD FOR CONTROLLING WORKING MACHINE
20240352702 ยท 2024-10-24
Inventors
- Hikaru Suzuki (Tokyo, JP)
- Tsutomu Iwamura (Tokyo, JP)
- Sho NOZAKI (Tokyo, JP)
- Ryuji Kanda (Tokyo, JP)
- Daishi IWANAGA (Tokyo, JP)
- Tomokazu HIRAO (Tokyo, JP)
- Yuta UCHIDA (Tokyo, JP)
- Yuki Shimano (Tokyo, JP)
- Jun Sasaki (Tokyo, JP)
- Jin Kitajima (Tokyo, JP)
Cpc classification
E02F3/43
FIXED CONSTRUCTIONS
E02F3/3677
FIXED CONSTRUCTIONS
E02F9/265
FIXED CONSTRUCTIONS
E02F9/264
FIXED CONSTRUCTIONS
International classification
Abstract
A measurement value acquisition unit acquires measurement values from a plurality of sensors. A posture calculation unit calculates a posture of an attachment with respect to a vehicle body. An intervention control unit determines a virtual rotation axis based on the calculated posture of the attachment. An intervention control unit generates a control signal for the tilt rotator to rotate the attachment around the virtual rotation axis so that a design surface and teeth of the attachment are approximately parallel to each other, based on the calculated posture of the attachment. An output unit outputs the generated control signal.
Claims
1. A system for controlling a work machine including a support portion operably supported by a vehicle body, a tilt rotator attached to a tip of the support portion, and an attachment having teeth and supported rotatably around three axes that intersect each other in different planes, by the support portion via the tilt rotator, the system comprising: a processor, wherein the processor is configured to acquire measurement values from a plurality of sensors, calculate a posture of the attachment with respect to the vehicle body based on the measurement values, determine a virtual rotation axis based on the calculated posture of the attachment, generate a control signal for the tilt rotator to rotate the attachment around the virtual rotation axis so that a design surface and the teeth of the attachment are approximately parallel to each other, based on the calculated posture of the attachment, and output the generated control signal.
2. The system according to claim 1, wherein the processor is configured to determine a target value of an angular velocity around the virtual rotation axis for making the design surface and the teeth of the attachment approximately parallel to each other, transform the angular velocity around the virtual rotation axis to angular velocities around the three axes, and generate a control signal for the tilt rotator based on the angular velocities of the three axes.
3. The system according to claim 1, wherein the virtual rotation axis is an axis extending in a direction in which the teeth of the attachment face.
4. The system according to claim 1, wherein processor is configured to output the control signal for the tilt rotator in a case where a distance between the design surface and the teeth of the attachment is equal to or less than an intervention threshold value.
5. The system according to claim 1, wherein the support portion includes a boom rotatably supported by the vehicle body and an arm rotatably supported by the boom, and the processor is configured to acquire an operation signal for operating the work machine from an operation device, and generate a control signal for the tilt rotator in a case where only an operation signal for operating the boom is input from the acquired operation signal.
6. The system according to claim 1, wherein the virtual rotation axis is different from a joint shaft of the tilt rotator.
7. A method for controlling a work machine including a support portion operably supported by a vehicle body, a tilt rotator attached to a tip of the support portion, and an attachment having teeth and supported rotatably by the tilt rotator around three axes that intersect each other in different planes, by the support portion, the method comprising: a step of acquiring measurement values from a plurality of sensors; a step of calculating a posture of the attachment with respect to the vehicle body based on the measurement values; a step of determining a virtual rotation axis extending in a direction in which the teeth of the attachment face based on the calculated posture of the attachment; a step of generating a control signal for the tilt rotator to rotate the attachment around the virtual rotation axis so that a design surface and the teeth of the attachment are approximately parallel to each other, based on the calculated posture of the attachment; and a step of controlling the tilt rotator according to the generated control signal.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
DESCRIPTION OF EMBODIMENTS
First Embodiment
Configuration of Work Machine
[0018] Hereinafter, embodiments will be described in detail with reference to the drawings.
[0019]
[0020] The undercarriage 120 travelably supports the work machine 100. The undercarriage 120 is, for example, a pair of left and right endless tracks.
[0021] The swing body 140 is supported by the undercarriage 120 so as to be swingable around a swing center. The swing body 140 is an example of a vehicle body. The undercarriage 120 is an example of a base portion that swingably supports the swing body 140.
[0022] The work equipment 160 is operably supported by the swing body 140. The work equipment 160 is driven by hydraulic pressure. The work equipment 160 includes a boom 161, an arm 162, a tilt rotator 163, and a bucket 164 that is an attachment. A base end portion of the boom 161 is rotatably attached to the swing body 140. A base end portion of the arm 162 is rotatably attached to a tip portion of the boom 161. The tilt rotator 163 is rotatably attached to a tip portion of the arm 162. The bucket 164 is attached to the tilt rotator 163. The bucket 164 is supported rotatably around three axes that intersect each other in different planes, by the work equipment 160 via the tilt rotator 163. Here, a portion of the swing body 140 to which the work equipment 160 is attached is referred to as a front part. In addition, regarding the swing body 140, based on the front part, an opposite part is referred to as a rear part, a left part is referred to as a left part, and a right part is referred to as a right part. The boom 161 and the arm 162 are examples of a support portion operably supported by the swing body 140.
[0023]
[0024] The cab 180 is provided at the front part of the swing body 140. An operation device 271 for an operator to operate the work machine 100, and a monitor device 272 which is a human-machine interface of the control device 200 are provided in the cab 180. The operation device 271 receives, from the operator, inputs of an operation amount of a traveling motor 304, an operation amount of a swing motor 305, an operation amount of a boom cylinder 306, an operation amount of an arm cylinder 307, an operation amount of a bucket cylinder 308, an operation amount of a tilt cylinder 309, and an operation amount of a rotary motor 310. The operation device 271 outputs an operation signal indicating the operation amount of the work machine. The operation device 271 is operated by the operator and outputs operation signals for operating the boom 161 and the arm 162. The operation device 271 is operated by the operator and outputs an operation signal for swinging the swing body 140 with respect to the undercarriage 120. The operation device 271 is operated by the operator and outputs an operation signal for operating the tilt rotator 163. The monitor device 272 receives an input for setting and releasing a bucket posture holding mode from the operator. The bucket posture holding mode is a mode in which the control device 200 automatically controls the bucket cylinder 308, the tilt cylinder 309, and the rotary motor 310 to hold a posture of the bucket 164 in a global coordinate system. The monitor device 272 is realized by, for example, a computer including a touch panel.
[0025] The control device 200 controls the undercarriage 120, the swing body 140, and the work equipment 160 based on the operation of the operation device 271 by the operator. The control device 200 is provided, for example, inside the cab 180.
Drive System of Work Machine 100
[0026]
[0027] The work machine 100 includes a plurality of actuators for driving the work machine 100. Specifically, the work machine 100 includes an engine 301, a hydraulic pump 302, a control valve 303, a pair of the traveling motors 304, the swing motor 305, the boom cylinder 306, the arm cylinder 307, the bucket cylinder 308, the tilt cylinder 309, and the rotary motor 310.
[0028] The engine 301 is a prime mover that drives the hydraulic pump 302.
[0029] The hydraulic pump 302 is driven by the engine 301 and supplies hydraulic oil to the traveling motor 304, the swing motor 305, the boom cylinder 306, the arm cylinder 307, and the bucket cylinder 308 via the control valve 303.
[0030] The control valve 303 controls a flow rate of the hydraulic oil to be supplied from the hydraulic pump 302 to the traveling motor 304, the swing motor 305, the boom cylinder 306, the arm cylinder 307, and the bucket cylinder 308.
[0031] The traveling motor 304 is driven by the hydraulic oil supplied from the hydraulic pump 302 to drive the undercarriage 120.
[0032] The swing motor 305 is driven by the hydraulic oil supplied from the hydraulic pump 302 to swing the swing body 140 with respect to the undercarriage 120.
[0033] The boom cylinder 306 is a hydraulic cylinder for driving the boom 161. A base end portion of the boom cylinder 306 is attached to the swing body 140. A tip portion of the boom cylinder 306 is attached to the boom 161.
[0034] The arm cylinder 307 is a hydraulic cylinder for driving the arm 162. A base end portion of the arm cylinder 307 is attached to the boom 161. A tip portion of the arm cylinder 307 is attached to the arm 162.
[0035] The bucket cylinder 308 is a hydraulic cylinder for driving the tilt rotator 163 and the bucket 164. A base end portion of the bucket cylinder 308 is attached to the arm 162. A tip portion of the bucket cylinder 308 is attached to the tilt rotator 163 via a link member.
[0036] The tilt cylinder 309 is a hydraulic cylinder for driving the tilt portion 1632. A base end portion of the tilt cylinder 309 is attached to the attachment portion 1631. A tip portion of a rod of the tilt cylinder 309 is attached to the tilt portion 1632.
[0037] The rotary motor 310 is a hydraulic motor for driving the rotation portion 1633. A bracket and stator of the rotary motor 310 are fixed to the tilt portion 1632. A rotary shaft and rotor of the rotary motor 310 are provided to extend in the up-down direction in the drawing and are fixed to the rotation portion 1633.
Measurement System of Work Machine 100
[0038] The work machine 100 includes a plurality of sensors for measuring a posture, an azimuth direction, and a position of the work machine 100. Specifically, the work machine 100 includes an inclination measurer 401, a position and azimuth direction measurer 402, a boom angle sensor 403, an arm angle sensor 404, a bucket angle sensor 405, a tilt angle sensor 406, and a rotation angle sensor 407.
[0039] The inclination measurer 401 measures a posture of the swing body 140. The inclination measurer 401 measures an inclination (for example, a roll angle, a pitch angle, and a yaw angle) of the swing body 140 with respect to a horizontal plane. As the inclination measurer 401, an inertial measurement unit (IMU) is an exemplary example. In this case, the inclination measurer 401 measures an acceleration and angular velocity of the swing body 140, and calculates the inclination of the swing body 140 with respect to the horizontal plane based on a measurement result. The inclination measurer 401 is installed, for example, below the cab 180. The inclination measurer 401 outputs posture data of the swing body 140 to the control device 200 as a measurement value.
[0040] The position and azimuth direction measurer 402 measures a position of a representative point of the swing body 140 and an azimuth direction in which the swing body 140 faces, by a global navigation satellite system (GNSS). The position and azimuth direction measurer 402 includes, for example, two GNSS antennas (not shown) attached to the swing body 140, and detects an azimuth direction orthogonal to a straight line connecting positions of the two antennas as the azimuth direction in which the work machine 100 faces. The position and azimuth direction measurer 402 outputs position data and azimuth direction data of the swing body 140 to the control device 200 as measurement values.
[0041] The boom angle sensor 403 measures a boom angle which is an angle of the boom 161 with respect to the swing body 140. The boom angle sensor 403 may be an IMU attached to the boom 161. In this case, the boom angle sensor 403 measures the boom angle based on the inclination of the boom 161 with respect to the horizontal plane and the inclination of the swing body measured by the inclination measurer 401. The measurement value of the boom angle sensor 403 indicates zero, for example, when a direction of a straight line passing through a base end and a tip of the boom 161 matches the front-rear direction of the swing body 140. The boom angle sensor 403 according to another embodiment may be a stroke sensor attached to the boom cylinder 306. In addition, the boom angle sensor 403 according to another embodiment may be a rotation sensor provided on an indirect shaft that rotatably connects the swing body 140 and the boom 161. The boom angle sensor 403 outputs boom angle data to the control device 200 as the measurement value.
[0042] The arm angle sensor 404 measures an arm angle which is the angle of the arm 162 with respect to the boom 161. The arm angle sensor 404 may be an IMU attached to the arm 162. In this case, the arm angle sensor 404 measures the arm angle based on the inclination of the arm 162 with respect to the horizontal plane and the boom angle measured by the boom angle sensor 403. The measurement value of the arm angle sensor 404 indicates zero, for example, when a direction of a straight line passing through a base end and a tip of the arm 162 matches the direction of the straight line passing through the base end and the tip of the boom 161. The arm angle sensor 404 according to another embodiment may calculate an angle by attaching a stroke sensor to the arm cylinder 307. In addition, the arm angle sensor 404 according to another embodiment may be a rotation sensor provided on a joint shaft that rotatably connects the boom 161 and the arm 162. The arm angle sensor 404 outputs arm angle data to the control device 200 as the measurement value.
[0043] The bucket angle sensor 405 measures a bucket angle which is an angle of the tilt rotator 163 with respect to the arm 162. The bucket angle sensor 405 may be a stroke sensor provided on the bucket cylinder 308. In this case, the bucket angle sensor 405 measures the bucket angle based on a stroke amount of the bucket cylinder 308. The measurement value of the bucket angle sensor 405 indicates zero, for example, when a direction of a straight line passing through a base end and teeth of the bucket 164 matches the direction of the straight line passing through the base end and the tip of the arm 162. The bucket angle sensor 405 according to another embodiment may be a rotation sensor provided on a joint shaft that rotatably connects the arm 162 and the attachment portion 1631 of the tilt rotator 163. In addition, the bucket angle sensor 405 according to another embodiment may be an IMU attached to the bucket 164. The bucket angle sensor 405 outputs bucket angle data to the control device 200 as the measurement value.
[0044] The tilt angle sensor 406 measures a tilt angle which is an angle of the tilt portion 1632 with respect to the attachment portion 1631 of the tilt rotator 163. The tilt angle sensor 406 may be a rotation sensor provided on a joint shaft that rotatably connects the attachment portion 1631 and the tilt portion 1632. The measurement value of the tilt angle sensor 406 indicates zero, for example, when the rotation axis of the arm 162 and the rotation axis of the rotation portion 1633 are orthogonal to each other. The tilt angle sensor 406 according to another embodiment may calculate an angle by attaching a stroke sensor to the tilt cylinder 309. The tilt angle sensor 406 outputs tilt angle data to the control device 200 as the measurement value.
[0045] The rotation angle sensor 407 measures a rotation angle which is an angle of the rotation portion 1633 with respect to the tilt portion 1632 of the tilt rotator 163. The rotation angle sensor 407 may be a rotation sensor provided on the rotary motor 310. The measurement value of the tilt angle sensor 406 indicates zero, for example, when a direction in which the teeth of the bucket 164 face and an operation plane of the work equipment 160 are parallel to each other. The rotation angle sensor 407 outputs rotation angle data to the control device 200 as the measurement value.
Configuration of Control Device 200
[0046]
[0047] The control device 200 is a computer that includes a processor 210, a main memory 230, a storage 250, and an interface 270. The control device 200 is an example of a control system. The control device 200 receives the measurement values from the inclination measurer 401, the position and azimuth direction measurer 402, the boom angle sensor 403, the arm angle sensor 404, the bucket angle sensor 405, the tilt angle sensor 406, and the rotation angle sensor 407.
[0048] The storage 250 is a non-transitory and tangible storage medium. As the storage 250, a magnetic disk, an optical disk, a magneto-optical disk, and a semiconductor memory are exemplary examples. The storage 250 may be internal media directly connected to a bus of the control device 200, or may be external media connected to the control device 200 via the interface 270 or a communication line. The operation device 271 and the monitor device 272 are connected to the processor 210 via the interface 270.
[0049] The storage 250 stores a control program for controlling the work machine 100. The control program may be used for realizing some functions to be performed by the control device 200. For example, the control program may function in combination with another program already stored in the storage 250 or in combination with another program installed in another device. In addition, in another embodiment, the control device 200 may include a custom large scale integrated circuit (LSI) such as a programmable logic device (PLD) in addition to or instead of the above configuration. As the PLD, a programmable array logic (PAL), a generic array logic (GAL), a complex programmable logic device (CPLD), and a field programmable gate array (FPGA) are exemplary examples. In this case, some or all of the functions realized by the processor may be realized by the integrated circuit.
[0050] In the storage 250, geometric data representing dimensions and positions of the center of gravity of the swing body 140, the boom 161, the arm 162, and the bucket 164 is recorded. The geometric data is data representing a position of an object in a predetermined coordinate system. In addition, design surface data, which is three-dimensional data representing a shape of the design surface of a construction site in the global coordinate system, is recorded in the storage 250. The global coordinate system is a coordinate system formed of an X.sub.g axis extending in a latitudinal direction, a Y.sub.g axis extending in a longitudinal direction, and a Z.sub.g axis extending in a vertical direction. The design surface data is represented by, for example, Triangular Irregular Networks (TIN) data.
Software Configuration
[0051] The processor 210 executes the control program to include an operation signal acquisition unit 211, an input unit 212, a display control unit 213, a measurement value acquisition unit 214, a position and posture calculation unit 215, an intervention determination unit 216, an intervention control unit 217, and a control signal output unit 218.
[0052] The operation signal acquisition unit 211 acquires an operation signal indicating an operation amount of each actuator from the operation device 271.
[0053] The input unit 212 receives an operation input by the operator from the monitor device 272.
[0054] The display control unit 213 outputs screen data to be displayed on the monitor device 272 to the monitor device 272.
[0055] The measurement value acquisition unit 214 acquires the measurement values from the inclination measurer 401, the position and azimuth direction measurer 402, the boom angle sensor 403, the arm angle sensor 404, the bucket angle sensor 405, the tilt angle sensor 406, and the rotation angle sensor 407.
[0056] The position and posture calculation unit 215 calculates the position of the work machine 100 in the global coordinate system and in a vehicle body coordinate system based on various measurement values acquired by the measurement value acquisition unit 214 and the geometric data recorded in the storage 250. For example, the position and posture calculation unit 215 calculates a position of the teeth of the bucket 164 in the global coordinate system and in the vehicle body coordinate system. The vehicle body coordinate system is an orthogonal coordinate system whose origin is a representative point (for example, a point passing through the swing center) of the swing body 140. The calculation of the position and posture calculation unit 215 will be described below. The position and posture calculation unit 215 is an example of a posture calculation unit that calculates the posture of the bucket 164 with respect to the swing body 140.
[0057] The intervention determination unit 216 determines whether or not to limit a speed of the work equipment 160 based on a positional relationship between the position of the teeth of the bucket 164 calculated by the position and posture calculation unit 215 and the design surface indicated by the design surface data. Hereinafter, limiting the speed of the work equipment 160 by the control device 200 is also referred to as intervention control. Specifically, the intervention determination unit 216 obtains the shortest distance between the design surface and the bucket 164, and determines to perform the intervention control on the work equipment 160 in a case where the shortest distance is equal to or less than a predetermined distance.
[0058] In a case where the intervention determination unit 216 determines to perform the intervention control, the intervention control unit 217 controls an operation amount of an intervention target among the operation amounts acquired by the operation signal acquisition unit 211. In the intervention control, the intervention control unit 217 controls an operation amount of the boom 161 so that the work equipment 160 does not enter a design line. Accordingly, the boom 161 operates such that a speed of the bucket 164 becomes a speed corresponding to a distance between the bucket 164 and the design line. In other words, when the operator operates the arm 162 to perform excavation work, the intervention control unit 217 limits the speed of the teeth of the bucket 164 by raising the boom 161 in accordance with the design surface.
[0059] The control signal output unit 218 outputs the operation amount acquired by the operation signal acquisition unit 211 or the operation amount controlled by the intervention control unit 217 to the control valve 303.
Calculation of Position and Posture Calculation Unit 215
[0060] Here, a method for calculating a position of a point on an outer shell of the work machine 100 by the position and posture calculation unit 215 will be described. The position and posture calculation unit 215 calculates the position of the point on the outer shell based on various measurement values acquired by the measurement value acquisition unit 214 and the geometric data recorded in the storage 250. In the storage 250, geometric data representing dimensions of the swing body 140, the boom 161, the arm 162, the tilt rotator 163 (the attachment portion 1631, the tilt portion 1632, and the rotation portion 1633), and the bucket 164 is recorded.
[0061] The geometric data of the swing body 140 indicates a center position (x.sub.bm, y.sub.bm, z.sub.bm) of the joint shaft by which the swing body 140 supports the boom 161 in the vehicle body coordinate system that is a local coordinate system. The vehicle body coordinate system is a coordinate system formed of an X.sub.sb axis extending in the front-rear direction, a Y.sub.sb axis extending in the left-right direction, and a Z.sub.sb axis extending in the up-down direction based on the swing center of the swing body 140. The up-down direction of the swing body 140 does not necessarily match the vertical direction.
[0062] The geometric data of the boom 161 indicates a position (x.sub.am, y.sub.am, z.sub.am) of the joint shaft by which the boom 161 supports the arm 162 in a boom coordinate system that is a local coordinate system. The boom coordinate system is a coordinate system formed of an X.sub.bm axis extending in a longitudinal direction, a Y.sub.bm axis extending in a direction in which the joint shaft extends, and a Z.sub.bm axis orthogonal to the X.sub.bm axis and the Y.sub.bm axis based on the center position of the joint shaft by which the swing body 140 and the boom 161 are connected.
[0063] The geometric data of the arm 162 indicates a position (x.sub.t1, y.sub.t1, z.sub.t1) of the joint shaft by which the arm 162 supports the attachment portion 1631 of the tilt rotator 163 in an arm coordinate system that is a local coordinate system. The arm coordinate system is a coordinate system formed of an X.sub.am axis extending in the longitudinal direction, a Y.sub.am axis extending in a direction in which the joint shaft extends, and a Z.sub.am axis orthogonal to the X.sub.am axis and the Y.sub.am axis based on the center position of the joint shaft by which the boom 161 and the arm 162 are connected.
[0064] The geometric data of the attachment portion 1631 of the tilt rotator 163 indicates a position (x.sub.t2, y.sub.t2, z.sub.t2) of the joint shaft by which the attachment portion 1631 supports the tilt portion 1632 and an inclination (.sub.t) of the joint shaft in a first tilt-rotate coordinate system that is the local coordinate system. The inclination .sub.t of the joint shaft is an angle related to a design error of the tilt rotator 163, and is obtained by calibration of the tilt rotator 163 or the like. The first tilt-rotate coordinate system is a coordinate system formed of a Y.sub.t1 axis extending in a direction in which the joint shaft by which the arm 162 and the attachment portion 1631 are connected extends, a Z.sub.t1 axis extending in a direction in which the joint shaft by which the attachment portion 1631 and the tilt portion 1632 are connected extends, and an X.sub.t1 axis orthogonal to the Y.sub.t1 axis and the Z.sub.t1 axis based on the center position of the joint shaft by which the arm 162 and the attachment portion 1631 are connected.
[0065] The geometric data of the tilt portion 1632 of the tilt rotator 163 indicates a tip position (x.sub.t3, y.sub.t3, z.sub.t3) of the rotary shaft of the rotary motor 310 and an inclination (.sub.r) of the rotary shaft in a second tilt-rotate coordinate system that is the local coordinate system. The inclination .sub.r of the rotary shaft is an angle related to a design error of the tilt rotator 163, and is obtained by calibration of the tilt rotator 163 or the like. The second tilt-rotate coordinate system is a coordinate system formed of an X.sub.t2 axis extending in a direction in which the joint shaft by which the attachment portion 1631 and the tilt portion 1632 are connected extends, a Z.sub.t2 axis extending in a direction in which the rotary shaft of the rotary motor 310 extends, and a Y.sub.t2 axis orthogonal to the X.sub.t2 axis and the Z.sub.t2 axis based on the center position of the joint shaft by which the attachment portion 1631 and the tilt portion 1632 are connected.
[0066] The geometric data of the rotation portion 1633 of the tilt rotator 163 indicates a center position (x.sub.t4, y.sub.t4, z.sub.t4) of the attachment surface of the bucket 164 in a third tilt-rotate coordinate system that is the local coordinate system. The third tilt-rotate coordinate system is a coordinate system formed of a Z.sub.t3 axis extending in a direction in which the rotary shaft of the rotary motor 310 extends, and an X.sub.t3 axis and a Y.sub.t3 axis orthogonal to the rotary shaft based on the center position of the attachment surface of the bucket 164. The bucket 164 is attached to the rotation portion 1633 such that the teeth are parallel to the Y.sub.t3 axis.
[0067] The geometric data of the bucket 164 indicates positions (x.sub.bk, y.sub.bk, z.sub.bk) of the plurality of contour points of the bucket 164 in the third tilt-rotate coordinate system. As the contour points, positions of both ends and the center of the teeth of the bucket 164, positions of both ends and the center of a bottom portion of the bucket 164, and positions of both ends and the center of a heel portion of the bucket 164 are exemplary examples.
[0068] The position and posture calculation unit 215 generates a boom-vehicle body transformation matrix T.sup.bm.sub.sb for performing transformation from the boom coordinate system to the vehicle body coordinate system by using Expression (1), based on the measurement value of the boom angle .sub.bm acquired by the measurement value acquisition unit 214 and the geometric data of the swing body 140. The boom-vehicle body transformation matrix T.sup.bm.sub.sb is a matrix for rotation around the Y.sub.bm axis by the boom angle .sub.bm and translation by a deviation (x.sub.bm, y.sub.bm, z.sub.bm) between the origin of the vehicle body coordinate system and the origin of the boom coordinate system.
[0069] The position and posture calculation unit 215 generates an arm-boom transformation matrix T.sup.am.sub.bm for performing transformation from the arm coordinate system to the boom coordinate system by using Expression (2), based on the measurement value of the arm angle .sub.am acquired by the measurement value acquisition unit 214 and the geometric data of the boom 161. The arm-boom transformation matrix T.sup.am.sub.bm is a matrix for rotation by the arm angle .sub.am around the Y.sub.am axis and translation by a deviation (x.sub.am, y.sub.am, z.sub.am) between the origin of the boom coordinate system and the origin of the arm coordinate system. In addition, the position and posture calculation unit 215 generates an arm-vehicle body transformation matrix T.sup.am.sub.bm for performing transformation from the arm coordinate system to the vehicle body coordinate system by obtaining a product of the boom-vehicle body transformation matrix T.sup.bm.sub.sb and the arm-boom transformation matrix T.sup.am.sub.bm.
[0070] The position and posture calculation unit 215 generates a first tilt-arm transformation matrix T.sup.t1.sub.am for performing transformation from the first tilt-rotate coordinate system to the arm coordinate system by using Expression (3), based on the measurement value of the bucket angle .sub.bk acquired by the measurement value acquisition unit 214 and the geometric data of the arm 162. The first tilt-arm transformation matrix T.sup.t1.sub.am is a matrix for rotation by the bucket angle .sub.bk around the Y.sub.t1 axis, translation by a deviation (x.sub.t1, y.sub.t1, z.sub.t1) between the origin of the arm coordinate system and the origin of the first tilt-rotate coordinate system, and further inclination by the inclination .sub.t of the joint shaft of the tilt portion 1632. In addition, the position and posture calculation unit 215 generates a first tilt-vehicle body transformation matrix T.sup.t1.sub.sb for performing transformation from the first tilt-rotate coordinate system to the vehicle body coordinate system by obtaining a product of the arm-vehicle body transformation matrix T.sup.t1.sub.sb and the first tilt-arm transformation matrix T.sup.t1.sub.am.
[0071] The position and posture calculation unit 215 generates a second tilt-first tilt transformation matrix T.sup.t2.sub.t1 for performing transformation from the first tilt-rotate coordinate system to the second tilt-rotate coordinate system by using Expression (4), based on the measurement value of the tilt angle .sub.t acquired by the measurement value acquisition unit 214 and the geometric data of the tilt rotator 163. The second tilt-first tilt transformation matrix T.sup.t2.sub.t1 is a matrix for rotation by the tilt angle .sub.t around the X.sub.t2 axis, translation by a deviation (x.sub.t2, y.sub.t2, z.sub.t2) between the origin of the first tilt-rotate coordinate system and the origin of the second tilt-rotate coordinate system, and further inclination by the inclination .sub.r of the rotation axis of the rotation portion 1633. In addition, the position and posture calculation unit 215 generates a second tilt-vehicle body transformation matrix T.sup.t2.sub.sb for performing transformation from the second tilt-rotate coordinate system to the vehicle body coordinate system by obtaining a product of the first tilt-vehicle body transformation matrix T.sup.t1.sub.sb and the second tilt-first tilt transformation matrix T.sup.t2.sub.t1.
[0072] The position and posture calculation unit 215 generates a third tilt-second tilt transformation matrix T.sup.t3.sub.t2 for performing transformation from the second tilt-rotate coordinate system to the third tilt-rotate coordinate system by using Expression (5), based on the measurement value of the rotation angle .sub.r acquired by the measurement value acquisition unit 214 and the geometric data of the tilt rotator 163. The third tilt-second tilt transformation matrix T.sup.t3.sub.t2 is a matrix for rotation by the rotation angle .sub.r around the Z.sub.t3 axis, and translation by a deviation (x.sub.t3, y.sub.t3, z.sub.t3) between the origin of the second tilt-rotate coordinate system and the origin of the third tilt-rotate coordinate system. In addition, the position and posture calculation unit 215 generates a third tilt-vehicle body transformation matrix T.sup.t3.sub.sb for performing transformation from the third tilt-rotate coordinate system to the vehicle body coordinate system by obtaining a product of the second tilt-vehicle body transformation matrix T.sup.t2.sub.sb and the third tilt-second tilt transformation matrix T.sup.t3.sub.t2.
[0073] The position and posture calculation unit 215 can obtain the positions of the plurality of contour points of the bucket 164 in the vehicle body coordinate system by obtaining a product of a sum of the positions (x.sub.bk, y.sub.bk, z.sub.bk) of the plurality of contour points in the third tilt-rotate coordinate system indicated by the center position (x.sub.t4, y.sub.t4, z.sub.t4) of the attachment surface of the bucket 164 and the geometric data of the bucket 164, and the third tilt-vehicle body transformation matrix T.sup.bk.sub.sb.
[0074] Incidentally, the angle of the teeth of the bucket 164 with respect to a grounding surface of the work machine 100, that is, an angle formed by an X.sub.sb-Y.sub.sb plane of the vehicle body coordinate system and the Y.sub.t3 axis of the third tilt-rotate coordinate system, is determined by the boom angle .sub.bm, the arm angle .sub.am, the bucket angle .sub.bk, the tilt angle .sub.t, and the rotation angle .sub.r. Accordingly, as shown in
[0075] The position and posture calculation unit 215 generates a bucket-third tilt transformation matrix T.sup.bk.sub.t3 for performing transformation from the third tilt-rotate coordinate system to the bucket coordinate system by using Expression (6), based on the geometric data of the tilt rotator 163. The bucket-third tilt transformation matrix T.sup.bk.sub.t3 is a matrix for rotation by the inclination .sub.r of the rotary shaft around the Y.sub.t3 axis.
Method of Controlling Work Machine 100
[0076] Hereinafter, a method of controlling the work machine 100 according to the first embodiment will be described.
[0077] The measurement value acquisition unit 214 acquires the measurement values of the inclination measurer 401, the position and azimuth direction measurer 402, the boom angle sensor 403, the arm angle sensor 404, the bucket angle sensor 405, the tilt angle sensor 406, and the rotation angle sensor 407 (step S101).
[0078] The position and posture calculation unit 215 calculates the positions of the plurality of contour points of the bucket 164 in the vehicle body coordinate system based on the measurement values acquired in step S101 (step S102). In addition, the position and posture calculation unit 215 calculates the posture of the bucket in the vehicle body coordinate system based on the measurement values acquired in step S101 (step S103). The posture of the bucket in the vehicle body coordinate system is represented by a posture matrix R.sub.cur indicating the directions of respective axes (X.sub.bk, Y.sub.bk, Z.sub.bk) of the bucket coordinate system in the vehicle body coordinate system. All translation components of the posture matrix R.sub.cur representing the posture of the bucket 164 are set to zero.
[0079] Next, the intervention determination unit 216 rotates and translates the design surface data recorded in the storage 250 based on the measurement values of the inclination measurer 401 and the position and azimuth direction measurer 402 acquired in step S101, thereby transforming the position of the design surface represented by the global coordinate system to the position of the vehicle body coordinate system (step S104). The intervention determination unit 216 specifies, as a control point, a contour point closest to the design surface among the plurality of contour points of the bucket 164, based on the positions of the plurality of contour points of the bucket 164 in the vehicle body coordinate system calculated in step S102 and the position of the design surface in the vehicle body coordinate system transformed in step S104 (step S105). The intervention determination unit 216 specifies a design surface (polygon) located vertically below the control point specified in step S105 in the design surface data (step S106). The intervention determination unit 216 calculates a first design line that is an intersection line between the design surface specified in step S106 and a surface parallel to an X.sub.bk-Z.sub.bk plane of a bucket coordinate system passing through the control point (step S107). In addition, the intervention determination unit 216 calculates a second design line that is an intersection line between the design surface and a surface parallel to a Y.sub.bk-Z.sub.bk plane of the bucket coordinate system passing through the control point (step S108).
[0080] Next, the intervention determination unit 216 determines whether or not a distance between the control point and the first design line is equal to or less than an intervention threshold value (step S109). In a case where the distance between the control point and the first design line is equal to or less than the intervention threshold value (step S109: YES), the intervention determination unit 216 determines whether or not an operation of something other than the boom 161 has been received based on the operation signal from the operation device 271 acquired by the operation signal acquisition unit 211 (step S110). In a case where the intervention determination unit 216 determines that only the operation of the boom 161 has been received, or in a case where the intervention determination unit 216 determines that no operation has been received (step S110: NO), because it is inferred that the operator is willing to bring the teeth of the bucket 164 close to the design surface, the intervention control unit 217 generates control signals for the bucket cylinder 308, the tilt cylinder 309, and the rotary motor 310 by performing tooth alignment control described below (step S111).
[0081] On the other hand, in a case where the intervention determination unit 216 determines that an operation of something other than the boom 161 has been received (step S110: YES), the intervention determination unit 216 determines whether or not an operation of something other than the swing motor 305 and the arm 162 has been received based on the operation signal from the operation device 271 acquired by the operation signal acquisition unit 211 (step S112). In a case where the intervention determination unit 216 determines that an operation of something other than the swing motor 305 and the arm 162 has not been received (step S112: NO), because it is inferred that the operator is willing to excavate the construction site along the design surface, the intervention control unit 217 generates control signals for the bucket cylinder 308, the tilt cylinder 309, and the rotary motor 310 by performing design surface following control described below (step S113).
[0082] In a case where the distance between the control point and the first design line is equal to or less than the intervention threshold value, the intervention control unit 217 specifies a speed limit of the teeth of the bucket 164 based on the distance between the control point and the first design line and a predetermined speed limit table (step S114). The speed limit table is a function indicating a relationship between the distance between the teeth and the design line and the speed limit of the teeth, in which the shorter the distance, the smaller the speed limit. The intervention control unit 217 determines whether or not the speed of the teeth exceeds the speed limit specified in step S114 (step S115). In a case where the speed of the teeth exceeds the speed limit (step $115: YES), the intervention control unit 217 calculates a speed of the boom 161 to match the speed of the teeth with the speed limit, and generates a control signal for the boom cylinder 306 (step S116). In a case where the speed of the teeth does not exceed the speed limit (step S115: NO), the intervention control unit 217 does not perform the intervention control on the boom cylinder 306.
[0083] Then, the control signal output unit 218 generates a control signal corresponding to the operation amount indicated by the operation signal from the operation device 271 acquired by the operation signal acquisition unit 211 for the actuator without the control signal generated by the intervention control unit 217, and outputs the control signal for each actuator to the control valve 303 (step S117).
Tooth Alignment Control
[0084]
[0085] The tooth alignment control is control of making the teeth of the bucket 164 and the design surface approximately parallel to each other. Specifically, the tooth alignment control is control of determining, as a virtual rotation axis, the bucket tilt axis X.sub.bk extending in the direction in which the teeth of the bucket 164 face and operating at least one of the bucket cylinder 308, the tilt cylinder 309, and the rotary motor 310 such that the bucket pitch axis Y.sub.bk orthogonal to the bucket tilt axis X.sub.bk and extending along the teeth of the bucket 164 and the design surface are approximately parallel to each other. In the tooth alignment control, the bucket 164 is rotated around the bucket tilt axis X.sub.bk. Therefore, the intervention control unit 217 obtains a target value .sub.b_ tgt of the bucket angle, a target value .sub.t_tgt of the tilt angle, and a target value .sub.r_tgt of the rotation angle for making the teeth of the bucket 164 and the second design line approximately parallel to each other while maintaining an angle around the bucket pitch axis Y.sub.bk and an angle around the bucket rotation axis Z.sub.bk in the bucket coordinate system. Specifically, the intervention control unit 217 obtains the target values of the bucket angle .sub.bk, the tilt angle .sub.t, and the rotation angle .sub.r through the following procedure.
[0086] The intervention control unit 217 determines a target value .sub.bk_t_tgt of an angular velocity around the bucket tilt axis X.sub.bk based on an angle formed by the bucket pitch axis Y.sub.bk in the bucket coordinate system and the second design line obtained in step S108, and a predetermined bucket tilt table (step S301). The target value .sub.bk_t_tgt of the angular velocity is represented by a rotation angle per unit time. The bucket tilt table is a function indicating a relationship between the angle formed by the bucket pitch axis Y.sub.bk and the design line and the angular velocity around the bucket tilt axis X.sub.bk, in which the smaller the angle, the smaller the angular velocity. The intervention control unit 217 creates a rotation matrix R.sup.bk_t.sub.bk of the bucket coordinate system representing the target value .sub.bk_t_tgt of the angular velocity using Expression (7) (step S302).
[0087] The intervention control unit 217 calculates a target posture R.sub.tgt of the bucket 164 after a unit time by multiplying the matrix R.sub.cur representing the current posture of the bucket 164 calculated in step S103 by the rotation matrix R.sup.bk_t.sub.bk (step S303). The intervention control unit 217 obtains the target values of the bucket angle .sub.bk, the tilt angle .sub.t, and the rotation angle .sub.r by using Expressions (8) to (10), based on the current posture R.sub.cur of the bucket 164 and the target posture R.sub.tgt of the bucket 164 after a unit time (step S304).
[0088] According to Expressions (8) to (10), the intervention control unit 217 can obtain the angular velocities .sub.bk_tgt, .sub.t_tgt, and .sub.r_tgt for offsetting a difference between the current posture R.sub.cur of the bucket 164 and the target posture R.sub.tgt of the bucket 164. The intervention control unit 217 generates control signals for the bucket cylinder 308, the tilt cylinder 309, and the rotary motor 310 based on the target values of the angular velocities obtained in step S304 (step S305).
Design Surface Following Control
[0089]
[0090] The design surface following control is control of causing the teeth of the bucket 164 to follow the design surface during excavation or ground leveling work. Specifically, the design surface following control is control of determining, as a virtual rotation axis, the bucket tilt axis X.sub.bk extending in the direction in which the teeth of the bucket 164 face and operating at least one of the bucket cylinder 308, the tilt cylinder 309, and the rotary motor 310 such that the bucket pitch axis Y.sub.bk orthogonal to the bucket tilt axis X.sub.bk and extending along the teeth of the bucket 164 and the design surface are approximately parallel to each other while holding the axial direction of the bucket tilt axis X.sub.bk in the global coordinate system. In the design surface following control, the bucket 164 is rotated around the bucket tilt axis X.sub.bk while holding the axial direction of the bucket tilt axis X.sub.bk in the global coordinate system. Therefore, the intervention control unit 217 obtains a target value .sub.bk_tgt of the bucket angle, a target value .sub.t_tgt of the tilt angle, and a target value .sub.r_tgt of the rotation angle for making the teeth of the bucket 164 and the second design line approximately parallel to each other by the rotation around the bucket tilt axis X.sub.bk while canceling a change in an opening direction with respect to the global coordinate system due to the operation of the work machine 100 by the operator. Specifically, the intervention control unit 217 obtains the target values of the bucket angle .sub.bk, the tilt angle .sub.t, and the rotation angle .sub.r through the following procedure.
[0091] The intervention control unit 217 obtains a posture matrix Rman representing the posture of the bucket 164 after a unit time (control cycle) by rotating the matrix representing the current posture of the bucket 164 calculated in step S103, based on the operation amounts of the swing motor 305 and the arm cylinder 307 acquired by the operation signal acquisition unit 211, and the measurement value of the inclination measurer 401 acquired by the measurement value acquisition unit 214 (step S401).
[0092] Next, the intervention control unit 217 determines a target value .sub.bk_t_tgt of an angular velocity around the bucket tilt axis X.sub.bk based on an angle formed by the bucket pitch axis Y.sub.bk in the bucket coordinate system and the second design line obtained in step S108, and a predetermined bucket tilt table (step S402). The intervention control unit 217 creates a rotation matrix R.sup.bk_t.sub.bk of the bucket coordinate system representing the target value .sub.bk_t_tgt of the angular velocity using Expression (7) (step S403).
[0093] The intervention control unit 217 calculates a target posture R.sup.tgt of the bucket 164 after a unit time by multiplying the posture matrix R.sub.man representing the posture of the bucket 164 after a unit time (control cycle) calculated in step S401 by the rotation matrix R.sup.bk_t.sub.bk (step S404). The intervention control unit 217 obtains the target values of the bucket angle .sub.bk, the tilt angle .sub.t, and the rotation angle .sub.r by using Expressions (11) to (13), based on the posture matrix R.sub.man and the target posture R.sub.tgt (step S405).
[0094] According to Expressions (11) to (13), the intervention control unit 217 can obtain the angular velocities .sub.bk_tgt, .sub.t_tgt, and .sub.r_tgt for offsetting a difference between the current posture R.sub.cur of the bucket 164 and the target posture R.sub.tgt of the bucket 164. The intervention control unit 217 generates control signals for the bucket cylinder 308, the tilt cylinder 309, and the rotary motor 310 based on the target values of the angular velocities obtained in step S405 (step S406).
Actions and Effects
[0095] According to the first embodiment, when the operator operates the boom cylinder 306 to bring the bucket 164 closer to the design surface, the control device 200 controls the tilt rotator 163 such that the teeth of the bucket 164 are parallel to the design surface. In this case, the control device 200 controls the tilt rotator 163 to rotate around the bucket tilt axis in the bucket coordinate system such that the direction in which the teeth of the bucket 164 face is not changed. Accordingly, the control device 200 can align the teeth with the design surface while reflecting the operator's will. Thereafter, when the operator operates the arm cylinder 307 and the swing motor 305 with the teeth of the bucket 164 in contact with an excavation target to cause the work machine 100 to excavate the excavation target, the control device 200 controls the tilt rotator 163 such that the teeth of the bucket 164 follow the design surface. In this case, the control device 200 performs control such that the direction in which the teeth of the bucket 164 face is not changed when seen from the global coordinate system even when the swing body 140 is swung by the operator's operation. Accordingly, the control device 200 can automatically keep the teeth pointed in the excavation direction.
[0096] In addition, according to the first embodiment, when the operator sets the posture holding mode, the posture of the bucket 164 as seen from the global coordinate system can be held constant even when the swing body 140, the boom 161, and the arm 162 are operated. For example, in a case where a place sufficiently higher than the design surface is excavated, the teeth can be easily kept pointed in the excavation direction by maintaining the posture of the bucket 164. In addition, for example, in a case where an attachment such as a grapple is attached to the work equipment 160 instead of the bucket 164 to move a load, the load can be prevented from falling due to the posture change by maintaining the posture of the attachment.
[0097] In addition, when an operation signal for operating the tilt rotator 163, that is, an operation signal of any of the bucket cylinder 308, the tilt cylinder 309, and the rotary motor 310, is input, the control device 200 causes the intervention control unit 217 not to generate the control signal for the tilt rotator. The fact that the operation signal for operating the tilt rotator 163 is input by the operator means that the operator is highly likely to have a will to operate in the direction in which the bucket 164 faces. Therefore, in such a case, the control device 200 does not generate the control signal for the tilt rotator, so that the operator's operation is not hindered.
Other Embodiments
[0098] Although one embodiment has been described above in detail with reference to the drawings, the specific configuration is not limited to the above, and various design changes and the like can be made. That is, in another embodiment, the order of the above-described processes may be appropriately changed. In addition, some of the processes may be executed in parallel.
[0099] The control device 200 according to the above-described embodiment may be configured of a single computer, or the configurations of the control device 200 may be divided and disposed in a plurality of computers, and the plurality of computers may cooperate with each other to function as the control device 200. In this case, some computers constituting the control device 200 may be mounted inside the work machine, and other computers may be provided outside the work machine. For example, in another embodiment, the operation device 271 and the monitor device 272 are provided remotely from the work machine 100, and the configurations of the control device 200 other than the measurement value acquisition unit 214 and the control signal output unit 218 may be provided in the remote server.
[0100] In addition, the work machine 100 is a hydraulic excavator according to the above-described embodiment, but is not limited to this. For example, the work machine 100 according to another embodiment may be a work machine that is fixed on the ground and does not travel automatically. In addition, the work machine 100 according to another embodiment may be a work machine that does not have a swing body.
[0101] The work machine 100 includes the bucket 164 as the attachment of the work equipment 160 according to the above-described embodiment, but is not limited to this. For example, the work machine 100 according to another embodiment may include a breaker, a fork, a grapple, or the like as the attachment. In this case as well, similarly to the bucket coordinate system, the control device 200 controls the tilt rotator 163 by the local coordinate system formed of the X.sub.bk axis extending in the direction in which the teeth of the attachment face, the Y.sub.bk axis extending in the direction along the teeth, and the Z.sub.bk axis orthogonal to the Xbx axis and the Y.sub.bk axis.
[0102] In addition, in another embodiment, the axes of the tilt rotator 163 need not be orthogonal to each other as long as the axes intersect each other in different planes. Specifically, with regard to an axis AX1 related to the joint shaft by which the arm 162 and the attachment portion 1631 are connected, an axis AX2 related to the joint shaft by which the attachment portion 1631 and the tilt portion 1632 are connected, and a rotation axis AX3 of the rotary motor 310, when the tilt angle and the rotation angle of the tilt rotator 163 is zero, a plane parallel to the axes AX1 and AX2, a plane parallel to the axes AX2 and AX3, and a plane parallel to the axes AX3 and AX1 need only be different from each other.
[0103] In addition, the control device 200 according to another embodiment may not have a setting function in terms of the design surface. In this case as well, the control device 200 can automatically control the tilt rotator 163 by performing the bucket posture holding control. For example, the operator can execute simple ground leveling work without setting the design surface.
Industrial Applicability
[0104] According to the aspect described above, the system can assist with an operation of a work machine provided with an attachment supported by a support portion via a tilt rotator.
REFERENCE SIGNS LIST
[0105] 100: Work machine [0106] 120: Undercarriage [0107] 140: Swing body [0108] 160: Work equipment [0109] 161: Boom [0110] 162: Arm [0111] 163: Tilt rotator [0112] 1631: Attachment portion [0113] 1632: Tilt portion [0114] 1633: Rotation portion [0115] 164: Bucket [0116] 180: Cab [0117] 200: Control device [0118] 210: Processor [0119] 211: Operation signal acquisition unit [0120] 212: Input unit [0121] 213: Display control unit [0122] 214: Measurement value acquisition unit [0123] 215: Position and posture calculation unit [0124] 216: Intervention determination unit [0125] 217: Intervention control unit [0126] 218: Control signal output unit [0127] 230: Main memory [0128] 250: Storage [0129] 270: Interface [0130] 271: Operation device [0131] 272: Monitor device [0132] 301: Engine [0133] 302: Hydraulic pump [0134] 303: Control valve [0135] 304: Traveling motor [0136] 305: Swing motor [0137] 306: Boom cylinder [0138] 307: Arm cylinder [0139] 308: Bucket cylinder [0140] 309: Tilt cylinder [0141] 310: Rotary motor [0142] 401: Inclination measurer [0143] 402: Position and azimuth direction measurer [0144] 403: Boom angle sensor [0145] 404: Arm angle sensor [0146] 405: Bucket angle sensor [0147] 406: Tilt angle sensor [0148] 407: Rotation angle sensor