WO2024204598A1 - システム、方法およびプログラム - Google Patents
システム、方法およびプログラム Download PDFInfo
- Publication number
- WO2024204598A1 WO2024204598A1 PCT/JP2024/012777 JP2024012777W WO2024204598A1 WO 2024204598 A1 WO2024204598 A1 WO 2024204598A1 JP 2024012777 W JP2024012777 W JP 2024012777W WO 2024204598 A1 WO2024204598 A1 WO 2024204598A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- attachment
- work machine
- work
- unit
- arm
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 55
- 238000003384 imaging method Methods 0.000 claims abstract description 87
- 230000002401 inhibitory effect Effects 0.000 abstract 1
- 238000005259 measurement Methods 0.000 description 51
- 230000008569 process Effects 0.000 description 40
- 239000011159 matrix material Substances 0.000 description 19
- 230000009466 transformation Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000009432 framing Methods 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000036544 posture Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000001131 transforming effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000010720 hydraulic oil Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- E—FIXED CONSTRUCTIONS
- E02—HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
- E02F—DREDGING; SOIL-SHIFTING
- E02F3/00—Dredgers; Soil-shifting machines
- E02F3/04—Dredgers; Soil-shifting machines mechanically-driven
- E02F3/28—Dredgers; Soil-shifting machines mechanically-driven with digging tools mounted on a dipper- or bucket-arm, i.e. there is either one arm or a pair of arms, e.g. dippers, buckets
- E02F3/36—Component parts
- E02F3/42—Drives for dippers, buckets, dipper-arms or bucket-arms
- E02F3/43—Control of dipper or bucket position; Control of sequence of drive operations
-
- E—FIXED CONSTRUCTIONS
- E02—HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
- E02F—DREDGING; SOIL-SHIFTING
- E02F9/00—Component parts of dredgers or soil-shifting machines, not restricted to one of the kinds covered by groups E02F3/00 - E02F7/00
- E02F9/24—Safety devices, e.g. for preventing overload
-
- E—FIXED CONSTRUCTIONS
- E02—HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
- E02F—DREDGING; SOIL-SHIFTING
- E02F9/00—Component parts of dredgers or soil-shifting machines, not restricted to one of the kinds covered by groups E02F3/00 - E02F7/00
- E02F9/26—Indicating devices
Definitions
- the present disclosure relates to a system, a method, and a program.
- This application claims priority based on Japanese Patent Application No. 2023-051148, filed in Japan on March 28, 2023, the contents of which are incorporated herein by reference.
- Patent Document 1 discloses a technology for preventing the work tool from entering an interference prevention area by defining a virtual circle having a center on the rotation axis of the work tool and a radius to the tip of the work tool, and determining the relationship between the virtual circle and the interference prevention area.
- Some work machines allow various implements to be attached to the tip of the work machine. Since implements come in a variety of shapes, when the implement is replaced, the control parameters must be changed. Setting parameters every time the implement is replaced is time-consuming.
- the object of the present disclosure is to provide a system, method, and program that can easily determine parameters related to the control of an interchangeable work tool.
- the system controls a work machine equipped with a work implement to which a work tool can be attached at the tip.
- the system includes an imaging device that is provided on the work machine and captures image data showing the work implement, and a processor.
- the processor acquires the image data from the imaging device and identifies the shape of the work implement based on the image data.
- the processor controls the work machine based on the shape so that the work implement does not come into contact with a virtual wall, which is a surface that prohibits the entry of the work implement.
- the method according to the second aspect of the present disclosure is a method for controlling a work machine equipped with a work implement to which a work tool can be attached at the tip, and includes an acquisition step, a determination step, and a control step.
- the acquisition step acquires imaging data from an imaging device provided on the work machine that captures imaging data showing the work implement.
- the determination step determines the shape of the work implement based on the imaging data.
- the control step controls the work machine based on the shape so that the work implement does not come into contact with a virtual wall, which is a surface that prohibits the entry of the work implement.
- a program controls a work machine equipped with a work implement to which a work tool can be attached at the tip.
- the program causes a computer to execute an acquisition step, a determination step, and a control step.
- the acquisition step acquires imaging data from an imaging device provided on the work machine that captures imaging data showing the work implement.
- the determination step determines the shape of the work implement based on the imaging data.
- the control step controls the work machine based on the shape so that the work implement does not come into contact with a virtual wall, which is a surface that prohibits the entry of the work implement.
- the above aspect makes it easy to determine parameters related to the control of an interchangeable work tool.
- FIG. 1 is a schematic diagram showing a configuration of a work machine according to a first embodiment.
- 1 is a diagram showing a drive system of a work machine according to a first embodiment.
- FIG. 2 is a schematic block diagram showing a configuration of a control device according to the first embodiment.
- 5 is a diagram illustrating a relationship between a virtual sphere and a virtual wall in the first embodiment.
- FIG. 5 is a diagram showing a relationship between a phantom sphere and an outer shell of a bucket in the first embodiment.
- FIG. 11A and 11B are diagrams illustrating an example of resetting a virtual wall in association with rotation of a rotating body in the first embodiment.
- 11 is a flowchart (part 1) showing a process for identifying a shape of an attachment in the first embodiment.
- 11 is a flowchart (part 2) showing the attachment shape identification process in the first embodiment.
- 11A and 11B are diagrams illustrating an example of a screen in the shape identification process according to the first embodiment.
- 11 is a flowchart (part 1) showing update and intervention control of a virtual wall set in the first embodiment.
- 13 is a flowchart (part 2) showing update and intervention control of a virtual wall set in the first embodiment.
- 10 is a flowchart showing a process for identifying a shape of an attachment according to a second embodiment.
- 13A and 13B are diagrams illustrating example screens in a shape identification process according to the second embodiment.
- FIG. 13 is a diagram illustrating a configuration of a work system according to another embodiment.
- FIG. 1 is a schematic diagram showing the configuration of a work machine 100 according to the first embodiment.
- the work machine 100 according to the first embodiment is, for example, a hydraulic excavator.
- the work machine 100 includes a traveling body 120, a rotating body 140, a work implement 160, a cab 180, and a control device 200.
- the work machine 100 according to the first embodiment generates a virtual wall VW by operation by an operator, and is controlled so that the work machine 100 does not come into contact with the virtual wall VW. This allows the operator to operate the work machine 100 so as not to enter a no-entry zone.
- the running bodies 120 support the work machine 100 so that the work machine 100 can travel.
- the running bodies 120 are, for example, a pair of left and right caterpillar tracks.
- the rotating body 140 is supported by the running body 120 so as to be rotatable about a rotation center.
- the working machine 160 is supported movably on the rotating body 140.
- the working machine 160 is hydraulically driven.
- the working machine 160 includes a boom 161, an arm 162, and an attachment 163 which is a working implement.
- the attachment 163 is an example of a working tool. In the example shown in FIG. 1, the attachment 163 is a bucket.
- a base end of the boom 161 is rotatably attached to the rotating body 140.
- a base end of the arm 162 is rotatably attached to a tip end of the boom 161.
- the attachment 163 is rotatably attached to a tip end of the arm 162.
- the part of the rotating body 140 to which the working machine 160 is attached is referred to as a front part.
- the opposite part is referred to as a rear part
- the left part is referred to as a left part
- the right part is referred to as a right part, based on the front part.
- the cab 180 is provided at the front of the rotating body 140. Inside the cab 180, there are an operation device 141 that allows the operator to operate the work machine 100, and a monitor device 142 that is a man-machine interface for the control device 200.
- the monitor device 142 is realized by, for example, a computer equipped with a touch panel.
- the control device 200 controls the running body 120, the rotating body 140, and the work machine 160 based on the operation of the operating device by the operator.
- the control device 200 is provided, for example, inside the cab 180.
- FIG. 2 is a diagram showing the drive system of the work machine 100 according to the first embodiment.
- the work machine 100 is equipped with a plurality of actuators for driving the work machine 100.
- the work machine 100 is equipped with a power source 111, a hydraulic pump 112, a control valve 113, a pair of travel motors 114, a swing motor 115, a boom cylinder 116, an arm cylinder 117, and an attachment cylinder 118.
- the power source 111 is a prime mover that drives the hydraulic pump 112.
- the power source 111 is, for example, an engine.
- the hydraulic pump 112 is driven by the power source 111 and supplies hydraulic oil to the travel motor 114 , the swing motor 115 , the boom cylinder 116 , the arm cylinder 117 and the attachment cylinder 118 via a control valve 113 .
- the control valve 113 controls the flow rate of hydraulic oil supplied from the hydraulic pump 112 to the travel motor 114 , the swing motor 115 , the boom cylinder 116 , the arm cylinder 117 , and the attachment cylinder 118 .
- the traveling motor 114 is driven by hydraulic oil supplied from the hydraulic pump 112 to drive the traveling body 120 .
- the swing motor 115 is driven by hydraulic oil supplied from the hydraulic pump 112 to swing the swing body 140 relative to the running body 120 .
- the boom cylinder 116 is a hydraulic cylinder for driving the boom 161.
- a base end of the boom cylinder 116 is attached to the rotating body 140.
- a tip end of the boom cylinder 116 is attached to the boom 161.
- the arm cylinder 117 is a hydraulic cylinder for driving the arm 162.
- a base end of the arm cylinder 117 is attached to the boom 161.
- a tip end of the arm cylinder 117 is attached to the arm 162.
- the attachment cylinder 118 is a hydraulic cylinder for driving the attachment 163.
- a base end of the attachment cylinder 118 is attached to the arm 162.
- a tip end of the attachment cylinder 118 is attached to the attachment 163.
- the work machine 100 is equipped with a plurality of sensors for measuring the attitude and position of the work machine 100. Specifically, the work machine 100 is equipped with an inclination measuring device 101, a swing angle sensor 102, a boom angle sensor 103, an arm angle sensor 104, an attachment angle sensor 105, a payload meter 106, and an imaging device 107.
- the inclination measuring device 101 measures the attitude of the rotating body 140.
- the inclination measuring device 101 measures the inclination (e.g., roll angle, pitch angle, and yaw angle) of the rotating body 140 with respect to the horizontal plane.
- An example of the inclination measuring device 101 is an IMU (Inertial Measurement Unit).
- the inclination measuring device 101 measures the acceleration and angular velocity of the rotating body 140, and calculates the inclination of the rotating body 140 with respect to the horizontal plane based on the measurement results.
- the inclination measuring device 101 is installed, for example, below the driver's cab 180.
- the inclination measuring device 101 outputs the attitude data of the rotating body 140, which is the measurement value, to the control device 200.
- the turning angle sensor 102 measures the turning angle of the rotating body 140 relative to the running body 120.
- the measurement value of the turning angle sensor 102 indicates zero, for example, when the directions of the running body 120 and the rotating body 140 are the same.
- the turning angle sensor 102 is installed, for example, at the center of rotation of the rotating body 140.
- the turning angle sensor 102 outputs turning angle data, which is the measurement value, to the control device 200.
- the boom angle sensor 103 measures the boom angle, which is the rotation angle of the boom 161 relative to the revolving structure 140.
- the boom angle sensor 103 may be an IMU attached to the boom 161.
- the boom angle sensor 103 measures the boom angle based on the inclination of the boom 161 relative to the horizontal plane and the inclination of the revolving structure measured by the inclination measuring device 101.
- the measurement value of the boom angle sensor 103 indicates zero, for example, when the direction of a straight line passing through the base end and tip end of the boom 161 coincides with the front-rear direction of the revolving structure 140.
- the boom angle sensor 103 may be a stroke sensor attached to the boom cylinder 116.
- the boom angle sensor 103 according to another embodiment may be a rotation sensor provided on a pin connecting the revolving structure 140 and the boom 161.
- the boom angle sensor 103 outputs the boom angle data, which is the measurement value, to the control device 200.
- the arm angle sensor 104 measures the arm angle, which is the rotation angle of the arm 162 relative to the boom 161.
- the arm angle sensor 104 may be an IMU attached to the arm 162.
- the arm angle sensor 104 measures the arm angle based on the inclination of the arm 162 relative to the horizontal plane and the boom angle measured by the boom angle sensor 103.
- the measurement value of the arm angle sensor 104 indicates zero, for example, when the direction of a straight line passing through the base end and tip of the arm 162 coincides with the direction of a straight line passing through the base end and tip of the boom 161.
- the arm angle sensor 104 may be a stroke sensor attached to the arm cylinder 117 to calculate the angle.
- the arm angle sensor 104 according to another embodiment may be a rotation sensor provided on a pin connecting the boom 161 and the arm 162.
- the arm angle sensor 104 outputs the measured value, that is, arm angle data, to the control device 200.
- the attachment angle sensor 105 measures the attachment angle, which is the rotation angle of the attachment 163 relative to the arm 162.
- the attachment angle sensor 105 may be a stroke sensor provided on the attachment cylinder 118 for driving the attachment 163. In this case, the attachment angle sensor 105 measures the attachment angle based on the stroke amount of the attachment cylinder 118.
- the measurement value of the attachment angle sensor 105 indicates zero, for example, when the direction of a straight line passing through the base end and tip end of the attachment 163 coincides with the direction of a straight line passing through the base end and tip end of the arm 162.
- the attachment angle sensor 105 in another embodiment may be a rotation sensor provided on a pin connecting the arm 162 and the attachment 163.
- the attachment angle sensor 105 in another embodiment may be an IMU attached to the attachment 163.
- the attachment angle sensor 105 outputs the attachment angle data, which is the measurement value, to the control device 200.
- the payload meter 106 measures the weight of the load held by the attachment 163.
- the payload meter 106 measures, for example, the bottom pressure of the cylinder of the boom 161 and converts it into the weight of the load.
- the payload meter 106 may be a load cell.
- the payload meter 106 outputs the measured value, which is load weight data, to the control device 200.
- the imaging device 107 is provided on the rotating body 140 so that the work machine 160 is captured within the imaging range.
- the imaging device 107 may be provided on the ceiling of the driver's cab 180.
- the imaging device 107 outputs imaging data to the control device 200.
- Examples of the imaging device 107 include a camera, a stereo camera, a LiDAR, and a laser scanner.
- the imaging data may be two-dimensional image data or three-dimensional point cloud data.
- FIG. 3 is a schematic block diagram showing the configuration of the control device 200 according to the first embodiment.
- the control device 200 is a computer including 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 measurement values from the inclination measuring device 101, the turning angle sensor 102, the boom angle sensor 103, the arm angle sensor 104, the attachment angle sensor 105, and the payload meter 106.
- Storage 250 is a non-transitory tangible storage medium. Examples of storage 250 include a magnetic disk, an optical disk, a magneto-optical disk, and a semiconductor memory. Storage 250 may be an internal medium directly connected to the bus of control device 200, or an external medium connected to control device 200 via interface 270 or a communication line. Storage 250 stores a control program for controlling work machine 100.
- the control program may be for realizing part of the functions to be performed by the control device 200.
- the control program may be for realizing the functions by combining with other programs already stored in the storage 250, or by combining with other programs implemented in other devices.
- the control device 200 may include a custom LSI (Large Scale Integrated Circuit) such as a PLD (Programmable Logic Device) in addition to or instead of the above configuration.
- PLDs include PAL (Programmable Array Logic), GAL (Generic Array Logic), CPLD (Complex Programmable Logic Device), and FPGA (Field Programmable Gate Array).
- part or all of the functions realized by the processor may be realized by the integrated circuit.
- Geometry data representing the dimensions of the rotating body 140, boom 161, and arm 162 is recorded in storage 250.
- the geometry data represents the position of an object in a specified coordinate system.
- the processor 210 is provided with an operation amount acquisition unit 211, an input unit 212, a display control unit 213, a measurement value acquisition unit 214, a position identification unit 215, an attachment identification unit 216, a generation unit 217, a rotation conversion unit 218, an intervention judgment unit 219, an intervention control unit 220, and a control signal output unit 221.
- the operation amount acquisition unit 211 acquires an operation signal indicating the operation amount of each actuator from the operation device 141 .
- the input unit 212 receives an operation input by an operator from the monitor device 142. In particular, when the attachment 163 is replaced, the input unit 212 receives an input from the operator to execute a shape identification process for the attachment 163, and starts the shape identification process for the attachment 163, which will be described later.
- the display control unit 213 outputs screen data to be displayed on the monitor device 142 to the monitor device 142 .
- the measurement value acquisition unit 214 acquires measurement values from the inclination measurement instrument 101, the rotation angle sensor 102, the boom angle sensor 103, the arm angle sensor 104, the attachment angle sensor 105, and the payload meter 106.
- the measurement value acquisition unit 214 acquires imaging data from the imaging device 107.
- the position identification unit 215 identifies the position of the outer shell of the work machine 100 in the vehicle body coordinate system.
- the outer shell of the work machine 100 is the external shape of the work machine 100.
- the outer shell of the work machine 100 is defined, for example, by the shapes that form the external shapes of the rotating body 140 and the work implement 160.
- the position identification unit 215 identifies multiple points of the outer shell of the work machine 100 in the vehicle body coordinate system and the position of the control point P of the attachment 163 based on various measurement values acquired by the measurement value acquisition unit 214, geometry data recorded in the storage 250, and data identified by the attachment identification unit 216.
- the multiple points of the outer shell identified by the position identification unit 215 include the end of the arm 162 on the attachment 163 side (arm top), the end of the arm 162 on the boom 161 side (arm bottom), and a point behind the counterweight of the rotating body 140.
- the vehicle body coordinate system is an orthogonal coordinate system with the representative point of the rotating body 140 (for example, a point passing through the center of rotation) as the origin. The calculations of the position identification unit 215 will be described later. Note that the points identified by the position identification unit 215 are not limited to this.
- the control point P of the attachment 163 is the center of the virtual sphere VS when the attachment 163 is regarded as a sphere (virtual sphere VS).
- the virtual sphere VS is defined so as to include the attachment 163 with the control point P as the center.
- FIG. 4 is a diagram showing the relationship between the virtual sphere VS and the virtual wall VW in the first embodiment.
- FIG. 5 is a diagram showing the relationship between the virtual sphere VS and the outer shell of the bucket in the first embodiment.
- the attachment 163 in the first embodiment is a bucket, and as shown in FIG. 4 and FIG.
- the control point P is the midpoint of the line segment connecting the midpoint of the pin (rotation axis) connecting the arm 162 and the bucket to the midpoint of the blade tip (tip) of the bucket.
- the radius r of the virtual sphere VS in the first embodiment is equal to the distance from the control point P to the farthest point of the outer shell of the bucket. Therefore, the virtual sphere VS includes the bucket.
- points AP0, AP1, AP2, AP3, AP4, and AP5 are specified as points for simply expressing the outer shell of the bucket, and among these, the point AP2 is the farthest from the control point P. Therefore, in the example of Fig.
- the radius r is equal to the distance from the control point P to the point AP2.
- the control point P of the bucket By setting the control point P of the bucket to the midpoint of the line segment connecting the midpoint of the bucket's rotation axis and the midpoint of the bucket's tip, the gap between the bottom of the bucket and the virtual sphere VS can be reduced.
- the distance between the opening surface of the bucket and the virtual sphere VS is greater than that between the bottom surface and the opening surface of the bucket, but since the opening surface of the bucket in a backhoe shovel does not normally face the front of the work machine 100, there are almost no situations in which this affects operability.
- the attachment identification unit 216 identifies the shape of the attachment 163 based on the imaging data acquired by the measurement value acquisition unit 214 and the position of the arm top identified by the position identification unit 215, and determines the position of the control point P of the attachment 163 and the radius of the virtual sphere VS.
- the position of the control point P is expressed as a position ( xcp , ycp , zcp ) in the attachment coordinate system, which is a local coordinate system.
- the attachment coordinate system is a coordinate system that is based on the position of the pin connecting the attachment 163 and the arm 162, and is configured with an Xat axis extending in the direction of the tip, a Yat axis extending in the direction in which the pin extends, and a Zat axis perpendicular to the Xat axis and the Yat axis .
- the attachment coordinate system is a predetermined coordinate system and does not depend on the shape of the attachment 163 specified by the attachment specifying unit 216. Therefore, the Xat axis does not necessarily actually pass through the tip of the attachment 163.
- the control point P is a point that is uniquely specified in the coordinate system based on the attachment 163.
- the generation unit 217 calculates the parameters of the virtual wall VW based on the position of the tip of the attachment 163 identified by the position identification unit 215.
- the generation unit 217 records the parameters of the generated virtual wall VW in the vehicle body coordinate system in the main memory 230.
- the rotation conversion unit 218 updates the parameters of the virtual wall VW stored in the main memory 230 as the rotating body 140 rotates. Specifically, the rotation conversion unit 218 rotates the parameters of the virtual wall VW around the origin of the vehicle body coordinate system by the amount of change in the pitch angle, roll angle, and yaw angle measured by the inclination measuring device 101.
- FIG. 6 is a diagram showing an example of resetting the virtual wall VW with the rotation of the rotating body in the first embodiment. For example, as shown in FIG.
- the rotation conversion unit 218 calculates the amount of change in the roll angle, pitch angle, and yaw angle caused by the rotation of the rotating body 140 by referring to the measurement value of the inclination measuring device 101 acquired by the measurement value acquisition unit 214, and rotates the parameters of the virtual wall VW around the origin of the vehicle body coordinate system. This allows the rotation conversion unit 218 to cancel the rotation of the virtual wall VW caused by the rotation of the rotating body 140.
- the intervention determination unit 219 determines whether to limit the rotation speed of the revolving body 140 or the speed of the work machine 160 based on the positional relationship between the virtual wall VW and the multiple points of the outer shell identified by the position identification unit 215, and the positional relationship between the virtual sphere VS of the attachment 163 and the virtual wall VW.
- the control device 200 limiting the speed of the revolving body 140 or the work machine 160 is also referred to as intervention control.
- the intervention determination unit 219 determines the minimum rotation angle until at least one of the multiple points of the outer shell comes into contact with the virtual wall VW, and determines that intervention control will be performed for the revolving body 140 if the minimum rotation angle is equal to or smaller than a predetermined angle.
- the intervention determination unit 219 also determines the minimum distance between the virtual wall VW and the work machine 160, and determines that intervention control will be performed for the work machine 160 if the minimum distance is equal to or smaller than a predetermined distance. At this time, the intervention determination unit 219 determines the distance for the attachment 163 based on the virtual sphere VS. To reduce the amount of calculations, the intervention determination unit 219 specifies an offset wall OW in which the virtual wall VW is offset by the radius r of the virtual sphere VS, as shown in FIG. 4. The distance d1 between the virtual sphere VS and the virtual wall VW is equal to the distance d2 between the control point P and the offset wall OW. Therefore, the intervention determination unit 219 finds the distance d1 between the virtual sphere VS and the virtual wall VW by calculating the distance d2 between the control point P and the offset wall OW.
- the intervention control unit 220 controls the operation amount of the intervention target among the operation amounts acquired by the operation amount acquisition unit 211 .
- the control signal output unit 221 outputs the operation amount acquired by the operation amount acquisition unit 211 or the operation amount controlled by the intervention determination unit 219 to the control valve 113 .
- the position identifying unit 215 identifies the positions of points on the hull based on various measurement values acquired by the measurement value acquiring unit 214 and geometry data recorded in the storage 250. Geometry data representing the dimensions of the revolving body 140, the boom 161, and the arm 162 is recorded in the storage 250.
- the position identifying unit 215 also identifies the position of the virtual sphere VS using the identified position of the arm top and the position and radius of a control point P of the virtual sphere VS of the attachment 163 identified by the attachment identifying unit 216.
- the geometry data of the rotating body 140 indicates the positions (x bm , y bm , z bm ) of the pins supporting the boom 161 of the rotating body 140 and the positions (x sp , y sp , z sp ) of the points on the hull of the rotating body 140 in the vehicle body coordinate system, which is a local coordinate system.
- Examples of the points on the hull of the rotating body 140 include points that are likely to come into contact with a wall surface due to rotation, such as protruding points of a counterweight.
- the vehicle body coordinate system is a coordinate system that is configured with an X sb axis extending in the front-rear direction, a Y sb axis extending in the left-right direction, and a Z sb axis extending in the up-down direction, based on the center of rotation of the rotating body 140. Note that the up-down direction of the rotating body 140 does not necessarily coincide with the vertical direction.
- the geometry data of the boom 161 indicates the position of the boom top ( xam , yam , zam ) in the boom coordinate system, which is a local coordinate system.
- the boom coordinate system is a coordinate system that is based on the position of the pin connecting the boom 161 and the rotating body 140 and is composed of an Xbm axis extending in the longitudinal direction, a Ybm axis extending in the direction in which the pin extends, and a Zbm axis perpendicular to the Xbm axis and the Ybm axis.
- the position of the boom top is the position of the pin connecting the boom 161 and the arm 162.
- the boom top is one of the points on the hull of the work machine 100.
- the geometry data of the arm 162 indicates the position of the arm top (x at , y at , z at ) in the arm coordinate system, which is a local coordinate system.
- the arm coordinate system is a coordinate system that is based on the position of the pin connecting the arm 162 and the boom 161 and is composed of an X am axis extending in the longitudinal direction, a Y am axis extending in the direction in which the pin extends, and a Z am axis perpendicular to the X am axis and the Y am axis.
- the position of the arm top is the position of the pin connecting the arm 162 and the attachment 163.
- the arm top is one of the points on the hull of the work machine 100.
- the position identification unit 215 generates a boom-to-vehicle body transformation matrix T bm sb for transforming from the boom coordinate system to the vehicle body coordinate system by the following formula (1), based on the measurement value of the boom angle ⁇ bm acquired by the measurement value acquisition unit 214 and the geometry data of the rotating unit 140.
- the boom-to-vehicle body transformation matrix T bm sb is a matrix that rotates the boom angle ⁇ bm around the Y bm axis and translates the deviation (x bm , y bm , z bm ) between the origin of the vehicle body coordinate system and the origin of the boom coordinate system.
- the position identifying unit 215 obtains the product of the boom top position in the boom coordinate system indicated by the geometry data of the boom 161 and the boom-vehicle body transformation matrix T bm sb , thereby obtaining the boom top position in the vehicle body coordinate system.
- the position identifying unit 215 generates an arm-boom transformation matrix T am bm for transforming from the arm coordinate system to the boom coordinate system by the following formula (2) based on the measurement value of the arm angle ⁇ am acquired by the measurement value acquiring unit 214 and geometry data of the boom 161.
- the arm-boom transformation matrix T am bm is a matrix that rotates by the arm angle ⁇ am around the Y am axis and translates by the deviation (x am , y am , z am ) between the origin of the boom coordinate system and the origin of the arm coordinate system.
- the position identifying unit 215 generates the arm-body transformation matrix T am sb for transforming from the arm coordinate system to the vehicle body coordinate system by calculating the product of the boom-vehicle body transformation matrix T bm sb and the arm-boom transformation matrix T am bm . Furthermore, the position identifying unit 215 obtains the product of the position of the arm top in the arm coordinate system indicated by the geometry data of the arm 162 and the arm-vehicle body transformation matrix T am sb , thereby obtaining the position of the arm top in the vehicle body coordinate system.
- the position identifying unit 215 generates an attachment-arm transformation matrix T at am for transforming from the attachment coordinate system to the arm coordinate system by the following formula (3) based on the measurement value of the attachment angle ⁇ at acquired by the measurement value acquiring unit 214 and geometry data of the arm 162.
- the attachment-arm transformation matrix T at am is a matrix that rotates by the attachment angle ⁇ at around the Y at axis and translates by the deviation (x at , y at , z at ) between the origin of the arm coordinate system and the origin of the attachment coordinate system.
- the position identifying unit 215 generates an attachment-body transformation matrix T at sb for transforming from the attachment coordinate system to the vehicle body coordinate system by calculating the product of the arm-body transformation matrix T am sb and the attachment-arm transformation matrix T at am .
- the position specifying unit 215 obtains the product of the position of the control point P of the attachment 163 specified by the attachment specifying unit 216 and the attachment-vehicle body transformation matrix T at sb , thereby obtaining the position of the control point P of the attachment 163 in the vehicle body coordinate system.
- Control method of the work machine 100>> The control method for the work machine 100 according to the first embodiment will be described below. First, the operator of the work machine 100 attaches the attachment 163 to the work implement 160 , and then operates the monitor device 142 to perform a shape identification process for the attachment 163 .
- Fig. 7 is a flowchart (part 1) showing the shape identification process of the attachment 163 in the first embodiment.
- Fig. 8 is a flowchart (part 2) showing the shape identification process of the attachment 163 in the first embodiment.
- Fig. 9 is a diagram showing an example of a screen in the shape identification process according to the first embodiment.
- the display control unit 213 displays the first instruction screen D1 ( FIG. 9 ) on the monitor device 142 (step S101).
- the first instruction screen D1 is provided with a "YES button” indicating the start of the shape identification process of the attachment 163 and a "NO button” indicating not to execute the shape identification process of the attachment 163.
- the operator When executing the shape identification process of the attachment 163, the operator operates the "YES button” displayed on the first instruction screen D1 of the monitor device 142.
- the input unit 212 accepts the operation input of the "YES button” or “NO button” by the operator from the monitor device 142 (step S102).
- step S102 NO
- the processor 210 ends the shape identification process for the attachment 163. In this case, the data of the control point P and radius r of the attachment 163 that were previously set continues to be used.
- step S102 If the operator presses the "YES button" (step S102: YES), the measurement value acquisition unit 214 starts acquiring various measurement values and imaging data (step S103). The position identification unit 215 starts calculating the position of the arm top in the vehicle body coordinate system based on the measurement values acquired in step S103 (step S104). Thereafter, the measurement value acquisition unit 214 and the position identification unit 215 continuously acquire various measurement values and imaging data and calculate the position of the arm top while the shape identification process is being executed.
- the display control unit 213 causes the monitor device 142 to display the second instruction screen D2 (step S105).
- the second instruction screen D2 includes the imaging data acquired by the measurement value acquisition unit 214, a framing element, and an instruction to operate the work machine 160 so that the attachment 163 fits into the framing element.
- the framing element is a frame line that represents a predetermined range, and represents a positioning element for the attachment 163.
- the attachment identification unit 216 determines whether the image of the attachment 163 is within the framing element on the second instruction screen D2 (step S106).
- the attachment identification unit 216 may determine whether the image of the attachment 163 is within the framing element based on the position of the arm top identified in step S104, for example. Since the position of the imaging device 107 is fixed in the vehicle body coordinate system, the imaging range of the imaging device 107 can be identified from the vehicle body coordinate system. Therefore, by determining whether the arm top is located in a predetermined area of the imaging range in the vehicle body coordinate system that corresponds to the top of the framing element, it is possible to determine whether the image of the attachment 163 is within the framing element.
- the attachment identification unit 216 may also identify the position of the attachment by a method such as pattern matching based on the imaging data acquired in step S103.
- step S106 If the image of the attachment 163 is not within the framing element (step S106: NO), the process returns to step S105, and the display of the second instruction screen D2 continues.
- step S106: YES the display control unit 213 causes the monitor device 142 to display the third instruction screen D3 (step S107).
- the third instruction screen D3 includes the imaging data acquired by the measurement value acquisition unit 214, the framing elements, and instructions for encouraging the user to embrace and return the attachment 163.
- the embrace and return operations are operations for rotating the attachment 163 around the pin (around the Ybk axis) by extending and retracting the attachment cylinder 118.
- the attachment identification unit 216 identifies the position of the lowest point of the attachment 163 in the image coordinate system (a two-dimensional coordinate system consisting of an Xp axis and a Yp axis), which is the coordinate system of the image data, from the image data (step S108).
- the lowest point in the image coordinate system is the point with the largest Yp coordinate value in the image coordinate system in the area in which the image of the attachment 163 is captured in the image data.
- the attachment identification unit 216 identifies the position of the lowest point of the attachment 163 in the vehicle body coordinate system based on the position of the arm top identified by the position identification unit 215 and the position of the lowest point identified in step S108 (step S109).
- the attachment identification unit 216 identifies the position by assuming that the lowest point exists on an axis that passes through the arm top and extends in the vertical direction of the imaging device 107. This is because it is assumed that when the tip of the attachment 163 reaches its lowest point, the attachment 163 and the imaging device 107 will be directly facing each other, and the tip will be positioned on an axis that passes through the arm top and extends in the vertical direction of the imaging device 107.
- the attachment identification unit 216 associates the lowest point position with the attachment angle and temporarily stores it in the main memory 230 (step S110). The attachment identification unit 216 determines whether or not it is possible to identify the maximum value of the lowest point position relative to the attachment angle from the relationship between the lowest point position and the attachment angle stored in the main memory 230 (step S111). If it is not possible to identify the maximum value (step S111: NO), the attachment identification unit 216 returns the process to step S107 and continues to display the third instruction screen D3.
- the attachment identification unit 216 determines the position of the control point P of the attachment 163 in the attachment coordinate system based on the position of the lowest point related to the maximum value and the position of the arm top (step S112). Specifically, the attachment identification unit 216 determines the position of the control point P in the following procedure. The attachment identification unit 216 estimates the position of the lowest point related to the maximum value as the position of the tip of the attachment 163. The attachment identification unit 216 determines the position of the tip in the attachment coordinate system based on the position of the lowest point related to the maximum value and the corresponding attachment angle.
- the attachment identification unit 216 determines the position of the control point P, which is the midpoint between the arm top and the tip, based on the position of the arm top (origin of the attachment coordinate system) and the position of the tip in the attachment coordinate system. Furthermore, the attachment specifying unit 216 determines a radius r of the virtual sphere VS based on the position of the tip of the attachment 163 (step S113). Specifically, the attachment specifying unit 216 determines the distance between a corner of the tip of the attachment 163 (e.g., the right end of the blade tip) and the control point P as the radius r. The attachment specifying unit 216 records the position and radius r of the control point P in the main memory 230 .
- the display control unit 213 displays the fourth instruction screen D4 on the monitor device 142 (step S114).
- the fourth instruction screen D4 is provided with a "YES button” that indicates the start of an analysis of the tilt mechanism provided in the attachment 163, and a “NO button” that indicates that analysis of the tilt mechanism is not to be performed.
- the input unit 212 accepts an input of the "YES button” or “NO button” by the operator from the monitor device 142 (step S115).
- the display control unit 213 displays a fifth instruction screen D5 on the monitor device 142 (step S116).
- the fifth instruction screen D5 includes the imaging data acquired by the measurement value acquisition unit 214, a framing element, and an instruction to tilt the attachment 163.
- the tilt operation is an operation to rotate the attachment 163 around the Zbk axis.
- the attachment identification unit 216 uses object tracking technology to track the position of the tip of the attachment 163 in the imaging data (step S117).
- Object tracking technology is a technology that estimates how a specified object moves in an image from a time series of imaging data, i.e., from a moving image.
- the attachment identification unit 216 uses a partial image of the imaging data surrounding the tip of the attachment 163 determined in step S112 to estimate the position of that partial image in the newly acquired imaging data.
- the attachment identification unit 216 determines whether or not the posture at the maximum tilt angle that can be taken by the tilt operation has been detected (step S118). For example, in the time series of tip position identified by object tracking, when a maximum value of tip height is detected due to a turnaround in tilt operation, it can be determined that the posture at the maximum tilt angle has been detected. Also, for example, the attachment identification unit 216 may receive input from the operator that the posture at the maximum tilt angle has been taken by operating the monitor device 142.
- step S118: NO If the attitude at the maximum tilt angle has not been detected (step S118: NO), the attachment specifying unit 216 returns the process to step S116 and continues to display the fifth instruction screen D5.
- step S118: YES the attachment identification unit 216 determines whether or not the distance between the corner of the tip of the attachment 163 and the control point P in the posture at the maximum tilt angle is longer than the radius r of the virtual sphere VS (step S119). Since the position of the control point P does not change due to the tilt operation, the distance between the corner and the control point P changes due to the tilt operation.
- step S119: YES When the distance between the corner of the tip and the control point P is longer than the radius r (step S119: YES), the radius r is updated (step S120). As a result, the radius r of the virtual sphere VS becomes the distance from the control point P to the farthest point in all postures that can be taken by the tilt operation of the attachment 163. As a result, it is possible to control the attachment 163 so that it does not enter the virtual wall VW regardless of the tilt angle of the attachment 163. When the distance between the corner of the tip and the control point P is equal to or less than the radius r (step S119: NO), the radius r is not updated.
- the display control unit 213 displays the sixth instruction screen D6 on the monitor device 142 (step S121).
- the sixth instruction screen D6 is provided with a "YES button” indicating the start of analysis of the rotation mechanism provided in the attachment 163, and a "NO button” indicating that analysis of the rotation mechanism is not to be performed.
- the input unit 212 accepts the operator's input of the "YES button” or “NO button” from the monitor device 142 (step S122).
- the display control unit 213 When the display control unit 213 receives an input of the "YES button" by the operator (step S122: YES), the display control unit 213 displays the seventh instruction screen D7 on the monitor device 142 (step S123).
- the seventh instruction screen D7 includes the imaging data acquired by the measurement value acquisition unit 214, a framing element, and an instruction to rotate the attachment 163.
- the rotation operation is an operation to rotate the attachment 163 around the Xbk axis.
- the attachment identification unit 216 determines whether or not the side of the attachment 163 faces the imaging device 107 in the imaging data (step S124). For example, the attachment identification unit 216 calculates the area of the region in which the attachment 163 appears in the imaging data acquired successively, and determines that the side of the attachment 163 faces the imaging device 107 when the attachment 163 is not facing forward and the area is extremely small. In addition, for example, the attachment identification unit 216 may determine that the side of the attachment 163 faces the imaging device 107 by pattern matching with the shape of a known side of the attachment 163.
- step S124: NO the attachment specifying unit 216 returns the process to step S121 and continues to display the seventh instruction screen D7. If the side surface of the attachment 163 faces the imaging device 107 (step S124: YES), the attachment specifying unit 216 calculates the distance between the position of the arm top and the tip, and updates the position of control point P, which is the midpoint between the arm top and the tip (step S125). This is because an image showing the side surface of the attachment 163 more accurately represents the positional relationship between the arm top and the tip than an image showing the front surface of the attachment 163.
- the display control unit 213 displays a confirmation screen D8 on the monitor device 142 (step S126).
- the confirmation screen D8 includes the imaging data acquired by the measurement value acquisition unit 214 and a virtual sphere VS centered on the control point P. In this manner, the control device 200 can identify the virtual sphere VS that includes the attachment 163 and record the data of the virtual sphere VS in the main memory 230 .
- the operator of the work machine 100 operates the monitor device 142 to set the virtual wall VW.
- the display control unit 213 causes the monitor device 142 to display a selection screen for the type of virtual wall VW to be set.
- the front wall, the left wall, and the right wall are wall surfaces that extend in the vertical direction.
- the upper wall and the lower wall are wall surfaces that extend in the horizontal direction.
- the virtual wall VW is represented by a normal vector that indicates the normal direction of the virtual wall VW and a position vector that indicates the position of the point through which the virtual wall VW passes, both of which are defined in the vehicle body coordinate system.
- the work machine 100 can rotate the revolving body 140 to perform work within the reach of the work implement 160. Therefore, an operator usually rotates the work machine 100 when performing work such as excavation.
- the vehicle body coordinate system is based on the revolving body 140, and therefore rotates following the rotation of the work machine 100 when viewed from the viewpoint of the global coordinate system. If the virtual wall VW set in the vehicle body coordinate system rotates following the rotation of the work machine 100, the right wall and the left wall will not interfere with the work machine 100 and will be meaningless.
- the control device 200 performs a rotational transformation process of the virtual wall VW in order to maintain the position of the virtual wall VW in the global coordinate system before and after the work machine 100 turns.
- FIG. 10 is a flowchart (part 1) showing update and intervention control of the virtual wall VW set in the first embodiment.
- Fig. 11 is a flowchart (part 2) showing update and intervention control of the virtual wall VW set in the first embodiment.
- the operation amount acquisition unit 211 acquires operation signals of the boom 161, arm 162, attachment 163, and rotating body 140 from the operation device 141 (step S201).
- the measurement value acquisition unit 214 acquires measurement values of the inclination measuring device 101, rotation angle sensor 102, boom angle sensor 103, arm angle sensor 104, attachment angle sensor 105, and payload meter 106 (step S202).
- the rotation conversion unit 218 rotates and converts each of the one or more virtual walls VW stored in the main memory 230 based on the roll angle, pitch angle, and yaw angle of the rotating body 140 obtained from the incline measuring device 101 in step S202, and updates them (step S203).
- the position identification unit 215 calculates the positions of multiple points on the hull of the work machine 100 and the control point P of the attachment 163 in the vehicle body coordinate system based on the measurement values acquired in step S202 (step S204).
- the intervention determination unit 219 selects the hull points identified by the position identification unit 215 one by one (step S205) and executes the processing of steps S206 to S212 below.
- the intervention determination unit 219 identifies a cross section that passes through the point selected in step S205 and is parallel to the Xsb - Ysb plane of the vehicle body coordinate system (step S206). The intervention determination unit 219 also identifies a cross section that passes through the point selected in step S205 and is parallel to the Xsb - Zsb plane of the vehicle body coordinate system (step S207).
- the intervention determination unit 219 selects one by one from one or more virtual walls VW set in the main memory 230 (step S208), and executes the following processes from step S209 to step S212.
- the intervention determination unit 219 calculates the intersection line between the cross section generated in step S206 and the virtual wall VW selected in step S208 as a horizontal virtual wall line (step S209). Note that the horizontal virtual wall line may not exist depending on the positional relationship between the cross section generated in step S206 and the virtual wall VW. If the horizontal virtual wall line exists, the intervention determination unit 219 calculates the turning angle at which the point selected in step S205 contacts the horizontal virtual wall line calculated in step S209 for each of the right turn and the left turn (step S210).
- the intervention determination unit 219 calculates the intersection point between the horizontal virtual wall line and a circle centered on the turning center and passing through the point selected in step S205, and calculates the angle between the line segment extending from the turning center to the point selected in step S205 and the line segment extending from the turning center to the intersection point. Note that the intersection point may not exist depending on the positional relationship between the point selected in step S205 and the horizontal virtual wall line.
- the intervention determination unit 219 also calculates the intersection line between the cross section generated in step S207 and the virtual wall VW selected in step S208 as a vertical virtual wall line (step S211). Note that depending on the positional relationship between the cross section generated in step S207 and the virtual wall VW, a vertical virtual wall line may not exist. If a vertical virtual wall line exists, the intervention determination unit 219 determines the distance between the point selected in step S205 and the vertical virtual wall line calculated in step S211 (step S212).
- the intervention determination unit 219 executes the following processing of steps S213 to S221 for the control point P of the attachment 163 identified in step S204.
- the intervention determination unit 219 acquires the radius r of the virtual sphere VS from the main memory 230 (step S213).
- the intervention determination unit 219 selects one by one from one or more virtual walls VW set in the main memory 230 (step S214), and executes the following processes from step S215 to step S221.
- the intervention determination unit 219 calculates the position of an offset wall OW obtained by offsetting the virtual wall VW selected in step S214 in the normal direction by the length of the radius r acquired in step S213 (step S215). That is, the intervention determination unit 219 moves the virtual wall VW selected in step S214 closer to the control point P of the attachment 163 by the length of the radius r.
- the intervention determination unit 219 identifies a cross section that passes through the control point P of the attachment 163 and is parallel to the Xsb - Ysb plane of the vehicle body coordinate system (step S216).
- the intervention determination unit 219 also identifies a cross section that passes through the control point P of the attachment 163 and is parallel to the Xsb - Zsb plane of the vehicle body coordinate system (step S217).
- the intervention determination unit 219 calculates the intersection line between the cross section generated in step S216 and the offset wall OW calculated in step S215 as a horizontal virtual wall line (step S218). Note that depending on the positional relationship between the cross section generated in step S206 and the offset wall OW, the horizontal virtual wall line may not exist. If the horizontal virtual wall line exists, the intervention determination unit 219 calculates the turning angle at which the control point P of the attachment 163 contacts the horizontal virtual wall line calculated in step S209 for each of the right turn and the left turn (step S219). This turning angle is equivalent to the turning angle at which the virtual sphere VS contacts the virtual wall VW.
- the intervention determination unit 219 calculates the intersection point between the horizontal virtual wall line and a circle that is centered on the turning center and passes through the control point P of the attachment 163, and calculates the angle between the line segment extending from the turning center to the control point P of the attachment 163 and the line segment extending from the turning center to the intersection point.
- the intervention determination unit 219 calculates the intersection point between the horizontal virtual wall line and a circle that is centered on the turning center and passes through the control point P of the attachment 163, and calculates the angle between the line segment extending from the turning center to the control point P of the attachment 163 and the line segment extending from the turning center to the intersection point.
- the intervention determination unit 219 also calculates the intersection line between the cross section generated in step S217 and the offset wall OW calculated in step S215 as a vertical virtual wall line (step S220). Note that depending on the positional relationship between the cross section generated in step S217 and the offset wall OW, a vertical virtual wall line may not exist. If a vertical virtual wall line exists, the intervention determination unit 219 calculates the distance between the control point P of the attachment 163 and the vertical virtual wall line calculated in step S220 (step S221). This distance is equivalent to the distance at which the virtual sphere VS and the virtual wall VW come into contact.
- the intervention judgment unit 219 calculates the minimum turning angle at which at least one of the multiple points and the virtual sphere VS contacts at least one virtual wall VW for each right turn and left turn, based on the turning angles of each point on the work machine 100 and each virtual wall VW on the virtual sphere VS obtained in steps S210 and S219 (step S222).
- the intervention determination unit 219 calculates the shortest distance between the work implement 160 and the virtual wall VW based on the distances to each point on the work machine 100 and each virtual wall VW on the virtual sphere VS determined in steps S212 and S221 (step S223).
- the intervention determination unit 219 calculates the turning direction and the target turning speed based on the operation signal of the rotating body 140 acquired in step S201 (step S224). The intervention determination unit 219 determines whether the minimum turning angle for the turning direction indicated by the operation signal is greater than the intervention start angle (step S225). If the minimum turning angle is greater than the intervention start angle (step S225: YES), the intervention control unit 220 does not perform intervention control for the turning.
- the intervention control unit 220 specifies the limit angular velocity from the minimum turning angle based on a predetermined limit angular velocity table, and limits the target turning speed of the rotating body 140 to a value equal to or less than the limit angular velocity (step S226).
- the limit angular velocity table is a function indicating the relationship between the minimum turning angle and the limit angular velocity, and is a function in which the limit angular velocity decreases as the minimum turning angle decreases.
- the limit angular velocity table may be set to a deceleration rate that does not impair the operator's controllability of the revolving body 140, for example.
- the intervention determination unit 219 calculates the target speed of the work implement 160 based on the operation signals of the boom 161, arm 162, and attachment 163 acquired in step S201 (step S227). Specifically, the intervention determination unit 219 calculates the target speeds of the boom 161, arm 162, and attachment 163 based on the operation signals of the boom 161, arm 162, and attachment 163 acquired in step S201. Next, the intervention determination unit 219 determines whether the shortest distance calculated in step S223 is longer than the intervention start distance (step S228). If the shortest distance is longer than the intervention start distance (step S228: YES), the intervention control unit 220 does not perform intervention control for the work implement 160.
- the intervention control unit 220 selects each axis of the work machine 160 one by one, and performs the following processing of steps S230 to S231 for the selected axis (step S229).
- the intervention control unit 220 determines whether the operation direction of the selected axis is an operation in a direction approaching the virtual wall VW (step S230). If the operation direction of the selected axis is not an operation in a direction approaching the virtual wall VW (step S230: NO), the intervention control unit 220 does not perform intervention control for the selected axis.
- the intervention control unit 220 specifies the speed limit for the selected axis based on a predetermined speed limit table, and limits the target speed to a value equal to or less than the speed limit (step S231).
- the control signal output unit 221 generates a control signal based on the target speeds of the boom 161, arm 162, and attachment 163 and the target angular velocity of the rotating body 140, and outputs the signal to the control valve 113 (step S232).
- the control device 200 controls the work machine 100 in the following procedure.
- the control device 200 acquires imaging data from the imaging device 107.
- the control device 200 identifies the shape of the attachment 163 based on the imaging data.
- the control device 200 controls the work machine 100 based on the identified shape of the attachment 163 so that the virtual wall VW does not come into contact with the attachment 163.
- the control device 200 can easily determine the parameters of the attachment 163 by having the imaging device 107 capture an image of the attachment 163 and executing a shape identification process for the attachment 163.
- control device 200 controls the attachment 163 so that it does not come into contact with the virtual wall VW based on the virtual sphere VS that contains the attachment 163, but is not limited to this.
- the three-dimensional shape of the attachment 163 may be identified, and the attachment 163 may be controlled so as not to come into contact with the virtual wall VW based on the three-dimensional shape.
- the imaging device 107 generates three-dimensional data as imaging data, such as a stereo camera or LiDAR
- the control device 200 can obtain an image of the attachment 163 while changing the viewpoint by performing an operation of embracing and returning the attachment 163, and therefore can obtain three-dimensional data of the outer shell of the attachment 163 with high accuracy.
- the control device 200 of the work machine 100 calculates the position of the attachment 163 from the image data and determines parameters to be used for control.
- the control device 200 according to the second embodiment stores in advance parameters of a plurality of attachments 163 that can be attached to the work machine 160.
- the control device 200 then identifies the type of attachment 163 based on the image data and determines parameters to be used for control from the pre-stored parameters.
- the storage 250 of the control device 200 stores an identification model that accepts input of image data and outputs identification information (such as a model number) of the attachment 163 that appears in the image data.
- the identification model may be, for example, a trained model trained using a training data set relating to a combination of image data showing the attachment 163 and the identification information of the attachment 163.
- the storage 250 also stores, for each attachment 163, the attachment identification information in association with the control point P and the radius of the virtual sphere VS related to the attachment 163.
- Fig. 12 is a flowchart showing the shape specification process of the attachment 163 in the second embodiment.
- Fig. 13 is a diagram showing an example of a screen in the shape specification process according to the second embodiment.
- the display control unit 213 displays the first instruction screen D11 (FIG. 13) on the monitor device 142 (step S301).
- the first instruction screen D11 is provided with a "YES button” indicating the start of the shape identification process of the attachment 163 and a "NO button” indicating no execution of the shape identification process of the attachment 163.
- the input unit 212 accepts an input of the "YES button” or "NO button” by the operator from the monitor device 142 (step S302).
- step S302 NO
- the shape identification process ends.
- the previously set data for the control point P and radius r of the attachment 163 continues to be used.
- step S302 If the operator presses the "YES button" (step S302: YES), the measurement value acquisition unit 214 starts acquiring various measurement values and imaging data (step S303). The position identification unit 215 also starts calculating the position of the arm top in the vehicle body coordinate system based on the measurement values acquired in step S303 (step S304). Thereafter, the measurement value acquisition unit 214 and the position identification unit 215 continuously acquire various measurement values and imaging data and calculate the position of the arm top while the shape identification process is being executed.
- the display control unit 213 causes the monitor device 142 to display the second instruction screen D12 (step S305).
- the second instruction screen D12 includes the imaging data acquired by the measurement value acquisition unit 214, a framing element, and an instruction to operate the attachment 163 so that it fits into the framing element.
- the framing element is a frame line that represents a predetermined range, and represents a positioning element for the attachment 163.
- the attachment specifying unit 216 judges whether or not the image of the attachment 163 is contained within the framing element on the second instruction screen D12 (step S306). If the image of the attachment 163 is not contained within the framing element (step S306: NO), the process returns to step S305 and the display of the second instruction screen D12 continues. If the image of the attachment 163 falls within the framing element (step S306: YES), the attachment identification unit 216 inputs the captured image data to the identification model stored in the storage 250 (step S307). Identifying the type of the attachment 163 using the identification model based on the image of the attachment 163 captured in the captured image data is an example of a process for identifying the shape of the attachment 163. The attachment identification unit 216 acquires the identification information of the most accurate attachment 163 and its accuracy as an identification result from the identification model. The attachment identification unit 216 determines whether the accuracy is equal to or greater than a predetermined threshold (step S308).
- step S308 the attachment identification unit 216 returns to step S307 and attempts to identify the attachment by acquiring image data again. For example, if the image of the attachment 163 is blurred in the image data, the accuracy may be low.
- step S308 If the accuracy is greater than or equal to a predetermined threshold (step S308: YES), the attachment identification unit 216 obtains from the storage 250 the position of the control point P and the radius r of the virtual sphere VS associated with the identification information included in the identification result, and records them in the main memory 230 (step S309). Thereafter, the display control unit 213 displays a confirmation screen D13 on the monitor device 142 (step S310).
- the confirmation screen D13 includes the imaging data acquired by the measurement value acquisition unit 214 and a virtual sphere VS with the control point P as its center. In this manner, the control device 200 can determine the virtual sphere VS that includes the attachment 163 and record the data of the virtual sphere VS in the main memory 230 .
- the control device 200 controls the work machine 100 in the following procedure.
- the control device 200 acquires imaging data from the imaging device 107.
- the control device 200 identifies the shape of the attachment 163 based on the imaging data.
- the control device 200 controls the work machine 100 based on the shape so that the virtual wall VW and the attachment 163 do not come into contact with each other.
- the control device 200 can easily determine the parameters of the attachment 163 by having the imaging device 107 capture an image of the attachment 163 .
- control device 200 may store appearance image data representing the shape of each attachable attachment 163, and identify the attachment 163 by pattern matching between the appearance image data and the captured image data.
- the control device 200 repeats classification using a classification model until the classification angle becomes equal to or greater than a threshold value, but is not limited to this.
- a threshold value e.g. 1 ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- control device 200 may be configured by a single computer, or the configuration of the control device 200 may be divided and arranged among multiple computers, and the multiple computers may cooperate with each other to function as the control device 200. In this case, some of the computers that configure the control device 200 may be mounted inside the work machine 100, and other computers may be provided outside the work machine 100.
- FIG. 14 is a diagram showing the configuration of a work system according to another embodiment.
- the work machine 100 according to other embodiments may be operated by a remote control device 500 as shown in FIG. 14.
- the control device 200 of the remotely controlled work machine 100 transmits the imaging data of the imaging device 107 to the remote control device 500 in real time.
- the remote control device 500 includes a driver's seat 510, a display 520, an operation device 530, and a remote control server 540.
- the remote control server 540 displays the imaging data received from the work machine 100 on the display 520. This allows the operator to recognize the situation around the remote work machine 100.
- the remote control server 540 also transmits the operation signal of the operation device 530 by the operator to the work machine 100 via the network.
- the remote control server 540 executes at least a part of the functions of the control device 200 according to the embodiment described above.
- the control device 200 and the remote control server 540 constitute the work system.
- control point P of the attachment 163 is set to the midpoint between the rotation axis and the tip, but this is not limited to this.
- the control point P may be the center of the rotation axis of the attachment 163.
- the control point P is determined regardless of the rotation angle of the attachment 163, so that the coordinate conversion calculation using the attachment-vehicle body conversion matrix T at sb shown in equation (3) can be omitted.
- the control device 200 performs a rotational transformation process on the virtual wall VW to treat the virtual wall VW as a plane, but is not limited to this.
- a rotational transformation process on the virtual wall VW to treat the virtual wall VW as a plane, but is not limited to this.
- the virtual wall VW becomes a curved surface.
- the control device 200 according to the other embodiment may perform a rotational transformation process on the virtual wall VW defined as a curved surface.
Landscapes
- Engineering & Computer Science (AREA)
- Mining & Mineral Resources (AREA)
- Civil Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Structural Engineering (AREA)
- Mechanical Engineering (AREA)
- Component Parts Of Construction Machinery (AREA)
- Operation Control Of Excavators (AREA)
Abstract
制御システム(200)は、作業機械(100)に設けられ、作業機(160)が写る撮像データを撮像する撮像装置(107)と、プロセッサ(210)とを備える。プロセッサは、撮像装置から撮像データを取得し、撮像データに基づいて作業具(163)の形状を特定する。プロセッサは、形状に基づいて、作業機の侵入を禁止する面である仮想壁(VW)と作業具とが接触しないように作業機械を制御する。
Description
本開示は、システム、方法およびプログラムに関する。
本願は、2023年3月28日に日本に出願された特願2023-051148号に基づき優先権を主張し、その内容をここに援用する。
本願は、2023年3月28日に日本に出願された特願2023-051148号に基づき優先権を主張し、その内容をここに援用する。
作業機械の動作範囲を制限するために、空間に仮想壁を設定する技術が知られている。作業機械の制御装置は、仮想壁と作業機械との距離に応じて作業機械のアクチュエータの動作量を制限することで、作業機械が仮想壁を超えないよう制御することができる。
また、特許文献1には、作業具の回転軸を中心にし、作業具の先端までの半径を有する仮想円を規定し、仮想円と干渉防止領域との関係を求めることで、作業具の干渉防止領域への侵入を防止する技術が開示されている。
また、特許文献1には、作業具の回転軸を中心にし、作業具の先端までの半径を有する仮想円を規定し、仮想円と干渉防止領域との関係を求めることで、作業具の干渉防止領域への侵入を防止する技術が開示されている。
ところで、作業機械には、作業機の先端に様々な作業具を取り付け可能なものがある。作業具の形状は様々であるため、作業具が交換された場合、制御に係るパラメータを変更する必要がある。作業具の交換のたびにパラメータを設定することは手間である。
本開示の目的は、交換可能な作業具の制御に係るパラメータを容易に決定することができるシステム、方法およびプログラムを提供することにある。
本開示の第1の態様に係るシステムは、先端に作業具を取り付け可能な作業機を備える作業機械を制御する。システムは、作業機械に設けられ、作業機が写る撮像データを撮像する撮像装置と、プロセッサとを備える。プロセッサは、撮像装置から撮像データを取得し、撮像データに基づいて作業具の形状を特定する。プロセッサは、形状に基づいて、作業機の侵入を禁止する面である仮想壁と作業具とが接触しないように作業機械を制御する。
本開示の第2の態様に係る方法は、先端に作業具を取り付け可能な作業機を備える作業機械を制御するための方法であって、取得ステップと、特定ステップと、制御ステップとを備える。取得ステップは、作業機械に設けられ、作業機が写る撮像データを撮像する撮像装置から、撮像データを取得する。特定ステップは、撮像データに基づいて作業具の形状を特定する。制御ステップは、形状に基づいて、作業機の侵入を禁止する面である仮想壁と作業具とが接触しないように作業機械を制御する。
本発明の第3の態様に係るプログラムは、先端に作業具を取り付け可能な作業機を備える作業機械を制御する。プログラムは、コンピュータに、取得ステップと、特定ステップと、制御ステップとを実行させる。取得ステップは、作業機械に設けられ、作業機が写る撮像データを撮像する撮像装置から、撮像データを取得する。特定ステップは、撮像データに基づいて作業具の形状を特定する。制御ステップは、形状に基づいて、作業機の侵入を禁止する面である仮想壁と作業具とが接触しないように作業機械を制御する。
上記態様によれば、交換可能な作業具の制御に係るパラメータを容易に決定することができる。
〈第1の実施形態〉
《作業機械の構成》
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、第1の実施形態に係る作業機械100の構成を示す概略図である。第1の実施形態に係る作業機械100は、例えば油圧ショベルである。作業機械100は、走行体120、旋回体140、作業機160、運転室180、制御装置200を備える。第1の実施形態に係る作業機械100は、オペレータによる操作によって仮想壁VWを生成し、作業機械100が仮想壁VWに接触しないように制御される。これにより、オペレータは、進入禁止区域に侵入しないように作業機械100を操作することができる。
《作業機械の構成》
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、第1の実施形態に係る作業機械100の構成を示す概略図である。第1の実施形態に係る作業機械100は、例えば油圧ショベルである。作業機械100は、走行体120、旋回体140、作業機160、運転室180、制御装置200を備える。第1の実施形態に係る作業機械100は、オペレータによる操作によって仮想壁VWを生成し、作業機械100が仮想壁VWに接触しないように制御される。これにより、オペレータは、進入禁止区域に侵入しないように作業機械100を操作することができる。
走行体120は、作業機械100を走行可能に支持する。走行体120は、例えば左右1対の無限軌道である。
旋回体140は、走行体120に旋回中心回りに旋回可能に支持される。
作業機160は、旋回体140に動作可能に支持される。作業機160は、油圧により駆動する。作業機160は、ブーム161、アーム162、および作業器具であるアタッチメント163を備える。アタッチメント163は作業具の一例である。図1に示す例におけるアタッチメント163は、バケットである。ブーム161の基端部は、旋回体140に回動可能に取り付けられる。アーム162の基端部は、ブーム161の先端部に回動可能に取り付けられる。アタッチメント163は、アーム162の先端部に回動可能に取り付けられる。ここで、旋回体140のうち作業機160が取り付けられる部分を前部という。また、旋回体140について、前部を基準に、反対側の部分を後部、左側の部分を左部、右側の部分を右部という。
旋回体140は、走行体120に旋回中心回りに旋回可能に支持される。
作業機160は、旋回体140に動作可能に支持される。作業機160は、油圧により駆動する。作業機160は、ブーム161、アーム162、および作業器具であるアタッチメント163を備える。アタッチメント163は作業具の一例である。図1に示す例におけるアタッチメント163は、バケットである。ブーム161の基端部は、旋回体140に回動可能に取り付けられる。アーム162の基端部は、ブーム161の先端部に回動可能に取り付けられる。アタッチメント163は、アーム162の先端部に回動可能に取り付けられる。ここで、旋回体140のうち作業機160が取り付けられる部分を前部という。また、旋回体140について、前部を基準に、反対側の部分を後部、左側の部分を左部、右側の部分を右部という。
運転室180は、旋回体140の前部に設けられる。運転室180内には、オペレータが作業機械100を操作するための操作装置141、および制御装置200のマンマシンインタフェースであるモニタ装置142が設けられる。モニタ装置142は、例えばタッチパネルを備えるコンピュータによって実現される。
制御装置200は、オペレータによる操作装置の操作に基づいて、走行体120、旋回体140、および作業機160を制御する。制御装置200は、例えば運転室180の内部に設けられる。
《作業機械100の駆動系》
図2は、第1の実施形態に係る作業機械100の駆動系を示す図である。
作業機械100は、作業機械100を駆動するための複数のアクチュエータを備える。具体的には、作業機械100は、動力源111、油圧ポンプ112、コントロールバルブ113、一対の走行モータ114、旋回モータ115、ブームシリンダ116、アームシリンダ117、アタッチメントシリンダ118を備える。
図2は、第1の実施形態に係る作業機械100の駆動系を示す図である。
作業機械100は、作業機械100を駆動するための複数のアクチュエータを備える。具体的には、作業機械100は、動力源111、油圧ポンプ112、コントロールバルブ113、一対の走行モータ114、旋回モータ115、ブームシリンダ116、アームシリンダ117、アタッチメントシリンダ118を備える。
動力源111は、油圧ポンプ112を駆動する原動機である。動力源111は、例えばエンジンである。
油圧ポンプ112は、動力源111により駆動され、コントロールバルブ113を介して走行モータ114、旋回モータ115、ブームシリンダ116、アームシリンダ117およびアタッチメントシリンダ118に作動油を供給する。
コントロールバルブ113は、油圧ポンプ112から走行モータ114、旋回モータ115、ブームシリンダ116、アームシリンダ117およびアタッチメントシリンダ118へ供給される作動油の流量を制御する。
走行モータ114は、油圧ポンプ112から供給される作動油によって駆動され、走行体120を駆動する。
旋回モータ115は、油圧ポンプ112から供給される作動油によって駆動され、走行体120に対して旋回体140を旋回させる。
油圧ポンプ112は、動力源111により駆動され、コントロールバルブ113を介して走行モータ114、旋回モータ115、ブームシリンダ116、アームシリンダ117およびアタッチメントシリンダ118に作動油を供給する。
コントロールバルブ113は、油圧ポンプ112から走行モータ114、旋回モータ115、ブームシリンダ116、アームシリンダ117およびアタッチメントシリンダ118へ供給される作動油の流量を制御する。
走行モータ114は、油圧ポンプ112から供給される作動油によって駆動され、走行体120を駆動する。
旋回モータ115は、油圧ポンプ112から供給される作動油によって駆動され、走行体120に対して旋回体140を旋回させる。
ブームシリンダ116は、ブーム161を駆動するための油圧シリンダである。ブームシリンダ116の基端部は、旋回体140に取り付けられる。ブームシリンダ116の先端部は、ブーム161に取り付けられる。
アームシリンダ117は、アーム162を駆動するための油圧シリンダである。アームシリンダ117の基端部は、ブーム161に取り付けられる。アームシリンダ117の先端部は、アーム162に取り付けられる。
アタッチメントシリンダ118は、アタッチメント163を駆動するための油圧シリンダである。アタッチメントシリンダ118の基端部は、アーム162に取り付けられる。アタッチメントシリンダ118の先端部は、アタッチメント163に取り付けられる。
アームシリンダ117は、アーム162を駆動するための油圧シリンダである。アームシリンダ117の基端部は、ブーム161に取り付けられる。アームシリンダ117の先端部は、アーム162に取り付けられる。
アタッチメントシリンダ118は、アタッチメント163を駆動するための油圧シリンダである。アタッチメントシリンダ118の基端部は、アーム162に取り付けられる。アタッチメントシリンダ118の先端部は、アタッチメント163に取り付けられる。
《作業機械100の計測系》
作業機械100は、作業機械100の姿勢および位置を計測するための複数のセンサを備える。具体的には、作業機械100は、傾斜計測器101、旋回角センサ102、ブーム角センサ103、アーム角センサ104、アタッチメント角センサ105、ペイロードメータ106および撮像装置107を備える。
作業機械100は、作業機械100の姿勢および位置を計測するための複数のセンサを備える。具体的には、作業機械100は、傾斜計測器101、旋回角センサ102、ブーム角センサ103、アーム角センサ104、アタッチメント角センサ105、ペイロードメータ106および撮像装置107を備える。
傾斜計測器101は、旋回体140の姿勢を計測する。傾斜計測器101は、水平面に対する旋回体140の傾き(例えば、ロール角、ピッチ角およびヨー角)を計測する。傾斜計測器101の例としては、IMU(Inertial Measurement Unit:慣性計測装置)が挙げられる。この場合、傾斜計測器101は、旋回体140の加速度および角速度を計測し、計測結果に基づいて水平面に対する旋回体140の傾きを算出する。傾斜計測器101は、例えば運転室180の下方に設置される。傾斜計測器101は、計測値である旋回体140の姿勢データを制御装置200へ出力する。
旋回角センサ102は、走行体120に対する旋回体140の旋回角度を計測する。旋回角センサ102の計測値は、例えば、走行体120と旋回体140の方向が一致しているときにゼロを示す。旋回角センサ102は、例えば旋回体140の旋回中心に設置される。旋回角センサ102は、計測値である旋回角度データを制御装置200へ出力する。
ブーム角センサ103は、旋回体140に対するブーム161の回転角であるブーム角を計測する。ブーム角センサ103は、ブーム161に取り付けられたIMUであってよい。この場合、ブーム角センサ103は、ブーム161の水平面に対する傾きと傾斜計測器101が計測した旋回体の傾きとに基づいて、ブーム角を計測する。ブーム角センサ103の計測値は、例えば、ブーム161の基端と先端とを通る直線の方向が旋回体140の前後方向と一致するときにゼロを示す。なお、他の実施形態係るブーム角センサ103は、ブームシリンダ116に取り付けられたストロークセンサであってもよい。また、他の実施形態に係るブーム角センサ103は、旋回体140とブーム161とを接続するピンに設けられた回転センサであってもよい。ブーム角センサ103は、計測値であるブーム角データを制御装置200へ出力する。
アーム角センサ104は、ブーム161に対するアーム162の回転角であるアーム角を計測する。アーム角センサ104は、アーム162に取り付けられたIMUであってよい。この場合、アーム角センサ104は、アーム162の水平面に対する傾きとブーム角センサ103が計測したブーム角とに基づいて、アーム角を計測する。アーム角センサ104の計測値は、例えば、アーム162の基端と先端とを通る直線の方向がブーム161の基端と先端とを通る直線の方向と一致するときにゼロを示す。なお、他の実施形態に係るアーム角センサ104は、アームシリンダ117にストロークセンサを取付けて角度算出を行ってもよい。また、他の実施形態に係るアーム角センサ104は、ブーム161とアーム162とを接続するピンに設けられた回転センサであってもよい。アーム角センサ104は、計測値であるアーム角データを制御装置200へ出力する。
アタッチメント角センサ105は、アーム162に対するアタッチメント163の回転角であるアタッチメント角を計測する。アタッチメント角センサ105は、アタッチメント163を駆動させるためのアタッチメントシリンダ118に設けられたストロークセンサであってよい。この場合、アタッチメント角センサ105は、アタッチメントシリンダ118のストローク量に基づいてアタッチメント角を計測する。アタッチメント角センサ105の計測値は、例えば、アタッチメント163の基端と先端部とを通る直線の方向がアーム162の基端と先端とを通る直線の方向と一致するときにゼロを示す。なお、他の実施形態に係るアタッチメント角センサ105は、アーム162とアタッチメント163とを接続するピンに設けられた回転センサであってもよい。また、他の実施形態に係るアタッチメント角センサ105は、アタッチメント163に取付けられたIMUであってもよい。アタッチメント角センサ105は、計測値であるアタッチメント角データを制御装置200へ出力する。
ペイロードメータ106は、アタッチメント163に保持された積荷の重量を計測する。ペイロードメータ106は、例えばブーム161のシリンダのボトム圧を計測し、積荷の重量に換算する。また例えば、ペイロードメータ106は、ロードセルであってもよい。ペイロードメータ106は、計測値である積荷の重量データを制御装置200へ出力する。
撮像装置107は、撮像範囲に作業機160が写るように旋回体140に設けられる。例えば、撮像装置107は、運転室180の天井に設けられていてもよい。撮像装置107は、撮像データを制御装置200へ出力する。撮像装置107の例としては、カメラ、ステレオカメラ、LiDAR、レーザスキャナなどが挙げられる。撮像データは、二次元の画像データであってもよいし、三次元の点群データであってもよい。
《制御装置200の構成》
図3は、第1の実施形態に係る制御装置200の構成を示す概略ブロック図である。
制御装置200は、プロセッサ210、メインメモリ230、ストレージ250、インタフェース270を備えるコンピュータである。制御装置200は、制御システムの一例である。制御装置200は、傾斜計測器101、旋回角センサ102、ブーム角センサ103、アーム角センサ104、アタッチメント角センサ105、およびペイロードメータ106から計測値を受信する。
図3は、第1の実施形態に係る制御装置200の構成を示す概略ブロック図である。
制御装置200は、プロセッサ210、メインメモリ230、ストレージ250、インタフェース270を備えるコンピュータである。制御装置200は、制御システムの一例である。制御装置200は、傾斜計測器101、旋回角センサ102、ブーム角センサ103、アーム角センサ104、アタッチメント角センサ105、およびペイロードメータ106から計測値を受信する。
ストレージ250は、一時的でない有形の記憶媒体である。ストレージ250の例としては、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等が挙げられる。ストレージ250は、制御装置200のバスに直接接続された内部メディアであってもよいし、インタフェース270または通信回線を介して制御装置200に接続される外部メディアであってもよい。ストレージ250は、作業機械100を制御するための制御プログラムを記憶する。
制御プログラムは、制御装置200に発揮させる機能の一部を実現するためのものであってもよい。例えば、制御プログラムは、ストレージ250に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、制御装置200は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサによって実現される機能の一部または全部が当該集積回路によって実現されてよい。
ストレージ250には、旋回体140、ブーム161及びアーム162の寸法を表すジオメトリデータが記録される。ジオメトリデータは、所定の座標系における物体の位置を表すデータである。
《ソフトウェア構成》
プロセッサ210は、制御プログラムを実行することで、操作量取得部211、入力部212、表示制御部213、計測値取得部214、位置特定部215、アタッチメント特定部216、生成部217、回転変換部218、介入判定部219、介入制御部220、制御信号出力部221を備える。
プロセッサ210は、制御プログラムを実行することで、操作量取得部211、入力部212、表示制御部213、計測値取得部214、位置特定部215、アタッチメント特定部216、生成部217、回転変換部218、介入判定部219、介入制御部220、制御信号出力部221を備える。
操作量取得部211は、操作装置141から各アクチュエータの操作量を示す操作信号を取得する。
入力部212は、モニタ装置142からオペレータによる操作入力を受け付ける。特に、入力部212は、アタッチメント163の交換がなされたときに、オペレータからアタッチメント163の形状特定処理を実行する旨の入力を受け付け、後述するアタッチメント163の形状特定処理を開始する。
表示制御部213は、モニタ装置142に表示させる画面データをモニタ装置142へ出力する。
計測値取得部214は、傾斜計測器101、旋回角センサ102、ブーム角センサ103、アーム角センサ104、アタッチメント角センサ105、ペイロードメータ106から計測値を取得する。計測値取得部214は、撮像装置107から撮像データを取得する。
入力部212は、モニタ装置142からオペレータによる操作入力を受け付ける。特に、入力部212は、アタッチメント163の交換がなされたときに、オペレータからアタッチメント163の形状特定処理を実行する旨の入力を受け付け、後述するアタッチメント163の形状特定処理を開始する。
表示制御部213は、モニタ装置142に表示させる画面データをモニタ装置142へ出力する。
計測値取得部214は、傾斜計測器101、旋回角センサ102、ブーム角センサ103、アーム角センサ104、アタッチメント角センサ105、ペイロードメータ106から計測値を取得する。計測値取得部214は、撮像装置107から撮像データを取得する。
位置特定部215は、車体座標系における作業機械100の外殻の位置を特定する。作業機械100の外殻とは、作業機械100の外形形状である。作業機械100の外殻は、例えば、旋回体140および作業機160の外形を形成する形状よって画定される。位置特定部215は、具体的には、計測値取得部214が取得した各種計測値と、ストレージ250に記録されたジオメトリデータと、アタッチメント特定部216によって特定されたデータとに基づいて、車体座標系における作業機械100の外殻の複数の点と、アタッチメント163の制御点Pの位置を特定する。位置特定部215が特定する外殻の複数の点は、アーム162のアタッチメント163側の端(アームトップ)、アーム162のブーム161側の端(アームボトム)、旋回体140のカウンターウェイトの後方の点を含む。車体座標系とは、旋回体140の代表点(例えば、旋回中心を通る点)を原点とする直交座標系である。位置特定部215の計算については後述する。なお、位置特定部215が特定する点は、これに限られない。
アタッチメント163の制御点Pは、アタッチメント163を球体(仮想球VS)とみなすときの当該仮想球VSの中心である。仮想球VSは、アタッチメント163を簡易的に表すために、制御点Pを中心としてアタッチメント163を内包するように定義される。図4は、第1の実施形態における仮想球VSと仮想壁VWとの関係を示す図である。図5は、第1の実施形態における仮想球VSとバケットの外殻との関係を示す図である。第1の実施形態におけるアタッチメント163はバケットであり、図4及び図5に示すように、制御点Pは、アーム162とバケットとを接続するピン(回転軸)の中点と、バケットの刃先(先端部)の中点とを結ぶ線分の中点である。第1の実施形態における仮想球VSの半径rは、制御点Pからバケットの外殻の最遠点までの距離に等しい。したがって、仮想球VSはバケットを内包する。図5の例では、バケットの外殻を簡易的に表現するための点としてAP0、AP1、AP2、AP3、AP4、及びAP5が特定され、このうち制御点Pから最も離れた点がAP2である。そのため、図5の例において半径rは、制御点Pから点AP2までの距離に等しい。
バケットの制御点Pを、バケットの回転軸の中点と、バケットの先端部の中点とを結ぶ線分の中点とすることで、バケットの底面と仮想球VSとの隙間を小さくすることができる。他方、バケットの開口面については、底面と比較して仮想球VSとの距離が大きくなるが、バックホウショベルにおいてバケットの開口面は通常作業機械100の前方を向かないため、操作性に影響を与える場面がほとんどない。また、バケットの形状は半球に近いため、制御点Pをバケットの回転軸の中点とバケットの先端部の中点とを結ぶ線分の中点とすることで、オペレータが操作時に仮想球VSをイメージしやすいという利点もある。
バケットの制御点Pを、バケットの回転軸の中点と、バケットの先端部の中点とを結ぶ線分の中点とすることで、バケットの底面と仮想球VSとの隙間を小さくすることができる。他方、バケットの開口面については、底面と比較して仮想球VSとの距離が大きくなるが、バックホウショベルにおいてバケットの開口面は通常作業機械100の前方を向かないため、操作性に影響を与える場面がほとんどない。また、バケットの形状は半球に近いため、制御点Pをバケットの回転軸の中点とバケットの先端部の中点とを結ぶ線分の中点とすることで、オペレータが操作時に仮想球VSをイメージしやすいという利点もある。
アタッチメント特定部216は、計測値取得部214が取得した撮像データと位置特定部215が特定したアームトップの位置とに基づいて、アタッチメント163の形状を特定し、アタッチメント163の制御点Pの位置および仮想球VSの半径を決定する。
制御点Pの位置は、ローカル座標系であるアタッチメント座標系における位置(xcp、ycp、zcp)として表される。アタッチメント座標系は、アタッチメント163とアーム162とを接続するピンの位置を基準として、先端部の方向に伸びるXat軸、ピンが伸びる方向に伸びるYat軸、Xat軸とYat軸に直交するZat軸から構成される座標系である。なお、アタッチメント座標系は予め定められた座標系であって、アタッチメント特定部216によって特定されるアタッチメント163の形状に依らない。したがって、Xat軸は必ずしも実際にアタッチメント163の先端を通るとは限らない。制御点Pは、アタッチメント163を基準とした座標系において一意に特定される点である。
制御点Pの位置は、ローカル座標系であるアタッチメント座標系における位置(xcp、ycp、zcp)として表される。アタッチメント座標系は、アタッチメント163とアーム162とを接続するピンの位置を基準として、先端部の方向に伸びるXat軸、ピンが伸びる方向に伸びるYat軸、Xat軸とYat軸に直交するZat軸から構成される座標系である。なお、アタッチメント座標系は予め定められた座標系であって、アタッチメント特定部216によって特定されるアタッチメント163の形状に依らない。したがって、Xat軸は必ずしも実際にアタッチメント163の先端を通るとは限らない。制御点Pは、アタッチメント163を基準とした座標系において一意に特定される点である。
生成部217は、入力部212がオペレータから仮想壁VWの生成指示を受け付けた場合に、位置特定部215が特定したアタッチメント163の先端部の位置に基づいて仮想壁VWのパラメータを計算する。生成部217は、生成した車体座標系における仮想壁VWのパラメータをメインメモリ230に記録する。
回転変換部218は、旋回体140の旋回に伴ってメインメモリ230に記憶された仮想壁VWのパラメータを更新する。具体的には、回転変換部218は、傾斜計測器101が計測したピッチ角、ロール角、ヨー角の変化分だけ仮想壁VWのパラメータを車体座標系の原点を中心に回転変換する。図6は、第1の実施形態における旋回体の旋回に伴う仮想壁VWの再設定の一例を示す図である。例えば、図6に示すように、仮想壁VWの設定後に旋回体140が旋回した場合、回転変換部218は、計測値取得部214が取得した傾斜計測器101の計測値を参照して旋回体140の旋回によって生じたロール角、ピッチ角、ヨー角の変化量を計算し、仮想壁VWのパラメータを車体座標系の原点を中心に回転変換する。これにより、回転変換部218は、旋回体140の旋回による仮想壁VWの回転をキャンセルすることができる。
介入判定部219は、位置特定部215が特定した外殻の複数の点と仮想壁VWとの位置関係、およびアタッチメント163の仮想球VSと仮想壁VWとの位置関係に基づいて、旋回体140の旋回速度または作業機160の速度を制限するか否かを判定する。以下、制御装置200が旋回体140または作業機160の速度を制限することを介入制御ともいう。具体的には、介入判定部219は、仮想壁VWと外殻の複数の点の少なくとも1つが接触するまでの最小旋回角を求め、当該最小旋回角が所定角度以下である場合に、旋回体140について介入制御をすると判定する。また、介入判定部219は、仮想壁VWと作業機160との最小距離を求め、当該最小距離が所定距離以下である場合に、作業機160について介入制御をすると判定する。このとき、介入判定部219は、アタッチメント163について仮想球VSに基づいて距離を求める。介入判定部219は、計算量を減らすために、図4に示すように仮想壁VWを仮想球VSの半径rだけオフセットしたオフセット壁OWを特定する。仮想球VSと仮想壁VWとの距離d1は、制御点Pとオフセット壁OWとの距離d2と等しい。そのため、介入判定部219は、制御点Pとオフセット壁OWとの距離d2を計算することで、仮想球VSと仮想壁VWとの距離d1を求める。
介入制御部220は、介入判定部219によって介入制御を行うと判定された場合に、操作量取得部211が取得した操作量のうち介入対象の操作量を制御する。
制御信号出力部221は、操作量取得部211が取得した操作量、または介入判定部219によって制御された操作量をコントロールバルブ113に出力する。
制御信号出力部221は、操作量取得部211が取得した操作量、または介入判定部219によって制御された操作量をコントロールバルブ113に出力する。
《位置特定部215の計算》
ここで、位置特定部215による作業機械100の外殻の点の位置の特定方法を説明する。位置特定部215は、計測値取得部214が取得した各種計測値とストレージ250に記録されたジオメトリデータとに基づいて外殻の点の位置を特定する。ストレージ250には、旋回体140、ブーム161及びアーム162の寸法を表すジオメトリデータが記録される。また位置特定部215は、特定されたアームトップの位置と、アタッチメント特定部216によって特定されたアタッチメント163の仮想球VSの制御点Pの位置および半径を用いて、仮想球VSの位置を特定する。
ここで、位置特定部215による作業機械100の外殻の点の位置の特定方法を説明する。位置特定部215は、計測値取得部214が取得した各種計測値とストレージ250に記録されたジオメトリデータとに基づいて外殻の点の位置を特定する。ストレージ250には、旋回体140、ブーム161及びアーム162の寸法を表すジオメトリデータが記録される。また位置特定部215は、特定されたアームトップの位置と、アタッチメント特定部216によって特定されたアタッチメント163の仮想球VSの制御点Pの位置および半径を用いて、仮想球VSの位置を特定する。
旋回体140のジオメトリデータは、ローカル座標系である車体座標系における旋回体140のブーム161を支持するピンの位置(xbm、ybm、zbm)、及び旋回体140の外殻の点の位置(xsp、ysp、zsp)を示す。旋回体140の外殻の点としては、例えばカウンターウェイトの突出点のように、旋回によって壁面と接触する可能性が高い点が挙げられる。車体座標系は、旋回体140の旋回中心を基準として前後方向に伸びるXsb軸、左右方向に伸びるYsb軸、上下方向に伸びるZsb軸から構成される座標系である。なお、旋回体140の上下方向は、必ずしも鉛直方向と一致しない。
ブーム161のジオメトリデータは、ローカル座標系であるブーム座標系におけるブームトップの位置(xam、yam、zam)を示す。ブーム座標系は、ブーム161と旋回体140とを接続するピンの位置を基準として、長手方向に伸びるXbm軸、ピンが伸びる方向に伸びるYbm軸、Xbm軸とYbm軸に直交するZbm軸から構成される座標系である。ブームトップの位置は、ブーム161とアーム162を接続するピンの位置である。ブームトップは、作業機械100の外殻の点の一つである。
アーム162のジオメトリデータは、ローカル座標系であるアーム座標系におけるアームトップの位置(xat、yat、zat)を示す。アーム座標系は、アーム162とブーム161とを接続するピンの位置を基準として、長手方向に伸びるXam軸、ピンが伸びる方向に伸びるYam軸、Xam軸とYam軸に直交するZam軸から構成される座標系である。アームトップの位置は、アーム162とアタッチメント163を接続するピンの位置である。アームトップは、作業機械100の外殻の点の一つである。
位置特定部215は、計測値取得部214が取得したブーム角θbmの計測値と、旋回体140のジオメトリデータとに基づいて、下記式(1)により、ブーム座標系から車体座標系へ変換するためのブーム-車体変換行列Tbm
sbを生成する。ブーム-車体変換行列Tbm
sbは、Ybm軸回りにブーム角θbmだけ回転させ、かつ車体座標系の原点とブーム座標系の原点の偏差(xbm、ybm、zbm)だけ平行移動させる行列である。
また、位置特定部215は、ブーム161のジオメトリデータが示すブーム座標系におけるブームトップの位置と、ブーム-車体変換行列Tbm sbとの積を求めることで、車体座標系におけるブームトップの位置を求める。
また、位置特定部215は、ブーム161のジオメトリデータが示すブーム座標系におけるブームトップの位置と、ブーム-車体変換行列Tbm sbとの積を求めることで、車体座標系におけるブームトップの位置を求める。
位置特定部215は、計測値取得部214が取得したアーム角θamの計測値と、ブーム161のジオメトリデータとに基づいて、下記式(2)により、アーム座標系からブーム座標系へ変換するためのアーム-ブーム変換行列Tam
bmを生成する。アーム-ブーム変換行列Tam
bmは、Yam軸回りにアーム角θamだけ回転させ、かつブーム座標系の原点とアーム座標系の原点の偏差(xam、yam、zam)だけ平行移動させる行列である。また、位置特定部215は、ブーム-車体変換行列Tbm
sbとアーム-ブーム変換行列Tam
bmの積を求めることで、アーム座標系から車体座標系へ変換するためのアーム-車体変換行列Tam
sbを生成する。また、位置特定部215は、アーム162のジオメトリデータが示すアーム座標系におけるアームトップの位置と、アーム-車体変換行列Tam
sbとの積を求めることで、車体座標系におけるアームトップの位置を求める。
位置特定部215は、計測値取得部214が取得したアタッチメント角θatの計測値と、アーム162のジオメトリデータとに基づいて、下記式(3)により、アタッチメント座標系からアーム座標系へ変換するためのアタッチメント-アーム変換行列Tat
amを生成する。アタッチメント-アーム変換行列Tat
amは、Yat軸回りにアタッチメント角θatだけ回転させ、かつアーム座標系の原点とアタッチメント座標系の原点の偏差(xat、yat、zat)だけ平行移動させる行列である。また、位置特定部215は、アーム-車体変換行列Tam
sbとアタッチメント-アーム変換行列Tat
amの積を求めることで、アタッチメント座標系から車体座標系へ変換するためのアタッチメント-車体変換行列Tat
sbを生成する。
位置特定部215は、アタッチメント特定部216によって特定されたアタッチメント163の制御点Pの位置と、アタッチメント-車体変換行列Tat
sbとの積を求めることで、車体座標系におけるアタッチメント163の制御点Pの位置を求める。
《作業機械100の制御方法》
以下、第1の実施形態に係る作業機械100の制御方法について説明する。
まず作業機械100のオペレータは、作業機160にアタッチメント163を取り付けると、モニタ装置142を操作し、アタッチメント163の形状特定処理を行う。
以下、第1の実施形態に係る作業機械100の制御方法について説明する。
まず作業機械100のオペレータは、作業機160にアタッチメント163を取り付けると、モニタ装置142を操作し、アタッチメント163の形状特定処理を行う。
《アタッチメント163の形状特定処理》
図7は、第1の実施形態におけるアタッチメント163の形状特定処理を示すフローチャート(パート1)である。図8は、第1の実施形態におけるアタッチメント163の形状特定処理を示すフローチャート(パート2)である。図9は、第1の実施形態に係る形状特定処理における画面例を示す図である。
表示制御部213は、モニタ装置142に第1指示画面D1(図9)を表示する(ステップS101)。第1指示画面D1には、アタッチメント163の形状特定処理の開始を示す「YESボタン」と、アタッチメント163の形状特定処理の不実行を示す「NOボタン」とが設けられる。オペレータは、アタッチメント163の形状特定処理を実行する場合、モニタ装置142の第1指示画面D1に表示された「YESボタン」を操作する。入力部212は、モニタ装置142からオペレータによる「YESボタン」または「NOボタン」の操作入力を受け付ける(ステップS102)。
図7は、第1の実施形態におけるアタッチメント163の形状特定処理を示すフローチャート(パート1)である。図8は、第1の実施形態におけるアタッチメント163の形状特定処理を示すフローチャート(パート2)である。図9は、第1の実施形態に係る形状特定処理における画面例を示す図である。
表示制御部213は、モニタ装置142に第1指示画面D1(図9)を表示する(ステップS101)。第1指示画面D1には、アタッチメント163の形状特定処理の開始を示す「YESボタン」と、アタッチメント163の形状特定処理の不実行を示す「NOボタン」とが設けられる。オペレータは、アタッチメント163の形状特定処理を実行する場合、モニタ装置142の第1指示画面D1に表示された「YESボタン」を操作する。入力部212は、モニタ装置142からオペレータによる「YESボタン」または「NOボタン」の操作入力を受け付ける(ステップS102)。
オペレータによる「NOボタン」の操作入力を受け付けた場合(ステップS102:NO)、プロセッサ210は、アタッチメント163の形状特定処理を終了する。この場合、前回設定されたアタッチメント163の制御点Pおよび半径rのデータが引き続いて用いられる。
オペレータによる「YESボタン」の操作入力を受け付けた場合(ステップS102:YES)、計測値取得部214は、各種計測値および撮像データの取得を開始する(ステップS103)。また、位置特定部215は、ステップS103で取得した計測値に基づいて、車体座標系におけるアームトップの位置の算出を開始する(ステップS104)。以降、計測値取得部214および位置特定部215は、形状特定処理の実行中、継続的に各種計測値および撮像データの取得並びにアームトップの位置の算出を実行する。
次に、表示制御部213は、第2指示画面D2をモニタ装置142に表示させる(ステップS105)。第2指示画面D2には、計測値取得部214が取得した撮像データと、フレーミング要素と、フレーミング要素にアタッチメント163が入るように作業機160を操作することを促す指示とが含まれる。フレーミング要素は、予め定められた範囲を表す枠線であり、アタッチメント163の位置決め要素を表す。
次に、アタッチメント特定部216は、第2指示画面D2においてアタッチメント163の像がフレーミング要素内に収まっているか否かを判定する(ステップS106)。アタッチメント特定部216は、例えばステップS104で特定したアームトップの位置に基づいてアタッチメント163の像がフレーミング要素内に収まっているか否かを判定してよい。撮像装置107の位置は車体座標系において固定されているため、撮像装置107の撮像範囲は車体座標系から特定可能である。したがって、車体座標系における撮像範囲のうちフレーミング要素の上部に相当する所定の領域にとアームトップが位置しているか否かを判定することで、アタッチメント163の像がフレーミング要素内に収まっているか否かを判定できる。またアタッチメント特定部216は、ステップS103で取得した撮像データに基づいてパターンマッチングなどの手法によってアタッチメントの位置を特定してもよい。
アタッチメント163の像がフレーミング要素内に収まっていない場合(ステップS106:NO)、ステップS105に処理を戻し、第2指示画面D2の表示を継続する。
アタッチメント163の像がフレーミング要素内に収まった場合(ステップS106:YES)、表示制御部213は、第3指示画面D3をモニタ装置142に表示させる(ステップS107)。第3指示画面D3には、計測値取得部214が取得した撮像データと、フレーミング要素と、アタッチメント163の抱え込み操作および返し操作を促す指示とが含まれる。抱え込み操作および返し操作は、アタッチメントシリンダ118の伸縮によってアタッチメント163をピン回り(Ybk軸回り)に回転させる操作である。
アタッチメント163の像がフレーミング要素内に収まった場合(ステップS106:YES)、表示制御部213は、第3指示画面D3をモニタ装置142に表示させる(ステップS107)。第3指示画面D3には、計測値取得部214が取得した撮像データと、フレーミング要素と、アタッチメント163の抱え込み操作および返し操作を促す指示とが含まれる。抱え込み操作および返し操作は、アタッチメントシリンダ118の伸縮によってアタッチメント163をピン回り(Ybk軸回り)に回転させる操作である。
アタッチメント特定部216は、撮像データから、撮像データの座標系である画像座標系(Xp軸およびYp軸からなる二次元座標系)におけるアタッチメント163の最下点の位置を特定する(ステップS108)。画像座標系における最下点とは、撮像データにおいてアタッチメント163の像が写る領域のうち、画像座標系のYp座標の値が最も大きい点である。アタッチメント特定部216は、位置特定部215が特定したアームトップの位置と、ステップS108で特定した最下点の位置とに基づいて、車体座標系におけるアタッチメント163の最下点の位置を特定する(ステップS109)。なお、画像座標系が二次元座標系であるため、撮像装置107の視線方向(奥行方向)における最下点の位置を特定することができない。ここでは、アタッチメント特定部216は、アームトップを通り撮像装置107の上下方向に伸びる軸上に最下点が存在すると仮定して位置を特定する。これは、アタッチメント163の先端部が最下点となるときに、アタッチメント163と撮像装置107とが正対することで、アームトップを通り撮像装置107の上下方向に伸びる軸上に先端部が位置することになると想定されるためである。
アタッチメント特定部216は、最下点の位置をアタッチメント角に関連付けて一時的にメインメモリ230に記憶する(ステップS110)。アタッチメント特定部216は、メインメモリ230に記憶した最下点の位置とアタッチメント角の関係から、アタッチメント角に対する最下点の位置の極大値を特定できるか否かを判定する(ステップS111)。極大値を特定できない場合(ステップS111:NO)、アタッチメント特定部216はステップS107に処理を戻し、第3指示画面D3の表示を継続する。
極大値を特定できる場合(ステップS111:YES)、アタッチメント特定部216は極大値に係る最下点の位置とアームトップの位置とに基づいて、アタッチメント座標系におけるアタッチメント163の制御点Pの位置を決定する(ステップS112)。具体的には、アタッチメント特定部216は、以下の手順での制御点Pの位置を決定する。アタッチメント特定部216は、極大値に係る最下点の位置をアタッチメント163の先端部の位置と推定する。アタッチメント特定部216は、極大値に係る最下点の位置と当該に対応するアタッチメント角に基づいて、アタッチメント座標系における先端部の位置を決定する。アタッチメント特定部216は、アタッチメント座標系におけるアームトップの位置(アタッチメント座標系の原点)と先端部の位置とに基づいて、アームトップと先端部との中点である制御点Pの位置を決定する。
また、アタッチメント特定部216は、アタッチメント163の先端部の位置に基づいて仮想球VSの半径rを決定する(ステップS113)。具体的には、アタッチメント特定部216は、アタッチメント163の先端部の角部(例えば刃先の右端)と制御点Pとの距離を半径rとして決定する。
アタッチメント特定部216は制御点Pの位置および半径rをメインメモリ230に記録する。
また、アタッチメント特定部216は、アタッチメント163の先端部の位置に基づいて仮想球VSの半径rを決定する(ステップS113)。具体的には、アタッチメント特定部216は、アタッチメント163の先端部の角部(例えば刃先の右端)と制御点Pとの距離を半径rとして決定する。
アタッチメント特定部216は制御点Pの位置および半径rをメインメモリ230に記録する。
次に、表示制御部213は、モニタ装置142に第4指示画面D4を表示する(ステップS114)。第4指示画面D4には、アタッチメント163が備えるチルト機構に係る解析の開始を示す「YESボタン」と、チルト機構の解析の不実行を示す「NOボタン」とが設けられる。入力部212は、モニタ装置142からオペレータによる「YESボタン」または「NOボタン」の操作入力を受け付ける(ステップS115)。
オペレータによる「YESボタン」の操作入力を受け付けた場合(ステップS115:YES)、表示制御部213は、第5指示画面D5をモニタ装置142に表示させる(ステップS116)。第5指示画面D5には、計測値取得部214が取得した撮像データと、フレーミング要素と、アタッチメント163のチルト操作を促す指示とが含まれる。チルト操作は、アタッチメント163をZbk軸回りに回転させる操作である。
アタッチメント特定部216は、物体追跡(トラッキング)技術により、撮像データにおけるアタッチメント163の先端部の位置を追跡する(ステップS117)。物体追跡技術とは、撮像データの時系列、すなわち動画像から、指定した対象が画像上でどのように移動するかを推定する技術である。具体的には、アタッチメント特定部216は、撮像データのうちステップS112で決定したアタッチメント163の先端部の周囲の部分画像を用いて、新たに取得した撮像データにおける当該部分画像の位置を推定する。
アタッチメント特定部216は、チルト操作によって取り得る最大のチルト角時の姿勢を検出したか否かを判定する(ステップS118)。例えば、物体追跡によって特定された先端部の位置の時系列において、チルト操作の折り返しにより、先端部の高さの極大値が検出されたときに、最大のチルト角時の姿勢を検出したと判定することができる。また例えばアタッチメント特定部216は、オペレータからのモニタ装置142の操作によって最大のチルト角時の姿勢を取ったことの入力を受け付けてもよい。
最大のチルト角時の姿勢を検出していない場合(ステップS118:NO)、アタッチメント特定部216はステップS116に処理を戻し、第5指示画面D5の表示を継続する。
最大のチルト角時の姿勢を検出した場合(ステップS118:YES)、アタッチメント特定部216は、最大のチルト角時の姿勢におけるアタッチメント163の先端部の角部と制御点Pとの距離が、仮想球VSの半径rより長いか否かを判定する(ステップS119)。制御点Pの位置はチルト操作によって変化しないため、チルト操作によって角部と制御点Pとの距離は変化する。先端部の角部と制御点Pとの距離が半径rより長い場合(ステップS119:YES)、半径rを更新する(ステップS120)。これにより、仮想球VSの半径rは、アタッチメント163のチルト操作によって取り得るすべての姿勢において制御点Pから最も遠い点までの距離となる。これにより、アタッチメント163のチルト角によらず、アタッチメント163が仮想壁VWに侵入しないように制御することができる。先端部の角部と制御点Pとの距離が半径r以下である場合(ステップS119:NO)、半径rを更新しない。
最大のチルト角時の姿勢を検出した場合(ステップS118:YES)、アタッチメント特定部216は、最大のチルト角時の姿勢におけるアタッチメント163の先端部の角部と制御点Pとの距離が、仮想球VSの半径rより長いか否かを判定する(ステップS119)。制御点Pの位置はチルト操作によって変化しないため、チルト操作によって角部と制御点Pとの距離は変化する。先端部の角部と制御点Pとの距離が半径rより長い場合(ステップS119:YES)、半径rを更新する(ステップS120)。これにより、仮想球VSの半径rは、アタッチメント163のチルト操作によって取り得るすべての姿勢において制御点Pから最も遠い点までの距離となる。これにより、アタッチメント163のチルト角によらず、アタッチメント163が仮想壁VWに侵入しないように制御することができる。先端部の角部と制御点Pとの距離が半径r以下である場合(ステップS119:NO)、半径rを更新しない。
ステップS116からステップS120の処理によりチルト機構に係る解析を終えた場合、または第4指示画面D4においてオペレータによる「NOボタン」の操作入力を受け付けた場合(ステップS115:NO)、表示制御部213は、モニタ装置142に第6指示画面D6を表示する(ステップS121)。第6指示画面D6には、アタッチメント163が備える回転機構に係る解析の開始を示す「YESボタン」と、回転機構の解析の不実行を示す「NOボタン」とが設けられる。入力部212は、モニタ装置142からオペレータによる「YESボタン」または「NOボタン」の操作入力を受け付ける(ステップS122)。
オペレータによる「YESボタン」の操作入力を受け付けた場合(ステップS122:YES)、表示制御部213は、第7指示画面D7をモニタ装置142に表示させる(ステップS123)。第7指示画面D7には、計測値取得部214が取得した撮像データと、フレーミング要素と、アタッチメント163の回転操作を促す指示とが含まれる。回転操作は、アタッチメント163をXbk軸回りに回転させる操作である。
アタッチメント特定部216は、撮像データにおいてアタッチメント163の側面が撮像装置107と正対しているか否かを判定する(ステップS124)。例えば、アタッチメント特定部216は、逐次取得される撮像データにおけるアタッチメント163が写っている領域の面積を計算し、アタッチメント163が正面を向いておらず、かつ面積が極小になったときに、アタッチメント163の側面が撮像装置107と正対していると判定する。また例えば、アタッチメント特定部216は、アタッチメント163の既知の側面の形状とのパターンマッチングによって、アタッチメント163の側面が撮像装置107と正対していると判定してもよい。
アタッチメント163の側面が撮像装置107と正対していない場合(ステップS124:NO)、アタッチメント特定部216はステップS121に処理を戻し、第7指示画面D7の表示を継続する。
アタッチメント163の側面が撮像装置107と正対している場合(ステップS124:YES)、アタッチメント特定部216は、アームトップの位置と先端部との距離を算出し、アームトップと先端部との中点である制御点Pの位置を更新する(ステップS125)。これは、アタッチメント163の正面が写る画像よりアタッチメント163の側面が写る画像の方がアームトップと先端部の位置関係を正確に表すためである。
アタッチメント163の側面が撮像装置107と正対している場合(ステップS124:YES)、アタッチメント特定部216は、アームトップの位置と先端部との距離を算出し、アームトップと先端部との中点である制御点Pの位置を更新する(ステップS125)。これは、アタッチメント163の正面が写る画像よりアタッチメント163の側面が写る画像の方がアームトップと先端部の位置関係を正確に表すためである。
ステップS121からステップS123の処理により回転機構に係る解析を終えた場合、または第6指示画面D6においてオペレータによる「NOボタン」の操作入力を受け付けた場合(ステップS122:NO)、表示制御部213は、モニタ装置142に確認画面D8を表示する(ステップS126)。確認画面D8には、計測値取得部214が取得した撮像データと、制御点Pを中心とする仮想球VSとが含まれる。
以上により制御装置200はアタッチメント163を包含する仮想球VSを特定し、仮想球VSのデータをメインメモリ230に記録することができる。
以上により制御装置200はアタッチメント163を包含する仮想球VSを特定し、仮想球VSのデータをメインメモリ230に記録することができる。
《仮想壁VWの設定処理》
作業機械100のオペレータは、モニタ装置142を操作し、仮想壁VWの設定を行う。入力部212がモニタ装置142から仮想壁VWの設定指示を受け付けると、表示制御部213は、モニタ装置142に設定すべき仮想壁VWの種類の選択画面を表示させる。制御装置200が設定可能な仮想壁VWは、前壁、左壁、右壁、上壁および下壁の5種類である。前壁、左壁、右壁は鉛直方向に伸びる壁面である。上壁、下壁は水平方向に伸びる壁面である。仮想壁VWは、車体座標系で規定される、仮想壁VWの法線方向を示す法線ベクトルと、仮想壁VWが通る点の位置を示す位置ベクトルとによって表される。
作業機械100のオペレータは、モニタ装置142を操作し、仮想壁VWの設定を行う。入力部212がモニタ装置142から仮想壁VWの設定指示を受け付けると、表示制御部213は、モニタ装置142に設定すべき仮想壁VWの種類の選択画面を表示させる。制御装置200が設定可能な仮想壁VWは、前壁、左壁、右壁、上壁および下壁の5種類である。前壁、左壁、右壁は鉛直方向に伸びる壁面である。上壁、下壁は水平方向に伸びる壁面である。仮想壁VWは、車体座標系で規定される、仮想壁VWの法線方向を示す法線ベクトルと、仮想壁VWが通る点の位置を示す位置ベクトルとによって表される。
作業機械100は、旋回体140を旋回させて作業機160が届く範囲内の作業を行うことができる。そのため、通常、オペレータは、掘削などの作業を行う場合、作業機械100を旋回させる。車体座標系は、旋回体140を基準とするため、グローバル座標系の視点から見て作業機械100の旋回に追従して回転する。車体座標系に設定される仮想壁VWが作業機械100の旋回に追従して回転してしまうと、右壁および左壁は作業機械100に干渉することがなく、意味をなさない。例えば、旋回体140の右側に右壁を設定すると、旋回体140をどのように旋回させても、右壁は常に旋回体140の右側に維持され、作業機械100に干渉することがない。また、前壁は、作業機械100の旋回に追従して回転してしまうと、平面状の壁ではなく環状の壁としてふるまうため、建築物の壁面に沿った仮想壁VWとして機能しない。
そのため、第1の実施形態に係る制御装置200は、作業機械100の旋回前後でグローバル座標系における仮想壁VWの位置を維持するために、仮想壁VWの回転変換処理を行う。
そのため、第1の実施形態に係る制御装置200は、作業機械100の旋回前後でグローバル座標系における仮想壁VWの位置を維持するために、仮想壁VWの回転変換処理を行う。
《仮想壁VWの更新および介入制御》
図10は、第1の実施形態において設定された仮想壁VWの更新および介入制御を示すフローチャート(パート1)である。図11は、第1の実施形態において設定された仮想壁VWの更新および介入制御を示すフローチャート(パート2)である。作業機械100のオペレータがモニタ装置142の操作によって少なくとも1つの仮想壁VWを設定すると、制御装置200は、以下に示す制御を開始する。
図10は、第1の実施形態において設定された仮想壁VWの更新および介入制御を示すフローチャート(パート1)である。図11は、第1の実施形態において設定された仮想壁VWの更新および介入制御を示すフローチャート(パート2)である。作業機械100のオペレータがモニタ装置142の操作によって少なくとも1つの仮想壁VWを設定すると、制御装置200は、以下に示す制御を開始する。
操作量取得部211は、操作装置141からブーム161、アーム162、アタッチメント163、および旋回体140の操作信号を取得する(ステップS201)。計測値取得部214は、傾斜計測器101、旋回角センサ102、ブーム角センサ103、アーム角センサ104、アタッチメント角センサ105およびペイロードメータ106の計測値を取得する(ステップS202)。
回転変換部218は、メインメモリ230が記憶する1つ以上の仮想壁VWそれぞれを、ステップS202で傾斜計測器101から取得した旋回体140のロール角、ピッチ角、ヨー角に基づいて回転変換し、更新する(ステップS203)。
位置特定部215は、ステップS202で取得した計測値に基づいて車体座標系における作業機械100の外殻の複数の点とアタッチメント163の制御点Pの位置を算出する(ステップS204)。介入判定部219は、位置特定部215が特定した外殻の点を1つずつ選択し(ステップS205)、以下のステップS206からステップS212の処理を実行する。
介入判定部219は、ステップS205で選択した点を通り、且つ、車体座標系のXsb-Ysb平面に平行な断面を特定する(ステップS206)。また、介入判定部219は、ステップS205で選択した点を通り、且つ、車体座標系のXsb-Zsb平面に平行な断面を特定する(ステップS207)。
介入判定部219は、メインメモリ230に設定された1つ以上の仮想壁VWを1つずつ選択し(ステップS208)、以下のステップS209からステップS212の処理を実行する。
介入判定部219は、ステップS206で生成した断面とステップS208で選択した仮想壁VWとの交線を水平仮想壁線として算出する(ステップS209)。なお、ステップS206で生成した断面と仮想壁VWとの位置関係によっては水平仮想壁線が存在しない場合もある。水平仮想壁線が存在する場合、介入判定部219は、右旋回と左旋回のそれぞれについて、ステップS205で選択した点がステップS209で算出した水平仮想壁線と接触する旋回角を求める(ステップS210)。例えば、介入判定部219は、旋回中心を中心としてステップS205で選択した点を通る円と水平仮想壁線との交点を算出し、旋回中心からステップS205で選択した点へ伸びる線分と旋回中心から交点へ伸びる線分とのなす角を求める。なお、ステップS205で選択した点と水平仮想壁線との位置関係によっては交点が存在しない場合もある。
介入判定部219は、ステップS206で生成した断面とステップS208で選択した仮想壁VWとの交線を水平仮想壁線として算出する(ステップS209)。なお、ステップS206で生成した断面と仮想壁VWとの位置関係によっては水平仮想壁線が存在しない場合もある。水平仮想壁線が存在する場合、介入判定部219は、右旋回と左旋回のそれぞれについて、ステップS205で選択した点がステップS209で算出した水平仮想壁線と接触する旋回角を求める(ステップS210)。例えば、介入判定部219は、旋回中心を中心としてステップS205で選択した点を通る円と水平仮想壁線との交点を算出し、旋回中心からステップS205で選択した点へ伸びる線分と旋回中心から交点へ伸びる線分とのなす角を求める。なお、ステップS205で選択した点と水平仮想壁線との位置関係によっては交点が存在しない場合もある。
また、介入判定部219は、ステップS207で生成した断面とステップS208で選択した仮想壁VWとの交線を鉛直仮想壁線として算出する(ステップS211)。なお、ステップS207で生成した断面と仮想壁VWとの位置関係によっては鉛直仮想壁線が存在しない場合もある。鉛直仮想壁線が存在する場合、介入判定部219は、ステップS205で選択した点とステップS211で算出した鉛直仮想壁線との距離を求める(ステップS212)。
次に、介入判定部219は、ステップS204で特定したアタッチメント163の制御点Pについて、以下のステップS213からステップS221の処理を実行する。介入判定部219は、メインメモリ230から仮想球VSの半径rを取得する(ステップS213)。
介入判定部219は、メインメモリ230に設定された1つ以上の仮想壁VWを1つずつ選択し(ステップS214)、以下のステップS215からステップS221の処理を実行する。
介入判定部219は、ステップS214で選択した仮想壁VWを、ステップS213で取得した半径rの長さだけ法線方向にオフセットさせたオフセット壁OWの位置を計算する(ステップS215)。すなわち介入判定部219は、ステップS214で選択した仮想壁VWを半径rの長さだけアタッチメント163の制御点Pに近づける。介入判定部219は、アタッチメント163の制御点Pを通り、且つ、車体座標系のXsb-Ysb平面に平行な断面を特定する(ステップS216)。また、介入判定部219は、アタッチメント163の制御点Pを通り、且つ、車体座標系のXsb-Zsb平面に平行な断面を特定する(ステップS217)。
介入判定部219は、ステップS214で選択した仮想壁VWを、ステップS213で取得した半径rの長さだけ法線方向にオフセットさせたオフセット壁OWの位置を計算する(ステップS215)。すなわち介入判定部219は、ステップS214で選択した仮想壁VWを半径rの長さだけアタッチメント163の制御点Pに近づける。介入判定部219は、アタッチメント163の制御点Pを通り、且つ、車体座標系のXsb-Ysb平面に平行な断面を特定する(ステップS216)。また、介入判定部219は、アタッチメント163の制御点Pを通り、且つ、車体座標系のXsb-Zsb平面に平行な断面を特定する(ステップS217)。
介入判定部219は、ステップS216で生成した断面とステップS215で求めたオフセット壁OWとの交線を水平仮想壁線として算出する(ステップS218)。なお、ステップS206で生成した断面とオフセット壁OWとの位置関係によっては水平仮想壁線が存在しない場合もある。水平仮想壁線が存在する場合、介入判定部219は、右旋回と左旋回のそれぞれについて、アタッチメント163の制御点PがステップS209で算出した水平仮想壁線と接触する旋回角を求める(ステップS219)。この旋回角は、仮想球VSと仮想壁VWとが接触する旋回角と等価である。例えば、介入判定部219は、旋回中心を中心としてアタッチメント163の制御点Pを通る円と水平仮想壁線との交点を算出し、旋回中心からアタッチメント163の制御点Pへ伸びる線分と旋回中心から交点へ伸びる線分とのなす角を求める。なお、アタッチメント163の制御点Pと水平仮想壁線との位置関係によっては交点が存在しない場合もある。
また、介入判定部219は、ステップS217で生成した断面とステップS215で求めたオフセット壁OWとの交線を鉛直仮想壁線として算出する(ステップS220)。なお、ステップS217で生成した断面とオフセット壁OWとの位置関係によっては鉛直仮想壁線が存在しない場合もある。鉛直仮想壁線が存在する場合、介入判定部219は、アタッチメント163の制御点PとステップS220で算出した鉛直仮想壁線との距離を求める(ステップS221)。この距離は、仮想球VSと仮想壁VWとが接触する距離と等価である。
介入判定部219は、ステップS210およびステップS219で求めた作業機械100上の各点および仮想球VSにおける仮想壁VWごとの旋回角に基づいて、右旋回と左旋回のそれぞれについて、複数の点および仮想球VSの少なくとも1つが少なくとも1つの仮想壁VWに接触する最小旋回角を算出する(ステップS222)。
介入判定部219は、ステップS212およびステップS221で求めた作業機械100上の各点および仮想球VSにおける仮想壁VWごとの距離に基づいて、作業機160と仮想壁VWとの最短距離を算出する(ステップS223)。
介入判定部219は、ステップS212およびステップS221で求めた作業機械100上の各点および仮想球VSにおける仮想壁VWごとの距離に基づいて、作業機160と仮想壁VWとの最短距離を算出する(ステップS223)。
介入判定部219は、ステップS201で取得した旋回体140の操作信号に基づいて、旋回方向および目標旋回速度を算出する(ステップS224)。介入判定部219は、操作信号が示す旋回方向についての最小旋回角が、介入開始角度より大きいか否かを判定する(ステップS225)。最小旋回角が介入開始角度より大きい場合(ステップS225:YES)、介入制御部220は旋回についての介入制御を行わない。他方、最小旋回角が介入開始角度以下である場合(ステップS225:NO)、介入制御部220は、予め定められた制限角速度テーブルに基づいて最小旋回角から制限角速度を特定し、旋回体140の目標旋回速度を制限角速度以下の値に制限する(ステップS226)。制限角速度テーブルは、最小旋回角と制限角速度との関係を示す関数であって、最小旋回角が小さいほど制限角速度が小さくなる関数である。
制限角速度テーブルは、例えば、オペレータによる旋回体140の操作感が損なわれない減速率に設定してもよい。
制限角速度テーブルは、例えば、オペレータによる旋回体140の操作感が損なわれない減速率に設定してもよい。
介入判定部219は、ステップS201で取得したブーム161、アーム162およびアタッチメント163の操作信号に基づいて、作業機160の目標速度を算出する(ステップS227)。具体的には、介入判定部219は、ステップS201で取得したブーム161、アーム162およびアタッチメント163の操作信号に基づいて、ブーム161、アーム162およびアタッチメント163の目標速度を算出する。次に、介入判定部219は、ステップS223で算出した最短距離が、介入開始距離より長いか否かを判定する(ステップS228)。最短距離が介入開始距離より長い場合(ステップS228:YES)、介入制御部220は作業機160についての介入制御を行わない。他方、最短距離が介入開始距離以下である場合(ステップS228:NO)、介入制御部220は、作業機160の各軸を1つずつ選択し、選択した軸について、以下のステップS230からステップS231の処理を行う(ステップS229)。介入制御部220は、選択された軸の操作方向が仮想壁VWへ接近する方向の操作であるか否かを判定する(ステップS230)。選択された軸の操作方向が仮想壁VWへ接近する方向の操作ではない場合(ステップS230:NO)、介入制御部220は、選択された軸についての介入制御を行わない。他方、選択された軸の操作方向が仮想壁VWへ接近する方向の操作である場合(ステップS230:YES)、介入制御部220は、選択された軸について、予め定められた制限速度テーブルに基づいて制限速度を特定し、目標速度を制限速度以下の値に制限する(ステップS231)。
制御信号出力部221は、ブーム161、アーム162、アタッチメント163の目標速度および旋回体140の目標角速度に基づいて制御信号を生成し、コントロールバルブ113に出力する(ステップS232)。
《作用・効果》
このように、制御装置200は、以下の手順で作業機械100を制御する。制御装置200は、撮像装置107から撮像データを取得する。制御装置200は、撮像データに基づいてアタッチメント163の形状を特定する。制御装置200は、特定したアタッチメント163の形状に基づいて、仮想壁VWとアタッチメント163とが接触しないように作業機械100を制御する。
これにより、制御装置200は、アタッチメント163が交換された場合、撮像装置107にアタッチメント163を撮像させ、アタッチメント163の形状特定処理を実行させることで、容易にアタッチメント163のパラメータを決定することができる。
このように、制御装置200は、以下の手順で作業機械100を制御する。制御装置200は、撮像装置107から撮像データを取得する。制御装置200は、撮像データに基づいてアタッチメント163の形状を特定する。制御装置200は、特定したアタッチメント163の形状に基づいて、仮想壁VWとアタッチメント163とが接触しないように作業機械100を制御する。
これにより、制御装置200は、アタッチメント163が交換された場合、撮像装置107にアタッチメント163を撮像させ、アタッチメント163の形状特定処理を実行させることで、容易にアタッチメント163のパラメータを決定することができる。
なお、第1の実施形態に係る制御装置200は、アタッチメント163を包含する仮想球VSに基づいてアタッチメント163が仮想壁VWに接触しないように制御するが、これに限られない。例えば、他の実施形態においては、アタッチメント163の三次元形状を特定し、当該三次元形状に基づいてアタッチメント163が仮想壁VWに接触しないように制御してもよい。例えば、撮像装置107がステレオカメラやLiDARなど、撮像データとして三次元データを生成する場合、制御装置200はアタッチメント163の抱え込み操作および返し操作によって、視点を変えながらアタッチメント163の像を得ることができるため、精度よくアタッチメント163の外殻の三次元データを得ることができる。
〈第2の実施形態〉
第1の実施形態に係る作業機械100の制御装置200は、撮像データからアタッチメント163の位置を計算して、制御に用いるパラメータを決定する。第2の実施形態に係る制御装置200は、予め作業機160に取り付け可能な複数のアタッチメント163のパラメータを記憶する。そして、制御装置200は、撮像データに基づいてアタッチメント163の種類を識別し、予め記憶されたパラメータの中から制御に用いるパラメータを決定する。
第1の実施形態に係る作業機械100の制御装置200は、撮像データからアタッチメント163の位置を計算して、制御に用いるパラメータを決定する。第2の実施形態に係る制御装置200は、予め作業機160に取り付け可能な複数のアタッチメント163のパラメータを記憶する。そして、制御装置200は、撮像データに基づいてアタッチメント163の種類を識別し、予め記憶されたパラメータの中から制御に用いるパラメータを決定する。
第2の実施形態に係る制御装置200のストレージ250は、画像データの入力を受け付け、当該画像データに写るアタッチメント163の識別情報(型番など)を出力する識別モデルを記憶する。識別モデルは、例えばアタッチメント163が写る画像データと当該アタッチメント163の識別情報との組み合わせに係る学習用データセットを用いて学習された学習済みモデルであってよい。またストレージ250は、アタッチメント163ごとに、当該アタッチメント識別情報と当該アタッチメント163に係る制御点Pおよび仮想球VSの半径を関連付けて記憶する。
図12は、第2の実施形態におけるアタッチメント163の形状特定処理を示すフローチャートである。図13は、第2の実施形態に係る形状特定処理における画面例を示す図である。
表示制御部213は、モニタ装置142に第1指示画面D11(図13)を表示する(ステップS301)。第1指示画面D11には、アタッチメント163の形状特定処理の開始を示す「YESボタン」と、アタッチメント163の形状特定処理の不実行を示す「NOボタン」とが設けられる。入力部212は、モニタ装置142からオペレータによる「YESボタン」または「NOボタン」の操作入力を受け付ける(ステップS302)。
表示制御部213は、モニタ装置142に第1指示画面D11(図13)を表示する(ステップS301)。第1指示画面D11には、アタッチメント163の形状特定処理の開始を示す「YESボタン」と、アタッチメント163の形状特定処理の不実行を示す「NOボタン」とが設けられる。入力部212は、モニタ装置142からオペレータによる「YESボタン」または「NOボタン」の操作入力を受け付ける(ステップS302)。
オペレータによる「NOボタン」の操作入力を受け付けた場合(ステップS302:NO)、形状特定処理を終了する。この場合、前回設定されたアタッチメント163の制御点Pおよび半径rのデータが引き続いて用いられる。
オペレータによる「YESボタン」の操作入力を受け付けた場合(ステップS302:YES)、計測値取得部214は、各種計測値および撮像データの取得を開始する(ステップS303)。また、位置特定部215は、ステップS303で取得した計測値に基づいて、車体座標系におけるアームトップの位置の算出を開始する(ステップS304)。以降、計測値取得部214および位置特定部215は、形状特定処理の実行中、継続的に各種計測値および撮像データの取得並びにアームトップの位置の算出を実行する。
次に、表示制御部213は、第2指示画面D12をモニタ装置142に表示させる(ステップS305)。第2指示画面D12には、計測値取得部214が取得した撮像データと、フレーミング要素と、フレーミング要素にアタッチメント163が入るように操作することを促す指示とが含まれる。フレーミング要素は、予め定められた範囲を表す枠線であり、アタッチメント163の位置決め要素を表す。
次に、アタッチメント特定部216は、第2指示画面D12においてアタッチメント163の像がフレーミング要素内に収まっているか否かを判定する(ステップS306)。アタッチメント163の像がフレーミング要素内に収まっていない場合(ステップS306:NO)、ステップS305に処理を戻し、第2指示画面D12の表示を継続する。
アタッチメント163の像がフレーミング要素内に収まった場合(ステップS306:YES)、アタッチメント特定部216は、撮像データを、ストレージ250に記憶された識別モデルに入力する(ステップS307)。撮像データに写るアタッチメント163の像に基づいて、識別モデルを用いてアタッチメント163の種類を識別することは、アタッチメント163の形状を特定する処理の一例である。アタッチメント特定部216は、識別モデルから識別結果として、最も確度の高いアタッチメント163の識別情報と、その確度を取得する。アタッチメント特定部216は、確度が所定の閾値以上であるか否かを判定する(ステップS308)。
アタッチメント163の像がフレーミング要素内に収まった場合(ステップS306:YES)、アタッチメント特定部216は、撮像データを、ストレージ250に記憶された識別モデルに入力する(ステップS307)。撮像データに写るアタッチメント163の像に基づいて、識別モデルを用いてアタッチメント163の種類を識別することは、アタッチメント163の形状を特定する処理の一例である。アタッチメント特定部216は、識別モデルから識別結果として、最も確度の高いアタッチメント163の識別情報と、その確度を取得する。アタッチメント特定部216は、確度が所定の閾値以上であるか否かを判定する(ステップS308)。
確度が所定の閾値未満である場合(ステップS308:NO)、アタッチメント特定部216は、ステップS307に処理を戻し、再度撮像データを取得して識別を試みる。例えば、撮像データにおいてアタッチメント163の像がぶれている場合には、確度が低くなることがある。
確度が所定の閾値以上である場合(ステップS308:YES)、アタッチメント特定部216は、ストレージ250から、識別結果に含まれる識別情報に関連付けられた制御点Pの位置および仮想球VSの半径rを取得し、メインメモリ230に記録する(ステップS309)。
その後、表示制御部213は、モニタ装置142に確認画面D13を表示する(ステップS310)。確認画面D13には、計測値取得部214が取得した撮像データと、制御点Pを中心とする仮想球VSとが含まれる。
以上により制御装置200はアタッチメント163を包含する仮想球VSを決定し、仮想球VSのデータをメインメモリ230に記録することができる。
その後、表示制御部213は、モニタ装置142に確認画面D13を表示する(ステップS310)。確認画面D13には、計測値取得部214が取得した撮像データと、制御点Pを中心とする仮想球VSとが含まれる。
以上により制御装置200はアタッチメント163を包含する仮想球VSを決定し、仮想球VSのデータをメインメモリ230に記録することができる。
《作用・効果》
このように、制御装置200は、以下の手順で作業機械100を制御する。制御装置200は、撮像装置107から撮像データを取得する。制御装置200は、撮像データに基づいてアタッチメント163の形状を特定する。制御装置200は、形状に基づいて、仮想壁VWとアタッチメント163とが接触しないように作業機械100を制御する。
これにより、制御装置200は、アタッチメント163が交換された場合、撮像装置107にアタッチメント163を撮像させることで、容易にアタッチメント163のパラメータを決定することができる。
このように、制御装置200は、以下の手順で作業機械100を制御する。制御装置200は、撮像装置107から撮像データを取得する。制御装置200は、撮像データに基づいてアタッチメント163の形状を特定する。制御装置200は、形状に基づいて、仮想壁VWとアタッチメント163とが接触しないように作業機械100を制御する。
これにより、制御装置200は、アタッチメント163が交換された場合、撮像装置107にアタッチメント163を撮像させることで、容易にアタッチメント163のパラメータを決定することができる。
なお、第2の実施形態に係る制御装置200は学習済みモデルを用いてアタッチメント163を特定するが、これに限られない。例えば、他の実施形態においては、制御装置200は、取り付け可能なアタッチメント163ごとにアタッチメント163の形状を表す外観画像データを記憶しておき、当該外観画像データと撮像データとのパターンマッチングによってアタッチメント163を特定してもよい。
また第2の実施形態に係る制御装置200は、識別の角度が閾値以上になるまで繰り返し識別モデルによる識別を行うが、これに限られない。例えば、他の実施形態においては、識別に失敗した場合に、オペレータから手入力でパラメータの入力を受け付けてもよい。また他の実施形態においては、識別に失敗した場合に、第1の実施形態に係るステップS101からステップS126(図8)に示す処理によってパラメータを決定してもよい。
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
上述した実施形態に係る制御装置200は、単独のコンピュータによって構成されるものであってもよいし、制御装置200の構成を複数のコンピュータに分けて配置し、複数のコンピュータが互いに協働することで制御装置200として機能するものであってもよい。このとき、制御装置200を構成する一部のコンピュータが作業機械100の内部に搭載され、他のコンピュータが作業機械100の外部に設けられてもよい。
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
上述した実施形態に係る制御装置200は、単独のコンピュータによって構成されるものであってもよいし、制御装置200の構成を複数のコンピュータに分けて配置し、複数のコンピュータが互いに協働することで制御装置200として機能するものであってもよい。このとき、制御装置200を構成する一部のコンピュータが作業機械100の内部に搭載され、他のコンピュータが作業機械100の外部に設けられてもよい。
上述した実施形態に係る作業機械100は、運転室180に搭乗したオペレータによって操作されるが、他の実施形態に係る作業機械100はこれに限られない。図14は、他の実施形態に係る作業システムの構成を示す図である。他の実施形態に係る作業機械100は、図14に示すように遠隔操作装置500によって操作されてもよい。遠隔操作される作業機械100の制御装置200は、撮像装置107の撮像データを遠隔操作装置500にリアルタイムに送信する。遠隔操作装置500は、運転席510、ディスプレイ520、操作装置530及び遠隔操作サーバ540を備える。遠隔操作サーバ540は、作業機械100から受信した撮像データをディスプレイ520に表示させる。これにより、オペレータは遠隔の作業機械100の周囲の状況を認識することができる。また遠隔操作サーバ540は、オペレータによる操作装置530の操作信号をネットワークを介して作業機械100に送信する。遠隔操作サーバ540は、上述の実施形態に係る制御装置200の少なくとも一部の機能を実行する。つまり、遠隔操作サーバ540を備える作業システムにおいて、制御装置200と遠隔操作サーバ540は、作業システムを構成する。
また、上述した実施形態に係る制御装置200は、アタッチメント163の制御点Pを回転軸と先端部の中点とするが、これに限られない。例えば他の実施形態においては、制御点Pがアタッチメント163の回転軸の中心であってもよい。制御点Pをアタッチメント163の回転軸の中心とする場合、アタッチメント163の回転角によらず制御点Pが定まるため、式(3)に示すアタッチメント-車体変換行列Tat
sbによる座標変換計算を省略することができる。
また、上述した実施形態に係る制御装置200は、仮想壁VWを平面として扱うために仮想壁VWの回転変換処理を行うが、これに限られない。例えば、他の実施形態において、仮想壁VWを作業機械100を囲む環状の壁として機能させたい場合には、仮想壁VWの回転変換処理を行わなくてもよい。この場合、仮想壁VWは曲面となる。なお、他の実施形態に係る制御装置200は、曲面として定義した仮想壁VWについて回転変換処理を行ってもよい。
100…作業機械 101…傾斜計測器 102…旋回角センサ 103…ブーム角センサ 104…アーム角センサ 105…アタッチメント角センサ 106…ペイロードメータ 107…撮像装置 111…動力源 112…油圧ポンプ 113…コントロールバルブ 114…走行モータ 115…旋回モータ 116…ブームシリンダ 117…アームシリンダ 118…アタッチメントシリンダ 120…走行体 140…旋回体 141…操作装置 142…モニタ装置 160…作業機 161…ブーム 162…アーム 163…アタッチメント 180…運転室 200…制御装置 210…プロセッサ 211…操作量取得部 212…入力部 213…表示制御部 214…計測値取得部 215…位置特定部 216…アタッチメント特定部 217…生成部 218…回転変換部 219…介入判定部 220…介入制御部 221…制御信号出力部 230…メインメモリ 250…ストレージ 270…インタフェース P…制御点 VS…仮想球 VW…仮想壁
Claims (6)
- 先端に作業具を取り付け可能な作業機を備える作業機械を制御するためのシステムであって、
前記作業機械に設けられ、前記作業機が写る撮像データを撮像する撮像装置と、
プロセッサと、
を備え、
前記プロセッサは、
前記撮像装置から前記撮像データを取得し、
前記撮像データに基づいて前記作業具の形状を特定し、
前記形状に基づいて、前記作業機の侵入を禁止する面である仮想壁と前記作業具とが接触しないように前記作業機械を制御する、
システム。 - 前記プロセッサは、
前記作業機の姿勢を特定し、
前記撮像データと前記作業機の姿勢とに基づいて前記作業具の形状を特定する
請求項1に記載のシステム。 - 前記作業機に取り付け可能な複数の作業具のそれぞれについて、前記作業具の形状に係るデータと、前記作業機の寸法に係るデータとを記憶する記憶装置を備え、
前記形状に基づいて、前記記憶装置から前記作業具の寸法を読み出し、
前記寸法に基づいて、前記仮想壁と前記作業具とが接触しないように前記作業機械を制御する、
請求項1に記載のシステム。 - 前記プロセッサは、
前記作業具の形状に基づいて、前記作業具の制御点を中心として前記作業具を内包するように定義される仮想球の半径を決定し、
前記制御点の位置および前記半径に基づいて、前記仮想壁と前記仮想球とが接触しないように前記作業機械を制御する
請求項1から請求項3の何れか1項に記載のシステム。 - 先端に作業具を取り付け可能な作業機を備える作業機械を制御するための方法であって、
前記作業機械に設けられ、前記作業機が写る撮像データを撮像する撮像装置から、前記撮像データを取得するステップと、
前記撮像データに基づいて前記作業具の形状を特定するステップと、
前記形状に基づいて、前記作業機の侵入を禁止する面である仮想壁と前記作業具とが接触しないように前記作業機械を制御するステップと、
を備える方法。 - 先端に作業具を取り付け可能な作業機を備える作業機械を制御するコンピュータに、
前記作業機械に設けられ、前記作業機が写る撮像データを撮像する撮像装置から、前記撮像データを取得するステップと、
前記撮像データに基づいて前記作業具の形状を特定するステップと、
前記形状に基づいて、前記作業機の侵入を禁止する面である仮想壁と前記作業具とが接触しないように前記作業機械を制御するステップと、
を実行させるプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023-051148 | 2023-03-28 | ||
JP2023051148A JP2024140142A (ja) | 2023-03-28 | 2023-03-28 | システム、方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024204598A1 true WO2024204598A1 (ja) | 2024-10-03 |
Family
ID=92906780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2024/012777 WO2024204598A1 (ja) | 2023-03-28 | 2024-03-28 | システム、方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2024140142A (ja) |
WO (1) | WO2024204598A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09256403A (ja) * | 1996-03-21 | 1997-09-30 | Hitachi Constr Mach Co Ltd | 建設機械の干渉防止装置 |
JP2006022486A (ja) * | 2004-07-06 | 2006-01-26 | Hitachi Constr Mach Co Ltd | 建設機械の干渉防止装置 |
US20160138248A1 (en) * | 2014-11-14 | 2016-05-19 | Caterpillar Inc. | System for Assisting a User of a Machine of a Kind Comprising a Body and an Implement Movable Relative to the Body |
JP2017203322A (ja) * | 2016-05-12 | 2017-11-16 | コベルコ建機株式会社 | 建設機械の制御装置 |
JP2020193503A (ja) * | 2019-05-29 | 2020-12-03 | ナブテスコ株式会社 | 作業機械の操縦支援システム、作業機械の操縦支援方法、操縦支援システムの保守支援方法、建設機械 |
-
2023
- 2023-03-28 JP JP2023051148A patent/JP2024140142A/ja active Pending
-
2024
- 2024-03-28 WO PCT/JP2024/012777 patent/WO2024204598A1/ja unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09256403A (ja) * | 1996-03-21 | 1997-09-30 | Hitachi Constr Mach Co Ltd | 建設機械の干渉防止装置 |
JP2006022486A (ja) * | 2004-07-06 | 2006-01-26 | Hitachi Constr Mach Co Ltd | 建設機械の干渉防止装置 |
US20160138248A1 (en) * | 2014-11-14 | 2016-05-19 | Caterpillar Inc. | System for Assisting a User of a Machine of a Kind Comprising a Body and an Implement Movable Relative to the Body |
JP2017203322A (ja) * | 2016-05-12 | 2017-11-16 | コベルコ建機株式会社 | 建設機械の制御装置 |
JP2020193503A (ja) * | 2019-05-29 | 2020-12-03 | ナブテスコ株式会社 | 作業機械の操縦支援システム、作業機械の操縦支援方法、操縦支援システムの保守支援方法、建設機械 |
Also Published As
Publication number | Publication date |
---|---|
JP2024140142A (ja) | 2024-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7358349B2 (ja) | 掘削機、情報処理装置 | |
CN104884713B (zh) | 建设机械的显示系统及其控制方法 | |
CN113167054B (zh) | 包括作业机械的系统、由计算机执行的方法及学习用数据 | |
JP7203616B2 (ja) | 作業機械 | |
JP6674846B2 (ja) | 形状計測システム、作業機械及び形状計測方法 | |
JP6867132B2 (ja) | 作業機械の検出処理装置及び作業機械の検出処理方法 | |
JP7071203B2 (ja) | 作業機械 | |
WO2019239668A1 (ja) | 作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ | |
JP2024052764A (ja) | 表示制御装置及び表示方法 | |
WO2024204598A1 (ja) | システム、方法およびプログラム | |
US12085950B2 (en) | Visual overlays for providing perception of depth | |
WO2023032970A1 (ja) | 制御システム、制御方法および制御プログラム | |
WO2022070707A1 (ja) | 表示制御装置及び表示方法 | |
JP7489344B2 (ja) | 地形情報管理システムおよび作業機械 | |
JP7550116B2 (ja) | 掘削機械の稼働範囲設定システムおよびその制御方法 | |
WO2024204525A1 (ja) | システム、方法およびプログラム | |
KR20240028522A (ko) | 작업 기계를 제어하기 위한 시스템 및 방법 | |
US12084840B2 (en) | System and method for work machine | |
WO2024204509A1 (ja) | システム、方法およびプログラム | |
JP7263287B2 (ja) | 作業機械 | |
WO2023100533A1 (ja) | 画像表示システム、遠隔操作支援システムおよび画像表示方法 | |
WO2023032949A1 (ja) | 制御システム、制御方法および制御プログラム | |
JP2022157472A (ja) | 建設機械 | |
JP2020197045A (ja) | 表示システムおよび表示方法 |