TECHNICAL FIELD
[0001] Various example embodiments generally relate to the field of controlling a loader
for transporting materials. Some example embodiments relate to determining a bucket
fill parameter value for a bucket of the loader based, at least partially, on scanning
data comprising a representation of the bucket of the loader.
BACKGROUND
[0002] In various applications, such as for example underground mining, it may be desired
to move materials from one location to another. A loader may comprise a bucket for
loading and transporting materials, such as waste rock, mineral ore, or the like.
A human operator operating the loader, or another person, may monitor loading in order
to get the bucket filled with a sufficient amount of material before moving it to
the other location.
SUMMARY
[0003] This summary is provided to introduce a selection of concepts in a simplified form
that are further described below in the detailed description. This summary is not
intended to identify key features or essential features of the claimed subject matter,
nor is it intended to be used to limit the scope of the claimed subject matter.
[0004] According to a first aspect, an apparatus for controlling a loader is disclosed.
The apparatus may comprise: at least one processor; and at least one memory including
computer program code, the at least one memory and the computer program code configured
to, with the at least one processor, cause the apparatus at least to: obtain information
on a profile of a bucket of the loader; receive, from a scanning device coupled to
the loader, scanning data comprising a representation of the bucket; determine a position
of the bucket relative to the scanning device; determine a bucket fill parameter value
based on the profile of the bucket, the representation of the bucket, and the position
of the bucket relative to the scanning device; and provide an output based on the
bucket fill parameter value.
[0005] According to a second aspect, a loader is disclosed. The loader may comprise: at
least one processor; and at least one memory including computer program code, the
at least one memory and the computer program code configured to, with the at least
one processor, cause the loader at least to: obtain information on a profile of a
bucket of the loader; receive, from a scanning device coupled to the loader, scanning
data comprising a representation of the bucket; determine a position of the bucket
relative to the scanning device; determine a bucket fill parameter value based on
the profile of the bucket, the representation of the bucket, and the position of the
bucket relative to the scanning device; and provide an output or control the bucket
based on the bucket fill parameter value.
[0006] According to a third aspect, a method for controlling a loader is disclosed. The
method may comprise: obtaining information on a profile of a bucket of the loader;
receiving, from a scanning device coupled to the loader, scanning data comprising
a representation of the bucket; determining a position of the bucket relative to the
scanning device; determining a bucket fill parameter value based on the profile of
the bucket, the representation of the bucket, and the position of the bucket relative
to the scanning device; and providing an output based on the bucket fill parameter
value.
[0007] According to a fourth aspect, an apparatus for controlling a loader is disclosed.
The apparatus may comprise: means for obtaining information on a profile of a bucket
of the loader; means for receiving, from a scanning device coupled to the loader,
scanning data comprising a representation of the bucket; means for determining a position
of the bucket relative to the scanning device; means for determining a bucket fill
parameter value based on the profile of the bucket, the representation of the bucket,
and the position of the bucket relative to the scanning device; and means for providing
an output based on the bucket fill parameter value.
[0008] According to a fifth aspect, a computer program, a computer program product, or a
(non-transitory) computer-readable medium for controlling a loader is disclosed. The
computer program, computer program product, or (non-transitory) computer-readable
medium may comprise program instructions which, when executed by an apparatus, cause
the apparatus at least to: obtain information on a profile of a bucket of the loader;
receive, from a scanning device coupled to the loader, scanning data comprising a
representation of the bucket; determine a position of the bucket relative to the scanning
device; determine a bucket fill parameter value based on the profile of the bucket,
the representation of the bucket, and the position of the bucket relative to the scanning
device; and provide an output based on the bucket fill parameter value.
[0009] According to some aspects, there is provided the subject matter of the independent
claims. Some further aspects are defined in the dependent claims. Many of the attendant
features will be more readily appreciated as they become better understood by reference
to the following description considered in connection with the accompanying drawings.
LIST OF DRAWINGS
[0010] The accompanying drawings, which are included to provide a further understanding
of the example embodiments and constitute a part of this specification, illustrate
example embodiments and, together with the description, help to explain the example
embodiments. In the drawings:
FIG. 1 illustrates an example of a loader;
FIG. 2 illustrates an example of a loader communicatively coupled to a remote control
device;
FIG. 3 illustrates an example of a bucket of a loader;
FIG. 4 illustrates an example of a side view of a scanning device configured to detect
objects above an edge of a bucket of a loader;
FIG. 5 illustrates an example of a method for determining a bucket fill parameter
value for a bucket of a loader;
FIG. 6 illustrates an example of detecting a position of a bucket of a loader;
FIG. 7 illustrates an example of a side view of a scanning device configured to detect
objects above an edge of a bucket of a loader.
FIG. 8 illustrates an example of an apparatus configured to practise one or more example
embodiments; and
FIG. 9 illustrates an example of a method for controlling a loader.
[0011] Like references are used to designate like parts in the accompanying drawings.
DESCRIPTION
[0012] Reference will now be made to embodiments, examples of which are illustrated in the
accompanying drawings. The description provided below in connection with the appended
drawings is intended as a description of the present examples and is not intended
to represent the only forms in which the present example may be constructed or utilized.
The description sets forth the functions of the example and the sequence of steps
for constructing and operating the example. However, the same or equivalent functions
and sequences may be accomplished by different examples.
[0013] A mining loader, or a loader for short, may be used to transport minerals, other
extracted ores, or rock waste during mining. Loaders may have a bucket where the material
is loaded for transporting it to another location. When the material has been loaded
into the bucket, it may be desired to determine the fill rate of the bucket. This
could be done by, for example, a human operator sitting in the cabin of the loader
or personnel on the site manually estimating the fill rate of the bucket, e.g., how
full the bucket is and whether it could carry any more material. Automating the determination
of the fill rate may be however beneficial both in case of autonomous and human-operated
loader machines.
[0014] Example embodiments of the present disclosure enable automatic determination of a
bucket fill rate, e.g., a bucket fill parameter value, thereby improving the overall
speed of the loading process and further improving the accuracy of determining the
fill rate. Furthermore, the example embodiments may enable automatic control of a
loader based on the bucket fill parameter value. For example, an apparatus may be
configured to obtain information on a profile of a bucket of the loader, scanning
data comprising a representation of the bucket of the loader, and a position of the
bucket relative to a scanning device providing the scanning data, in order to determine
a bucket fill parameter value. The scanning data may comprise, for example, an image
of the bucket provided by a camera, or point cloud data of the bucket determined based
on light detection and ranging (lidar) sensor(s). It is appreciated that other forms
of scanning data that represent the bucket may be used.
[0015] FIG. 1 illustrates an example of a loader 100. Example embodiments may relate to
mining loaders; however, it is appreciated that they may be applied to other types
of loaders as well.
[0016] Loader 100 may be an automated loader machine, for example an automated vehicle,
e.g., a mining vehicle, equipped with tools configured for loading and transporting
material. An automated vehicle operating in an automatic mode may be configured to,
for example, receive a task to be performed, perceive (portions) of the environment
of the automated vehicle, and autonomously perform the task while taking the environment
into account. An automated vehicle operating in an automatic mode may be configured
to operate independently but may be taken under external control at certain operation
areas or conditions, such as during states of emergencies. Example embodiments of
the present disclosure may be however applied also in non-autonomous or semi-autonomous
loader machines, for example remote-controlled loader machines.
[0017] Loader 100 may comprise a movable carrier 110 and at least one boom 120 connected
to movable carrier 110. Loader 100 may comprise a bucket, for example coupled to boom
120. Movable carrier 110 may comprise equipment for moving loader 100, such as for
example a motor and wheels. Movable carrier 110 may be configured to move autonomously
or it may be configured to be controlled by a human operator, either remotely or locally
at loader 100. Boom 120 and bucket 122 may be configured to be controlled with, for
example, mechanical switches or manual controllers installed at a user interface of
loader 100 or by a controller 114 (e.g., a control apparatus) configured to control
operation(s) of loader 100. Controller 114 may be also configured to control other
aspects of loader 100, such as parts of movable carrier 110 like the motor and wheels.
[0018] Loader 100 may comprise at least one scanning device 112 for capturing and providing
a representation of bucket 122, or objects around scanning device 112 in general.
Scanning device 112 may be coupled to loader 100 at any suitable position, for example
at the roof of loader 100. Scanning device 112 may comprise, for example, one or more
of the following: one or more cameras, one or more radio detection and ranging (radar)
sensors, or one or more light detection and ranging (lidar) sensors. Scanning device
112 may therefore comprise a single sensor or group of two or more sensors. Scanning
device 112 may be configured to scan bucket 122, for example to detect features of
bucket 122, such as edge(s) 124, 126 of bucket 122. Edge 124 may comprise the edge
furthest from scanning device 112. Edge 126 may comprise the edge closest to scanning
device 112. Edges 124, 126 may be substantially perpendicular to driving direction
of loader 100. Scanning of bucket 122 may comprise scanning with scanning device 112
such that its sensing direction is towards bucket 122.
[0019] It is noted that while FIG. 1 illustrates the scanning direction of scanning device
112 to be substantially perpendicular to edges 124, 126 of bucket 122, scanning device
112 may be installed at loader 100 such that at least one sensor of scanning device
112 is not detecting a fully orthogonal view of edge(s) 124, 126. Furthermore, while
FIG. 1 illustrates that scanning device 112 is used to detect both edges 124, 126,
scanning device 112 may be alternatively configured to detect one of edges 124, 126,
or other edge(s) of bucket 122.
[0020] Scanning device 112 may comprise at least one camera, which may be used to extract
an image of bucket 122, for example edge 124 and/or edge 126. The camera may be alternatively
configured to capture video data comprising a representation of bucket 122, e.g.,
one or more video frames. Alternatively, scanning device 112 may comprise a time-of-flight
(ToF) camera, which may be configured to determine a distance between the camera and
an object, e.g., edge(s) 124, 126, by measuring a round-trip time of an artificial
light signal provided by a laser or a light-emitting diode (LED). A lidar sensor may
be configured to determine a distance to an object by targeting the object with a
laser and measuring the time for the reflected light to return to a receiver of the
lidar sensor. A radar sensor may be configured to transmit electromagnetic energy
towards bucket 122 and to observe the echoes returned from bucket 122. Based on the
scanning, controller 114, or loader 100 in general, may be configured to obtain point
cloud data that represents the scanned environment. The point cloud data may for example
comprise a three-dimensional representation of bucket 122 and/or portions of bucket
122, such as edge(s) 124, 126, or a load carried by bucket 122.
[0021] Scanning device 112, or loader 100 in general, may be configured to scan bucket 122
during loading or during movement of loader 100. Scanning of bucket 122 may be implemented
for example with a simultaneous localization and mapping (SLAM) system, which may
be configured to scan environment of loader 100 to obtain the point cloud data of
surrounding surfaces or objects. The obtained point cloud data may be used for object
detection, e.g., detecting bucket 122, or features thereof, but also for determining
position of loader 100 based on comparing the scanning data to reference data, such
as for example a 3D model of a mining tunnel.
[0022] As already noted above, loader 100 may comprise a controller (C) 114. Controller
114 may be communicatively coupled to scanning device 112, for example to receive
scanned sensor data from scanning device 112, or, to request scanning device 112 to
initiate scanning of bucket 122. Controller 114 may be for example provided as a software
application residing on a memory and being executable by a processor. An example of
an apparatus suitable for implementing controller 114 is provided in FIG. 8. Controller
114 may comprise, or be communicatively coupled to, various functions, blocks, or
applications for implementing functionality of controller 114. For example, controller
114 may comprise or be communicatively coupled to a data management server, which
may be configured to store information such as bucket profile(s) of different buckets
or types of buckets and/or information on position(s) of bucket 122 for determining
the fill rate. A single bucket profile may comprise information on the shape of bucket
122, for example edge(s) of bucket 122 such as edge(s) 124, 126. Controller 114 may
be configured to compare the bucket profile to the scanning data provided by scanning
device 112, for example in order to determine the bucket fill parameter value. Controller
114 may be for example configured to determine a bucket fill parameter value that
indicates bucket 122 not to be sufficiently filled, if controller 114 detects the
representation of edge 124 in the scanning data provided by scanning device 112. Controller
114 may comprise a navigation application configured to control, or enable a human
operator to control, navigation of loader 100, for example to move loader 100 to loading
position and/or to move bucket 122 by controlling boom 120.
[0023] Controller 114 may be configured to obtain position data of bucket 122 indicative
of the position of bucket 122 relative to the scanning device 112. The position data
may comprise, for example, the distance of bucket 122 from scanning device 112, height
of bucket 122 (e.g., vertical distance from ground or scanning device 112), and/or
a tilt angle of bucket 122. The tilt angle may comprise, for example, the current
angle of bucket 122 with respect to a reference, such as ground, boom 120 or scanning
device 112. The tilt angle may be measured for example with respect to an axis horizontal
to ground and perpendicular to driving direction of loader 100. For example, loader
100 may be configured fill or empty bucket 122 by changing the tilt angle of bucket
122.
[0024] Controller 114 may be configured to determine the bucket fill parameter value at
least partially based on the position data, for example considering the relative position
of bucket 122 with respect to scanning device 112. In one example, controller 114
may be configured to enable or disable determination of the bucket fill parameter
value based on the position of bucket 122. For example, when the position data, such
as the tilt angle of bucket 122, is detected to be a certain value or within a certain
range of values, controller 114 may be configured to determine not to determine the
bucket fill parameter value under the current conditions. Controller 114 may be configured
to, for example, move bucket 122 to a more favourable position, in order to enable
determination of the bucket fill parameter value.
[0025] Controller 114 may be configured to determine and/or maintain information on the
profile of bucket 122, such as a 2D or a 3D model of bucket 122, for example parts
thereof (e.g., edge(s) 124, 126). Controller 114 may be configured to determine and/or
maintain a 3D model of boom(s) 120 and/or a kinematic model of loader 100, or component(s)
thereof. A 3D model of bucket 122 of loader 100 may comprise 3D geometry data of bucket
122, obtained for example from a computer aided design (CAD) model of bucket 122.
A 2D model may comprise, for example, a 2D image data of bucket 122, for example edge(s)
of bucket 122 such as edge(s) 124, 126. Controller 114 may be configured to use the
kinematic model to determine the current position of bucket 122 based on control inputs
provided to boom 120 for moving bucket 122.
[0026] Loader 100 may be configured to be controlled by a remote control device 200, which
may be external to loader 100, as illustrated in FIG. 2. Remote control device 200
may be for example a server located remote from loader 100, for example outside the
tunnel. Functionality of controller 114 may be distributed between loader 100, for
example a local controller of loader 100, and remote control device 200. Information
may be exchanged between remote control device 200 and loader 100 over a communication
interface including any suitable wireless or wired connection. Examples of suitable
communication interfaces are described with reference to FIG. 8.
[0027] Controller 114 may be configured to determine and/or maintain information on the
profile of bucket 122, or other various types of buckets configured to be coupled
to loader 100. Information on a profile of a bucket 122 may be referred to as `bucket
profile'. The bucket profile, the 3D model(s), or kinematic model(s) of loader 100
may be stored at controller 114, e.g., a memory of controller 114, for example based
on pre-configuration of the models. Alternatively, controller 114 may be configured
to receive one or more bucket profiles or one or more of the models from loader 100
or a data management server. Example embodiments of the present disclosure may be
thus implemented locally at loader 100 (e.g., by controller 114 integrated at loader
100), by loader 100, by remote control device 200, or by a system comprising loader
100 and remote control device 200. Configuration of bucket profile data for particular
bucket(s) of bucket type(s) provides the benefit of enabling automatic determination
of the bucket fill parameter value for those bucket(s) or bucket type(s), while preventing
such automatization with unknown buckets such as counterfeit buckets.
[0028] FIG. 3 illustrates an example of a bucket 122 and an example of bucket profile data.
In this example, the bucket profile comprises shape information 300 of edge 126, which
may be the edge closest to movable carrier 110 and/or scanning device 112 when bucket
122 is installed to loader 100. It is appreciated that the bucket profile may comprise
information on other edge(s) of bucket 122, for example edge 124, which may be the
furthest edge from movable carrier 110 and/or scanning device 112 when bucket 122
is installed to loader 100.
[0029] FIG. 4 illustrates a side-view of scanning device 112 and bucket 122. Scanning device
112 may be configured to detect representations of bucket 122 and/or a load carried
by bucket 122 in the scanning data. The scanning data may comprise, for example, point
cloud data obtained based on reflections of scanning beams 402. Scanning beams 402
may comprise, for example, light beams emitted by a lidar, or electromagnetic waves
provided by a radar. Alternatively, scanning device 112 may be configured to capture
an image or video comprising a representation of bucket 122.
[0030] Controller 114 may be configured to determine that bucket 122 is sufficiently filled,
in response to detecting an object above the level of edge 126, when bucket 122 is
in such a position that edge 124 is obstructed by edge 126 when viewed from the position
of scanning device 112. Alternatively, when the bucket profile comprises shape information
of both edges 124, 126, controller 114 may be configured to determine that bucket
122 is sufficiently filled, in response to detecting representation of edge 126 data
but not detecting representation of edge 124, when bucket 122 is in a position where
edge 124 is not hindered by edge 126.
[0031] Furthermore, controller 114 may be configured to determine the bucket fill rate,
e.g., the bucket fill parameter value, based on determining how much the detected
objects (e.g., load) are above the representation of edge 126. For example, controller
114 may be configured to determine the bucket fill parameter value to be 100%, in
response to detecting an object above the representation of edge 126 by a certain
margin such as 50 cm, as will be further discussed with reference to FIG. 7. On the
other hand, controller 114 may be configured to determine that bucket 122 is not empty,
in response to detecting object(s) above the representation of edge 126. The bucket
fill parameter value may comprise information on whether bucket 122 is sufficiently
full and/or how full bucket 122 is, for example as a percentage value, a boolean value
(e.g., full/not full), or the like.
[0032] FIG. 5 illustrates an example of a method for determining a bucket fill parameter
value. Even though example embodiments have been described to be configured to be
performed by controller 114, it is understood that operation(s) of FIG. 5 may be performed
by any suitable device, such as loader 100, remote control device 200, or a combination
of devices.
[0033] At operation 501, controller 114 may be configured to obtain a bucket profile comprising
information on a profile of a bucket 122 of loader 100, for example shape information
300 of edge 126. Controller 114 may be configured to obtain the bucket profile based
on a model of bucket 122. The bucket profile may comprise, for example, a 2D image
of an edge of bucket 122, or a 3D model, such as a CAD model, of bucket 122.
[0034] Controller 114 may be configured to determine the bucket profile based on the type
of bucket 122. Controller 114 may be configured to receive an indication on the type
of bucket 122, for example via a user interface. Controller 114 may be configured
to retrieve bucket profile from a memory associated with controller 114, for example
a memory of loader 100, for example based on the indication of the type of bucket
122 received, for example, via the user interface. Alternatively, controller 114 may
be configured to obtain the bucket profile, for example via a communication interface
(e.g., from a remote server). Controller 114 may be configured to use the bucket profile
as a reference for detecting the representation of bucket 122, or part(s) thereof,
from the scanning data.
[0035] Alternatively, controller 114 may be configured to obtain the bucket profile based
on the representation of bucket 122 in scanning data obtained without a load in bucket
122. For example, controller 114 may be configured to cause scanning of bucket 122
before loading any material in bucket 122. Controller 112 may be configured to detect
and store the representation of bucket 122, e.g., shape information of part(s) thereof,
as the bucket profile. The bucket profile may for example comprise image data of bucket
122 captured by a camera or point-cloud data obtained based on a lidar or radar. Controller
114 may be configured to detect the representation of bucket 122 in the scanning data
based on detecting an object located at a particular distance from scanning device
112. Controller 114 may be configured to determine the distance based on the current
position of bucket 122.
[0036] At operation 502, controller 114 may be configured to receive scanning data comprising
the representation of bucket 122. Controller 114 may be configured to receive the
scanning data from scanning device 112. The scanning data may comprise image data,
video data, or 3D scanning data (e.g., point cloud data), obtained for example by
scanning device 112. Controller 114 may be configured to control scanning of bucket
122 to obtain the scanning data. Controller 114 may be configured to cause scanning
of bucket 122, for example by transmitting, to scanning device 112, a request to initiate
scanning.
[0037] Scanning device 112 may be positioned such that its sensor signal(s) are configured
to be directed to bucket 122, when loader 100 is operated. Scanning data may comprise
data captured by scanning device 112 during the scanning of bucket 122. Controller
114 may be configured to obtain the scanning data, for example by receiving the scanning
data from scanning device 112. Controller 114 may be however configured to process,
for example select or filter, raw sensor data provided by scanning device 112 to obtain
the scanning data.
[0038] Controller 114 may be configured to cause scanning of bucket 122 when loader 100
is in operation. For example, controller 114 may be configured to cause scanning of
bucket 122 during a loading operation or after a loading operation. Controller 114
may be for example configured to cause scanning of bucket 122, in response to receiving
a control signal that indicates termination of a particular loading operation, which
is configured to trigger the scanning.
[0039] For example, control apparatus 114 may be configured to cause scanning of bucket
122 to obtain the scanning data, in response to determining that loader 100 is at
a particular point in a loading sequence, for example finished with a configured loading
operation. A loading sequence may comprise a sequence of operations configured to
be performed by loader 100, for example one or more of the following: approaching
a loading position, loading bucket 122, lifting bucket 122 to a position for transport,
transporting the load to a dumping position, or emptying bucket 122 at the dumping
position. For example, controller 114 may be configured to cause the scanning, in
response to completing loading of bucket 112 or lifting bucket 122 to the position
for transport. This provides the benefit of enabling determination of the bucket fill
parameter value after a configured loading operation. Note that controller 114 may
be configured to post-process the scanning data to another format, for example to
enable comparison with the shape information of the bucket profile.
[0040] At operation 503, control apparatus 114 may be configured to determine the position
of bucket 122 relative to scanning device 112. Controller 114 may be for example configured
to monitor movement of bucket 122 and/or boom 120, in order to track the position
of bucket 122. The position of bucket 122 may comprise one or more of the following:
the distance between bucket 122 and scanning device 112, the height of bucket 122
(e.g., from ground or as relative height with respect to height level of scanning
device 112), the orientation (e.g., the tilt angle) of bucket 122. Controller 114
may be configured to monitor movement of bucket 122 and/or boom 120, for example based
on control instructions provided for controlling movement of bucket 122 and/or boom
120.
[0041] Even though operation 502 has been illustrated to be performed before operation 503,
it is also possible, that controller 114 is configured to cause the scanning to be
initiated after, e.g., in response to, determining the position of bucket relative
to scanning device 112 (cf., operation 503). This provides the benefit of enabling
the scanning to be directed to bucket 122. For example, controller 114 may be configured
to control direction of a camera or signals generated by a lidar or radar such that
they are pointed towards bucket 122. This provides the benefit on enabling to improve
scanning accuracy. Alternatively, controller 114 may be configured to determine the
position of bucket 122 from scanning data by applying any suitable computer vision
or pattern recognition algorithm(s).
[0042] Alternatively, one or more detection units 600, e.g., markers, may be coupled to
bucket 122, e.g., the edge closest to scanning device 112, as illustrated in FIG.
6. Controller 114 may be configured to determine the position of bucket 122 by monitoring
position of the detection unit(s) 600 in the scanning data. It is noted that these
are only a few examples provided for determining the position of bucket 122 relative
to scanning device 112. As noted above, other methods may comprise, for example, controller
114 being configured to determine the position of bucket 122 by monitoring movement
of bucket 122, for example based on control signals of actuator(s) of boom 120.
[0043] At operation 504, controller 114 may be configured to detect the representation of
bucket 122, e.g., particular parts such as edge(s) 124, 126 of bucket 122, in the
scanning data. Controller 114 may be for example configured to mathematically compare
the shape information of the bucket profile with the scanning data to find the representation
of the bucket in the scanning data. This may be performed by any suitable computer
vision methods such as pattern recognition. Controller 114 may be further configured
to detect a representation of the load carried in bucket 122. Controller 114 may be
configured to detect the representation of the load, for example by detecting object(s)
at substantially same depth as bucket 122. Depth may refer to distance of an object
from scanning device 112.
[0044] At operation 505, control apparatus 114 may be configured to determine the bucket
fill parameter value based on the bucket profile, the scanning data, and the position
of bucket 122 relative to scanning device 112. The bucket fill parameter value may
comprise, for example, digital value(s) that may be stored on a memory of a computer,
or the like. The bucket fill parameter value may comprise an indication of whether
bucket 122 has been sufficiently filled or not, or to which extent bucket 122 has
been filled (e.g., fill rate). Any suitable data format may be used, such as a Boolean
value (e.g., full/not full), a percentage value indicating the fill rate, or an enumeration
value indicating a fill state of bucket 122 (e.g., empty, partially empty, partially
full, full, overfilled, etc.).
[0045] Controller 114 may be configured to determine the bucket fill parameter value for
example based on whether a representation of the edge of bucket 122 furthest from
scanning device 112 is detected in the scanning data. In this case the bucket profile
may comprise shape information of edge 124. Controller 114 may be configured to determine
bucket 122 not to be sufficiently filled (e.g., as being empty), in response to detecting
edge 124. Controller 114 may be configured to determine bucket 122 to be sufficiently
filled (e.g., as being full), in response to not detecting edge 124.
[0046] It is however noted that controller 114 may be configured to take the position of
bucket 122 into account when determining the bucket fill parameter value. Controller
114 may be for example configured to enable determination of the bucket fill parameter
value, in response to determining that edge 124 would be detectable to scanning device
112 if bucket 122 were empty. For example, controller 114 may be configured to enable
determination of the bucket fill parameter value based on edge 124, in response to
determining that edge 126 is below a straight line between scanning device 112 and
edge 124. Controller 114 may be configured to disable determination of the bucket
fill parameter value based on edge 124, in response to determining that edge 126 is
above the straight line scanning device 112 to edge 124. Controller 112 may be configured
to cause bucket 122 to be moved (e.g., lowered) to a position, where edge 126 is below
the straight line from scanning device 112 to edge 124, before obtaining the scanning
data and determining the bucket fill parameter value.
[0047] Alternatively, controller 114 may be configured to determine the bucket fill parameter
value based on representations of edge 126 and the load (e.g., without considering
edge 124). In this case the bucket profile may comprise shape information of edge
126. Controller 114 may be for example configured to determine bucket 122 to be sufficiently
filled, in response to detecting, based on the representation of bucket 122 and the
scanning data (e.g., the representation of the load carried by bucket 122), that the
load is higher than edge 126. Controller 114 may be configured to determine the load
to be higher than the level of the edge 126, for example in response to determining
that the highest point of the representation of the load exceeds the level of edge
126, optionally by a configured margin. The margin may be an absolute margin or a
margin relative to dimension(s) of bucket 122. Controller 114 may be for example configured
to determine bucket 122 to be sufficiently filled, if the load exceeds the level of
edge 124 by a configured number of pixels. Accordingly, controller 114 may be configured
to set the bucket fill parameter value to indicate bucket 122 to be sufficiently filled.
[0048] Controller 114 may be configured to determine the margin for detecting the load to
be higher than edge 126 based on the position of bucket 122. The margin (e.g., the
number of pixels) may be therefore dependent on the position (e.g., height, distance,
and/or tilt angle) of bucket 122. For example, controller 114 may be configured to
decrease the margin, in response to causing or detecting bucket 122 to move lower.
Controller 114 may be configured to increase the margin, in response to causing or
detecting bucket 122 to move higher. Controller 114 may be configured to decrease
the margin, in response to causing or detecting tilt angle of bucket 122 to change
such that edge 126 moves higher. Controller 114 may be configured to increase the
margin, in response to causing or detecting tilt angle of bucket 122 to change such
that edge 126 moves lower. Controller 114 may be configured to decrease a margin provided
in pixels, in response to causing or detecting bucket 122 to move away from scanning
device 112. Controller 114 may be configured to increase the margin provided in pixels,
in response to causing or detecting bucket 122 to move closer to scanning device 112.
Using the margin provides the benefit of allowing desired overfilling of bucket 122.
Configuring the margin based on the position of bucket 122 provides the benefit of
enabling accurate determination of the fill rate regardless of the position of bucket
122.
[0049] FIG. 7 illustrates an example of a side view of a scanning device configured to detect
objects above an edge of a bucket of a loader. As described above, controller 114
may be configured to determine the bucket fill parameter value based on detecting
load 702 above representation of edge 126, optionally considering a margin to the
level of edge 126. In this example, controller 114 may be configured to determine
bucket 122 to be partially full (e.g., not sufficiently filled) even though controller
114 detects an object 702 above the level of edge 126. This is because the highest
point of object 702 is still below the margin. Note that the margin (e.g., number
of pixels in case of image data) may be dependent on height
h, distance
d, and/or tilt angle
α of bucket 122. Height
h may comprise, for example, a vertical distance between scanning device 112 and bucket
122. The vertical distance between scanning device 112 and bucket 122 may comprise
the distance of bucket 122 from a horizontal plane intersecting scanning device 112.
Height
h may alternatively comprise height of bucket 112 from ground, i.e., the vertical distance
of bucket 112 from the ground.
[0050] Alternatively, controller 114 might be configured to determine the bucket fill parameter
value based on representations of both edges 124, 126 in this case, controller 114
may be configured to determine bucket 122 not to be sufficiently full, because controller
114 is able to detect representation of edge 124, even though object 702 is above
the level of edge 126.
[0051] Controller 114 may be configured to provide an output based on the bucket fill parameter
value. FIG. 5 illustrates three examples of an output provided based on the bucket
fill parameter value determined at operation 505.
[0052] The output may comprise an output for controlling loader 100 (e.g., bucket 122).
An output for controlling loader 100 may comprise an output configured to assist controlling
loader 100, for example during the loading sequence. The output for controlling loader
100 may comprise the determined bucket fill parameter value, a query for an operator
of loader 100 for controlling loader 100, or an output (e.g., a control signal) configured
to control loader 100, as will be further described with reference to operations 506,
507, and 508.
[0053] At operation 506 controller 114 may be configured to output the bucket fill parameter
value itself. When control apparatus 114 is located at loader 100, control apparatus
114 may be configured to provide the output over an internal communication interface
(e.g., a data bus) of loader 100, for example to another subsystem of loader 100.
Alternatively, or additionally, control apparatus 114 may be configured to output
the bucket fill parameter value by transmitting it over an external communication
interface of loader 100, for example to remote control device 200. The other subsystem
or remote control device 200 may be configured to control loader 110 based on the
bucket fill parameter value, for example as described with reference to operation
507. When controller 114 is located external to loader 100, e.g., at remote control
device 200, controller 114 may be configured to output the bucket fill parameter value
by transmitting it to loader 100. In this case, loader 114 may be configured to control
its operations based on the bucket fill parameter value. Transmission of the bucket
fill parameter value over an internal or external communication interface is provided
as an example of outputting the bucket fill parameter value. Alternatively, controller
114 may be configured to output the bucket fill parameter value within a computer
to a software component of loader 100.
[0054] At operation 507, the output provided by controller 114 may comprise a control signal
to, for example, loader 100, or component(s) thereof. The control signal may comprise
command(s) for performing particular operation(s) relating to loading, such as to
empty bucket 122, refill bucket 122, shake bucket 122, further fill bucket 122, and/or
a command to proceed to a next operation of loading sequence, for example to move
loader 100 to a location for dumping the load.
[0055] At operation 508, the output provided by controller 114 may comprise a query for
an operator of loader 100. Controller 114 may be configured to cause the query to
be provided to the operator via a user interface (e.g., display) of loader 100. The
query may comprise, for example, a query to empty bucket 122, a query to refill bucket
122, a query to shake bucket 122, a query to further fill bucket 122 and/or a query
to proceed to next operation of the loading sequence. Controller 114 may be configured
to obtain input as a response to the query from an operator via, for example, a user
interface such as a touchscreen or a keyboard.
[0056] Some operations of FIG. 5 may be optional and the operations may be also performed
in different order, where appropriate. For example, control apparatus 114 may be configured
to determine position of bucket 122 relative to scanning device 112 before receiving
the scanning data and/or obtaining the bucket profile. Controller 114 may be configured
to perform one or more of operations 506 to 508 or terminate the method after operation
505.
[0057] FIG. 8 illustrates an example of an apparatus 800 configured to practise one or more
example embodiments. Apparatus 800 may be or comprise a control device, such as for
example a server, communicatively coupled to loader 100, a control apparatus located
at loader 100, controller 114, loader 100 itself, or in general any apparatus or system
configured to implement the functionality described herein. Although apparatus 800
is illustrated as a single device, it is appreciated that, wherever applicable, functions
of apparatus 800 may be distributed to a plurality of physically separate apparatuses,
for example loader 100 and remote control device 200.
[0058] Apparatus 800 may comprise at least one processor 802. The at least one processor
802 may comprise, for example, one or more of various processing devices, such as
for example a co-processor, a microprocessor, a controller, a digital signal processor
(DSP), a processing circuitry with or without an accompanying DSP, or various other
processing devices including integrated circuits such as, for example, an application
specific integrated circuit (ASIC), a field programmable gate array (FPGA), a microcontroller
unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like.
[0059] Apparatus 800 may further comprise at least one memory 804. The at least one memory
804 may be configured to store, for example, computer program code or the like, for
example operating system software and application software. The at least one memory
804 may comprise one or more volatile memory devices, one or more non-volatile memory
devices, and/or a combination thereof. For example, the memory may be embodied as
magnetic storage devices (such as hard disk drives, etc.), optical magnetic storage
devices, or semiconductor memories (such as mask ROM, PROM (programmable ROM), EPROM
(erasable PROM), flash ROM, RAM (random access memory), etc.). Memory 804 is provided
as an example of a (non-transitory) computer readable medium. The term "non-transitory,"
as used herein, is a limitation of the medium itself (i.e., tangible, not a signal)
as opposed to a limitation on data storage persistency (e.g., RAM vs. ROM). The at
least one memory 804 may be also embodied separate from apparatus 800, for example
as a computer readable (storage) medium, examples of which include memory sticks,
compact discs (CD), or the like.
[0060] When apparatus 800 is configured to implement some functionality, some component
and/or components of apparatus 800, such as for example the at least one processor
802 and/or the at least one memory 804, may be configured to implement this functionality.
Furthermore, when the at least one processor 802 is configured to implement some functionality,
this functionality may be implemented using program code 806 comprised, for example,
in the at least one memory 804.
[0061] The functionality described herein may be performed, at least in part, by one or
more computer program product components such as software components. According to
an example embodiment, apparatus 800 comprises a processor or processor circuitry,
such as for example a microcontroller, configured by the program code 806, when executed,
to execute the embodiments of the operations and functionality described herein. Program
code 806 is provided as an example of instructions which, when executed by the at
least one processor 802, cause performance of apparatus 800.
[0062] For example, control apparatus 114 may be at least partially implemented as program
code 806 configured to cause apparatus 800 to perform functionality of controller
114. Similarly, transmission or reception of data (e.g., scanning data, obtaining
the bucket profile, or the like) over an internal or external communication interface
of loader 100 may be controlled by software.
[0063] Alternatively, or in addition, the functionality described herein can be performed,
at least in part, by one or more hardware logic components. For example, and without
limitation, illustrative types of hardware logic components that can be used include
field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs),
application-specific standard products (ASSPs), system-on-a-chip systems (SOCs), complex
programmable logic devices (CPLDs), graphics processing units (GPUs), neural processing
unit (NPU), tensor processing unit (TPU), or the like.
[0064] Apparatus 800 may comprise a communication interface 808 configured to enable apparatus
800 to transmit and/or receive information. Communication interface 808 may comprise
an internal or external communication interface, such as for example a radio interface
between loader 100 and remote control device 200. Apparatus 800 may further comprise
other components and/or functions such as for example user interface 810 comprising
at least one input device and/or at least one output device. The input device may
take various forms such as a keyboard, a touch screen, or one or more embedded control
buttons. The output device may for example comprise a display, a speaker, or the like.
User interface 810 may enable a human operator to monitor various functions and data,
such as for example determined bolt positions, positions of already installed bolts,
or the like.
[0065] Apparatus 800 may be configured to perform or cause performance of any aspect of
the method(s) described herein. Further, a computer program or a computer program
product may comprise instructions for causing, when executed by apparatus 800, apparatus
800 to perform any aspect of the method(s) described herein. Further, apparatus 800
may comprise means for performing any aspect of the method(s) described herein. In
one example, the means comprises the at least one processor 802, the at least one
memory 804 including program code 806 (instructions) configured to, when executed
by the at least one processor 802, cause apparatus 800 to perform the method(s). In
general, computer program instructions may be executed on means providing generic
processing functions. Such means may be embedded for example in a computer, a server,
or the like. The method(s) may be thus computer-implemented, for example based algorithm(s)
executable by the generic processing functions, an example of which is the at least
one processor 802. Apparatus 800 may comprise means for transmitting or receiving
information, for example one or more wired of wireless (e.g. radio) transmitters or
receivers, which may be coupled or be configured to be coupled to one or more antennas,
or transmitter(s) or receiver(s) of a wired communication interface.
[0066] According to a first aspect, apparatus may be configured to control a loader, e.g.,
a loading machine. The apparatus may comprise: at least one processor; and at least
one memory including computer program code, the at least one memory and the computer
program code configured to, with the at least one processor, cause the apparatus at
least to: obtain information on a profile of a bucket of the loader; receive, from
a scanning device coupled to the loader, scanning data comprising a representation
of the bucket; determine a position of the bucket relative to the scanning device;
determine a bucket fill parameter value based on the profile of the bucket, the representation
of the bucket, and the position of the bucket relative to the scanning device; and
provide an output based on the bucket fill parameter value.
[0067] According to an example embodiment of the first aspect, the output comprises the
bucket fill parameter value, a control signal configured to control the loader or
a query configured to be provided to an operator of the loader via a user interface
of the loader for controlling the loader.
[0068] According to an example embodiment of the first aspect, the control signal comprises
at least one of: a command to empty the bucket, a command to refill the bucket, a
command to shake the bucket, a command to further fill the bucket, or a command to
proceed to a next operation of a loading sequence.
[0069] According to an example embodiment of the first aspect, the query comprises at least
one of: a query to empty the bucket, a query to refill the bucket, a query to shake
the bucket, a query to further fill the bucket, or a query to proceed to a next operation
of a loading sequence.
[0070] According to an example embodiment of the first aspect, the scanning device comprises
at least one camera, at least one radio detection and ranging sensor, or at least
one light detection and ranging sensor.
[0071] According to an example embodiment of the first aspect, the scanning data comprises
image data, video data, or point cloud data.
[0072] According to an example embodiment of the first aspect, the information on the profile
of the bucket comprises shape information of an edge of the bucket closest to the
scanning device.
[0073] According to an example embodiment of the first aspect, the computer program code
is configured to, with the at least one processor, cause the apparatus to: determine
the bucket fill parameter value to indicate the bucket to be sufficiently filled,
in response to detecting, based on the representation of the bucket and the scanning
data, that a load carried by the bucket is higher than the edge of the bucket closest
to the scanning device.
[0074] According to an example embodiment of the first aspect, the computer program code
is configured to, with the at least one processor, cause the apparatus to: determine
the bucket fill parameter value to indicate the bucket to be sufficiently filled,
in response to detecting, based on the representation of the bucket and the image
data, that a level of the load carried by the bucket exceeds a level of the edge of
the bucket closest to the scanning device by a configured number of pixels.
[0075] According to an example embodiment of the first aspect, the configured number of
pixels is dependent on the position of the bucket.
[0076] According to an example embodiment of the first aspect, the information on the profile
of the bucket comprises shape information of an edge of the bucket furthest from the
scanning device.
[0077] According to an example embodiment of the first aspect, the computer program code
is configured to, with the at least one processor, cause the apparatus to: determine
the bucket fill parameter value to indicate the bucket not to be sufficiently filled,
in response to detecting a representation of the edge of the bucket furthest from
the scanning device in the scanning data.
[0078] According to an example embodiment of the first aspect, the computer program code
is configured to, with the at least one processor, cause the apparatus to: obtain
the information on the profile of the bucket based on a three-dimensional model of
the bucket; determine the information on the profile of the bucket based on a type
of the bucket; or determine the information on the profile of the bucket based on
the representation of the bucket in scanning data obtained without a load in the bucket.
[0079] According to a second aspect, a loader comprises the apparatus according to any example
embodiment of the first aspect. For example, the loader may comprise: at least one
processor; and at least one memory including computer program code, the at least one
memory and the computer program code configured to, with the at least one processor,
cause the loader at least to: cause the apparatus at least to: obtain information
on a profile of a bucket of the loader; receive, from a scanning device coupled to
the loader, scanning data comprising a representation of the bucket; determine a position
of the bucket relative to the scanning device; determine a bucket fill parameter value
based on the profile of the bucket, the representation of the bucket, and the position
of the bucket relative to the scanning device; and provide an output or control the
bucket based on the bucket fill parameter value.
[0080] FIG. 9 illustrates an example of a method for controlling a loader, according to
a third aspect of the present disclosure. The method may comprise a computer-implemented
method performed by, for example, apparatus 800 such as controller 114.
[0081] At 901, the method may comprise obtaining information on a profile of a bucket of
the loader.
[0082] At 902, the method may comprise receiving, from a scanning device coupled to the
loader, scanning data comprising a representation of the bucket.
[0083] At 903, the method may comprise determining a position of the bucket relative to
the scanning device.
[0084] At 904, the method may comprise determining a bucket fill parameter value based on
the profile of the bucket, the representation of the bucket, and the position of the
bucket relative to the scanning device.
[0085] At 905, the method may comprise providing an output based on the bucket fill parameter
value.
[0086] According to an example embodiment of the third aspect, the output may comprise the
bucket fill parameter value, a control signal configured to control the loader or
a query configured to be provided to an operator of the loader via a user interface
of the loader for controlling the loader.
[0087] According to an example embodiment of the third aspect, the control signal may comprise
at least one of: a command to empty the bucket, a command to refill the bucket, a
command to shake the bucket, a command to further fill the bucket, or a command to
proceed to a next operation of a loading sequence.
[0088] According to an example embodiment of the third aspect, the query may comprise at
least one of: a query to empty the bucket, a query to refill the bucket, a query to
shake the bucket, a query to further fill the bucket, or a query to proceed to a next
operation of a loading sequence.
[0089] According to an example embodiment of the third aspect, the scanning device may comprise
at least one camera, at least one radio detection and ranging sensor, or at least
one light detection and ranging sensor.
[0090] According to an example embodiment of the third aspect, the scanning data may comprise
image data, video data, or point cloud data.
[0091] According to an example embodiment of the third aspect, the information on the profile
of the bucket may comprise shape information of an edge of the bucket closest to the
scanning device.
[0092] According to an example embodiment of the third aspect, the method may comprise:
determining the bucket fill parameter value to indicate the bucket to be sufficiently
filled, in response to detecting, based on the representation of the bucket and the
scanning data, that a load carried by the bucket is higher than the edge of the bucket
closest to the scanning device.
[0093] According to an example embodiment of the third aspect the method may comprise: determining
the bucket fill parameter value to indicate the bucket to be sufficiently filled,
in response to detecting, based on the representation of the bucket and the image
data, that a level of the load carried by the bucket exceeds a level of the edge of
the bucket closest to the scanning device by a configured number of pixels.
[0094] According to an example embodiment of the third aspect, the configured number of
pixels may be dependent on the position of the bucket. For example, the method may
comprise determining the number of pixels based on the position of the bucket.
[0095] According to an example embodiment of the third aspect, the information on the profile
of the bucket may comprise shape information of an edge of the bucket furthest from
the scanning device.
[0096] According to an example embodiment of the third aspect, the method may comprise:
determining the bucket fill parameter value to indicate the bucket not to be sufficiently
filled, in response to detecting a representation of the edge of the bucket furthest
from the scanning device in the scanning data.
[0097] According to an example embodiment of the third aspect, the method may comprise:
obtaining the information on the profile of the bucket based on a three-dimensional
model of the bucket; determine the information on the profile of the bucket based
on a type of the bucket; or determine the information on the profile of the bucket
based on the representation of the bucket in scanning data obtained without a load
in the bucket.
[0098] The method may be performed by control apparatus 114, loader 100, or remote control
device 200, for example based on program code 806, when executed by processor 802.
Various examples of the methods are explained above with regard to functionalities
of controller 114, loader 100, and/or remote control device 200, and are therefore
not repeated here. It should be understood that example embodiments described may
be combined in different ways unless explicitly disallowed.
[0099] According to a fourth aspect, an apparatus may comprise means for obtaining information
on a profile of a bucket of the loader; means for receiving, from a scanning device
coupled to the loader, scanning data comprising a representation of the bucket; means
for determining a position of the bucket relative to the scanning device; means for
determining a bucket fill parameter value based on the profile of the bucket, the
representation of the bucket, and the position of the bucket relative to the scanning
device; and means for providing an output based on the bucket fill parameter value.
The apparatus may comprise means for performing any example embodiment of the method
of the third aspect.
[0100] According to a fifth aspect, a computer program, a computer program product, or a
(non-transitory) computer-readable medium is disclosed. The computer program, computer
program product, or (non-transitory) computer-readable medium may comprise program
instructions which, when executed by an apparatus, cause the apparatus at least to:
obtain information on a profile of a bucket of the loader; receive, from a scanning
device coupled to the loader, scanning data comprising a representation of the bucket;
determine a position of the bucket relative to the scanning device; determine a bucket
fill parameter value based on the profile of the bucket, the representation of the
bucket, and the position of the bucket relative to the scanning device; and provide
an output based on the bucket fill parameter value. The computer program, the computer
program product, or the (non-transitory) computer-readable medium may comprise program
instructions which, when executed by an apparatus, cause the apparatus to perform
any example embodiment of the method of the third aspect.
[0101] Although the subject matter has been described in language specific to structural
features and/or acts, it is to be understood that the subject matter defined in the
appended claims is not necessarily limited to the specific features or acts described
above. Rather, the specific features and acts described above are disclosed as examples
of implementing the claims and other equivalent features and acts are intended to
be within the scope of the claims.
[0102] It will be understood that the benefits and advantages described above may relate
to one embodiment or may relate to several embodiments. The embodiments are not limited
to those that solve any or all of the stated problems or those that have any or all
of the stated benefits and advantages. It will further be understood that reference
to 'an' item may refer to one or more of those items.
[0103] The steps or operations of the methods described herein may be carried out in any
suitable order, or simultaneously where appropriate. Additionally, individual blocks
may be deleted from any of the methods without departing from the scope of the subject
matter described herein. Aspects of any of the example embodiments described above
may be combined with aspects of any of the other example embodiments described to
form further example embodiments without losing the effect sought.
[0104] The term 'comprising' is used herein to mean including the method, blocks, or elements
identified, but that such blocks or elements do not comprise an exclusive list and
a method or apparatus may contain additional blocks or elements.
[0105] As used herein, "at least one of the following: <a list of two or more elements>"
and "at least one of <a list of two or more elements>" and similar wording, where
the list of two or more elements are joined by "and" or "or", mean at least any one
of the elements, or at least any two or more of the elements, or at least all the
elements. Term "or" may be understood to also cover a case where both of the items
separated by "or" are included. Hence, "or" may be understood as an inclusive "or"
rather than an exclusive "or".
[0106] Although subjects may be referred to as 'first' or 'second' subjects, this does not
necessarily indicate any order or importance of the subjects. Instead, such attributes
may be used solely for the purpose of making a difference between subj ects.
[0107] It will be understood that the above description is given by way of example only
and that various modifications may be made by those skilled in the art. The above
specification, examples and data provide a complete description of the structure and
use of exemplary embodiments. Although various embodiments have been described above
with a certain degree of particularity, or with reference to one or more individual
embodiments, those skilled in the art could make numerous alterations to the disclosed
embodiments without departing from scope of this specification.
1. An apparatus for controlling a loader, the apparatus comprising:
at least one processor; and
at least one memory including program code, the at least one memory and the computer
program code configured to, with the at least one processor, cause the apparatus at
least to:
obtain information on a profile of a bucket of the loader;
receive, from a scanning device coupled to the loader, scanning data comprising a
representation of the bucket;
determine a position of the bucket relative to the scanning device;
determine a bucket fill parameter value based on the profile of the bucket, the representation
of the bucket, and the position of the bucket relative to the scanning device; and
provide an output based on the bucket fill parameter value.
2. The apparatus according to claim 1, wherein the output comprises the bucket fill parameter
value, a control signal configured to control the loader, or a query configured to
be provided to an operator of the loader via a user interface of the loader for controlling
the loader.
3. The apparatus according to claim 2, wherein the control signal comprises at least
one of:
a command to empty the bucket,
a command to refill the bucket,
a command to shake the bucket, a
command to further fill the bucket, or
a command to proceed to a next operation of a loading sequence; or
wherein the query comprises at least one of:
a query to empty the bucket,
a query to refill the bucket,
a query to shake the bucket,
a query to further fill the bucket, or
a query to proceed to a next operation of a loading sequence.
4. The apparatus according to any preceding claim, wherein the scanning device comprises
at least one camera, at least one radio detection and ranging sensor, or at least
one light detection and ranging sensor.
5. The apparatus of any preceding claim, wherein the scanning data comprises image data,
video data, or point cloud data.
6. The apparatus according to any preceding claim, wherein the information on the profile
of the bucket comprises shape information of an edge of the bucket closest to the
scanning device.
7. The apparatus according to claim 6, wherein the computer program code is further configured
to, with the at least one processor, cause the apparatus to:
determine the bucket fill parameter value to indicate the bucket to be sufficiently
filled, in response to detecting, based on the representation of the bucket and the
scanning data, that a load carried by the bucket is higher than the edge of the bucket
closest to the scanning device.
8. The apparatus according to claim 7, wherein the scanning data comprises image data,
and wherein the computer program code is further configured to, with the at least
one processor, cause the apparatus to:
determine the bucket fill parameter value to indicate the bucket to be sufficiently
filled, in response to detecting, based on the representation of the bucket and the
image data, that a level of the load carried by the bucket exceeds a level of the
edge of the bucket closest to the scanning device by a configured number of pixels.
9. The apparatus according to claim 8, wherein the configured number of pixels is dependent
on the position of the bucket.
10. The apparatus according to any preceding claim, wherein the information on the profile
of the bucket comprises shape information of an edge of the bucket furthest from the
scanning device.
11. The apparatus of claim 10, wherein the computer program code is further configured
to, with the at least one processor, cause the apparatus to:
determine the bucket fill parameter value to indicate the bucket not to be sufficiently
filled, in response to detecting a representation of the edge of the bucket furthest
from the scanning device in the scanning data.
12. The apparatus according to any preceding claim, wherein the computer program code
is further configured to, with the at least one processor, cause the apparatus to:
obtain the information on the profile of the bucket based on a three-dimensional model
of the bucket;
determine the information on the profile of the bucket based on a type of the bucket;
or
determine the information on the profile of the bucket based on the representation
of the bucket in scanning data obtained without a load in the bucket.
13. A loader comprising the apparatus according to any of claims 1 to 12.
14. A method for controlling a loader, the method comprising:
obtaining information on a profile of a bucket of the loader;
receiving, from a scanning device coupled to the loader, scanning data comprising
a representation of the bucket;
determining a position of the bucket relative to the scanning device;
determining a bucket fill parameter value based on the profile of the bucket, the
representation of the bucket, and the position of the bucket relative to the scanning
device; and
providing an output based on the bucket fill parameter value.
15. A computer program comprising instructions which, when executed by an apparatus, cause
the apparatus at least to:
obtain information on a profile of a bucket of the loader;
receive, from a scanning device coupled to the loader, scanning data comprising a
representation of the bucket;
determine a position of the bucket relative to the scanning device;
determine a bucket fill parameter value based on the profile of the bucket, the representation
of the bucket, and the position of the bucket relative to the scanning device; and
provide an output based on the bucket fill parameter value.