WO2022145142A1 - 荷役車両システム - Google Patents
荷役車両システム Download PDFInfo
- Publication number
- WO2022145142A1 WO2022145142A1 PCT/JP2021/042040 JP2021042040W WO2022145142A1 WO 2022145142 A1 WO2022145142 A1 WO 2022145142A1 JP 2021042040 W JP2021042040 W JP 2021042040W WO 2022145142 A1 WO2022145142 A1 WO 2022145142A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cargo handling
- work
- handling vehicle
- plant model
- node
- Prior art date
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 41
- 230000004044 response Effects 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 18
- 238000012546 transfer Methods 0.000 description 60
- 230000006870 function Effects 0.000 description 50
- 238000000034 method Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 23
- 230000033001 locomotion Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 17
- 230000001133 acceleration Effects 0.000 description 12
- 230000036544 posture Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000006399 behavior Effects 0.000 description 5
- 230000004043 responsiveness Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000010720 hydraulic oil Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B66—HOISTING; LIFTING; HAULING
- B66F—HOISTING, LIFTING, HAULING OR PUSHING, NOT OTHERWISE PROVIDED FOR, e.g. DEVICES WHICH APPLY A LIFTING OR PUSHING FORCE DIRECTLY TO THE SURFACE OF A LOAD
- B66F9/00—Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes
- B66F9/06—Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes movable, with their loads, on wheels or the like, e.g. fork-lift trucks
- B66F9/075—Constructional features or details
- B66F9/20—Means for actuating or controlling masts, platforms, or forks
- B66F9/24—Electrical devices or systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
Definitions
- the present invention relates to a cargo handling vehicle system that controls a cargo handling vehicle.
- a material handling vehicle such as a forklift is used for transporting cargo in the warehouse.
- a cargo handling operation in which the tip of a cargo handling member (fork) is inserted into the opening of a pallet (loading platform) on which the load is placed and lifted, or the load loaded on the cargo handling member is moved to a predetermined position. It is necessary to automatically carry out a series of operations such as loading and unloading operations for letting and unloading and pulling out cargo handling members.
- a traveling control technology that enables autonomous control of the material handling vehicle is required.
- One of the travel control techniques is a route tracking function for a cargo handling vehicle to autonomously travel according to a target route.
- a plant model of the vehicle to be controlled (a model showing the operating characteristics of the vehicle to be controlled) is created based on the geometric conditions of the vehicle structure. After that, for example, a feedback control model that minimizes the difference between the target path and the self-position is constructed, and each parameter of the plant model and the feedback control model is tuned to realize a highly accurate path tracking function.
- Cargo handling vehicles such as forklifts not only run and stop, but also turn on the spot (spin turn), lift and lower the transfer device (device that raises and lowers the cargo handling member) accompanying loading and unloading movements, and front and rear of the cargo handling member. Perform multiple tasks such as moving.
- the cargo handling vehicle performs a traveling operation according to the presence or absence of a load and a traveling operation (reverse travel) such that the cargo handling member is located behind in the traveling direction in order to prevent the cargo from falling during traveling.
- traveling operation according to the presence or absence of a load and a traveling operation (reverse travel) such that the cargo handling member is located behind in the traveling direction in order to prevent the cargo from falling during traveling.
- Patent Document 1 For such a problem, for example, the invention described in Patent Document 1 has been proposed.
- the industrial vehicle (forklift) described in Patent Document 1 is provided with a plurality of driving modes according to the work and a plant model corresponding to the driving mode, and the forklift driver manually switches the driving mode according to the work to be performed. ..
- An object of the present invention is to provide a cargo handling vehicle system capable of automatically switching plant models.
- the cargo handling vehicle system includes a cargo handling member on which a cargo carried by a cargo handling vehicle is placed, a control command generation unit, a travel route generation unit, a nearest neighbor node calculation unit, a work determination unit, and a plant model switching unit. And.
- the control command generation unit controls the cargo handling vehicle according to a plant model showing operating characteristics when the cargo handling vehicle performs work.
- the travel route generation unit creates a travel route for the cargo handling vehicle.
- the traveling route is composed of a plurality of nodes indicating a position through which the cargo handling vehicle passes, and one or more links connecting the two nodes. Each of the nodes is provided with a work ID indicating the work to be performed by the cargo handling vehicle.
- the nearest node calculation unit inputs the position of the cargo handling vehicle and the travel route, and among the nodes constituting the travel route, finds the node closest to the position of the cargo handling vehicle as the current node.
- a target node which is a node to be passed by the cargo handling vehicle next to the current node.
- the work determination unit compares the work ID at the current node with the work ID at the target node. When the work ID at the current node and the work ID at the target node are different from each other, the plant model switching unit responds to the work specified by the work ID at the target node with the plant model. Switch to the plant model.
- FIG. It is a figure which shows the cargo handling vehicle controlled by the cargo handling vehicle system by Embodiment 1 of this invention. It is a functional block diagram which shows the structure of the cargo handling vehicle system by Embodiment 1.
- FIG. It is a figure which shows the outline of the route information of a cargo handling vehicle. It is a figure which shows the work performed by a cargo handling vehicle for each work ID. It is a flowchart which shows the process flow of a work determination part and a plant model switching part. It is a flowchart which shows the flow of another process of a work determination part and a plant model switching part. It is a conceptual diagram which shows the cargo handling vehicle when switching a plant model. It is a figure which shows the transfer function of a traveling motor.
- the cargo handling vehicle system according to the present invention can automatically switch the plant model for controlling the cargo handling vehicle according to the work of the cargo handling vehicle.
- the cargo handling vehicle system according to the present invention automatically acquires, for example, the work to be executed from the information of the traveling route, and automatically switches the plant model based on the acquired work to be executed.
- the cargo handling vehicle system according to the present invention may be provided with a configuration in which data (learning data) for improving the accuracy of the plant model is automatically generated for each work.
- the plant model is a model that shows the operating characteristics when a cargo handling vehicle performs work, and is also called a vehicle model.
- the plant model is represented by a transfer function or an equation of motion, as will be described later.
- the cargo handling vehicle system according to the present invention automatically switches the plant model according to the work to be performed, highly accurate traveling control is possible and the transportation operation efficiency of the cargo handling vehicle can be improved.
- the plant model is switched for each work, restrictions on the passage through which the cargo handling vehicle travels can be reduced, and the layout in the warehouse for storing the cargo to be loaded on the cargo handling vehicle can be optimized.
- the cargo handling vehicle system according to the present invention is provided with a configuration in which data for improving the accuracy of the plant model is automatically generated for each work, a tuningless control system can be constructed, so that the engineering cost at the time of system introduction can be reduced. Can be reduced.
- the cargo handling vehicle controlled by the cargo handling vehicle system is a cargo handling vehicle capable of unmanned operation and autonomous control for automatically performing work, for example, a forklift traveling in a warehouse. Is.
- FIG. 1 is a diagram showing a cargo handling vehicle 100 controlled by the cargo handling vehicle system according to the present embodiment.
- the cargo handling vehicle 100 can be autonomously controlled and carries a load.
- the cargo handling vehicle 100 includes a vehicle frame 101, a transfer device 102 provided on the vehicle frame 101 so as to be able to move up and down, and a cargo handling member 103 capable of moving in and out of the transfer device 102 to load a load.
- the cargo handling vehicle 100 is a forklift traveling in a warehouse
- the cargo handling member 103 is a fork.
- the raised transfer device 102 and the cargo handling member 103 are shown by broken lines.
- the cargo handling vehicle 100 is equipped with an outside world sensor 104 that acquires position information of objects around the cargo handling vehicle 100.
- the outside world sensor 104 is installed, for example, on the upper part of the vehicle frame 101.
- the cargo handling vehicle 100 may be equipped with one or a plurality of external world sensors 104.
- the outside world sensor 104 is, for example, a LiDAR (Light Detection and Ringing) device, and changes the irradiation direction of the laser beam at predetermined angles (for example, every 0.5 degree) to surround the cargo handling vehicle 100.
- the position information and shape information of the object are detected as a point cloud.
- the cargo handling vehicle 100 is equipped with an acceleration sensor 105 that acquires the acceleration when the vehicle body travels.
- the acceleration sensor 105 can also acquire the angular velocity when the vehicle body of the cargo handling vehicle 100 turns.
- the acceleration sensor 105 is installed, for example, on the side surface of the vehicle frame 101.
- the cargo handling vehicle 100 may be equipped with one or a plurality of acceleration sensors 105.
- a load sensor 106 for acquiring the mass of the cargo is installed on the cargo handling member 103.
- the load sensor 106 is, for example, a pressure sensor.
- the cargo handling vehicle 100 can be equipped with one or a plurality of load sensors 106.
- a plurality of load sensors 106 arranged in the front-rear direction of the cargo handling member 103 and an inclination sensor for detecting the inclination angle of the cargo handling member 103 are installed, and the position of the center of gravity in the vertical direction of the load is more accurately determined. May be provided with the configuration required for.
- the cargo handling vehicle 100 is equipped with an in-vehicle controller 107 that performs an operation for autonomously controlling the cargo handling vehicle 100.
- the in-vehicle controller 107 is installed, for example, on the upper surface of the vehicle frame 101.
- One or a plurality of vehicle-mounted controllers 107 are installed in the cargo handling vehicle 100.
- a plurality of vehicle-mounted controllers 107 may be installed, and the vehicle-mounted controllers 107 may perform different processes from each other.
- FIG. 2 is a functional block diagram showing the configuration of the cargo handling vehicle system 200 according to the present embodiment.
- the cargo handling vehicle system 200 controls a cargo handling vehicle 100 capable of autonomous control.
- the cargo handling vehicle system 200 can control one or more cargo handling vehicles 100.
- the solid line with an arrow represents the flow of data with an arrow.
- the cargo handling vehicle system 200 includes a traffic control unit 201 and an in-vehicle controller 107 installed in the cargo handling vehicle 100.
- the traffic control unit 201 includes a communication device 203.
- the in-vehicle controller 107 includes a communication device 202.
- the traffic control unit 201 and the vehicle-mounted controller 107 are connected to each other and communicate with each other via the respective communication devices 203 and 202.
- the traffic control unit 201 and the vehicle-mounted controller 107 can transmit and receive necessary data to and from each other by using a wireless network or the like.
- the cargo handling vehicle system 200 includes an outside world sensor 104, an acceleration sensor 105, and a load sensor 106 installed in the cargo handling vehicle 100.
- the vehicle-mounted controller 107 is connected to the external world sensor 104, the acceleration sensor 105, and the load sensor 106, and inputs the information acquired by these sensors.
- the in-vehicle controller 107 includes a plant model switching unit 231 described later, and the plant model switching unit 231 automatically switches the plant model according to the work to be performed.
- the traffic control unit 201 and the vehicle-mounted controller 107 include processors such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit) for performing operations for controlling the cargo handling vehicle 100, and a memory for storing programs and data. It can be configured with a computer.
- processors such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit) for performing operations for controlling the cargo handling vehicle 100, and a memory for storing programs and data. It can be configured with a computer.
- the traffic control unit 201 includes an operation management unit 204, a route map management unit 205, a travel route generation unit 206, a plant model management unit 232, and the communication device 203 described above, and manages the operation of the cargo handling vehicle 100.
- the operation management unit 204 determines a task command to be executed by the cargo handling vehicle 100, and outputs the task command to the travel route generation unit 206.
- a plurality of task commands that determine which cargo is to be transported from where to where are stored in advance in the operation management unit 204.
- the operation management unit 204 assigns these task commands to a plurality of cargo handling vehicles 100, and determines the task commands to be executed by each cargo handling vehicle 100. For example, the operation management unit 204 can assign a task command to the cargo handling vehicle 100 according to the position of the cargo handling vehicle 100.
- the route map management unit 205 stores the data of the two-dimensional map of the range in which the cargo handling vehicle 100 travels. Information (route information) about the route on which the cargo handling vehicle 100 can travel is given to this two-dimensional map by the operator of the cargo handling vehicle system 200.
- the two-dimensional map is, for example, a map of the entire warehouse in which the cargo handling vehicle 100 travels.
- the route map management unit 205 can input the point cloud data acquired by the outside world sensor 104 while the cargo handling vehicle 100 is traveling, and create a two-dimensional map in advance using SLAM (Simultaneus Localization and Mapping).
- SLAM Simultaneus Localization and Mapping
- FIG. 3 is a diagram showing an outline of route information of the cargo handling vehicle 100.
- FIG. 3 shows, as an example, a route in which the cargo handling vehicle 100 approaches the shelves 307 and the pallets 304 on which the cargo is placed.
- a reference coordinate system 310 is set in the two-dimensional map stored by the route map management unit 205. In FIG. 3, the reference coordinate system 310 is represented by the XG axis and the YG axis.
- the route information is composed of a plurality of traveling nodes 301 and 302 indicating a position through which the cargo handling vehicle 100 passes, and one or more links 303 connecting the two traveling nodes 301 and 302.
- One link 303 or a plurality of links 303 connected to each other constitutes segment 305.
- the route information is composed of one or more segments 305.
- the traveling node located at the end of the segment 305 (the end of the route) is the end node 306.
- Each of the traveling nodes 301 and 302 has data such as a target position, a target posture, a target speed, and a turning radius R with respect to the reference coordinate system 310 for the cargo handling vehicle 100.
- the target position, target posture, and target speed are the positions, postures, and speeds that the cargo handling vehicle 100 should take at the traveling nodes 301 and 302, respectively.
- the turning radius R is a radius to be taken when the cargo handling vehicle 100 turns at the traveling nodes 301 and 302, respectively.
- the posture of the cargo handling vehicle 100 is the yaw angle (azimuth angle) of the vehicle body of the cargo handling vehicle 100 with respect to the reference coordinate system 310.
- the current position of the cargo handling vehicle 100 is called the self-position 311, and the current posture of the cargo handling vehicle 100 is called the self-position 312.
- the self-posture 312 of the cargo handling vehicle 100 is represented by the angle of the cargo handling vehicle 100 in the front-rear direction YV with respect to the YG axis (equal to the angle of the cargo handling vehicle 100 in the lateral direction XV with respect to the XG axis).
- a work ID is preset in the route map management unit 205.
- the work ID indicates the work performed by the cargo handling vehicle 100.
- the work ID is provided in each of the traveling nodes 301 and 302 in the route information stored by the route map management unit 205.
- the work to be performed by the cargo handling vehicle 100 at the traveling nodes 301 and 302, respectively, is specified by the work ID.
- One traveling node can include a plurality of work IDs.
- FIG. 4 is a diagram showing the work performed by the cargo handling vehicle 100 for each work ID.
- the work carried out by the cargo handling vehicle 100 includes, for example, straight line running (running in which the turning radius R is larger than the predetermined radius R0), turning running (running in which the turning radius R is less than or equal to the radius R0), and spin turn (running in which the turning radius R is equal to or less than the radius R0).
- the radius R0 can be arbitrarily determined in advance and is, for example, 360 m.
- a moving direction, a turning direction, a type of cargo handling (loading operation or unloading operation), and the like are defined as subtasks.
- the work to be performed by the cargo handling vehicle 100 is also specified by the work ID depending on whether or not the cargo handling vehicle 100 is loaded with cargo (presence or absence of cargo).
- the travel route generation unit 206 inputs a task command to be executed by the cargo handling vehicle 100 from the operation management unit 204, and inputs route information from the route map management unit 205 to drive the cargo handling vehicle 100 for executing the task command. Create a route.
- the travel route generation unit 206 can create a travel route for the cargo handling vehicle 100 by using the existing technique.
- the travel route created by the travel route generation unit 206 is, for example, as shown in FIG. 3, one or more links connecting a plurality of travel nodes 301, 302 including the terminal node 306 and the two travel nodes 301, 302. It is composed of 303. As described above, the traveling nodes 301 and 302 are provided with work IDs.
- the travel route generation unit 206 transmits the travel route of the created cargo handling vehicle 100 to the self-position / posture calculation unit 214 of the vehicle-mounted controller 107 via the communication device 203 of the traffic control unit 201 and the communication device 202 of the vehicle-mounted controller 107. ..
- the plant model management unit 232 will be described later.
- the in-vehicle controller 107 includes a self-position attitude calculation unit 214, a nearest node calculation unit 215, a load load calculation unit 216, a vehicle body behavior calculation unit 217, a control command generation unit 220, a steering motor drive unit 221 and a traveling motor drive unit 222, and a brake.
- a drive unit 223, a transfer device / cargo handling member motor drive unit 224, a work determination unit 230, a plant model switching unit 231 and the above-mentioned communication device 202 are provided, and calculations are performed using these elements.
- the self-position / attitude calculation unit 214 uses the information of the point cloud about the object around the cargo handling vehicle 100 acquired by the outside world sensor 104 and the data of the two-dimensional map provided in the route map management unit 205 to be used in the reference coordinate system 310.
- the self-position 311 and the self-position 312 (FIG. 3) of the cargo handling vehicle 100 are acquired.
- the self-position attitude calculation unit 214 transmits the acquired self-position 311 and self-posture 312 to the nearest node calculation unit 215. Further, the self-position / attitude calculation unit 214 transmits the travel route of the cargo handling vehicle 100 received from the traffic control unit 201 to the nearest node calculation unit 215.
- the self-position / posture calculation unit 214 may acquire the self-position 311 and the self-posture 312 of the cargo handling vehicle 100 by using other means.
- the self-position / attitude calculation unit 214 uses information such as the angular velocity of the cargo handling vehicle 100 during turning, the rotation speed of the wheels of the cargo handling vehicle 100, and the radius of the wheels detected by the acceleration sensor 105 in combination to achieve higher accuracy.
- the position 311 and the self-position 312 may be obtained.
- the rotation speed of the wheels of the cargo handling vehicle 100 can be detected by an encoder installed in the cargo handling vehicle 100.
- the nearest neighbor node calculation unit 215 calculates the travel node closest to the self-position 311 of the cargo handling vehicle 100 as the nearest neighbor node among the travel node group constituting the travel path of the cargo handling vehicle 100.
- the travel route of the cargo handling vehicle 100 is created by the travel route generation unit 206 of the traffic control unit 201.
- the self-position attitude calculation unit 214 acquires the self-position 311 of the cargo handling vehicle 100.
- the nearest neighbor node calculation unit 215 inputs the self-position 311 and the travel route of the cargo handling vehicle 100, and calculates the distance difference between the travel node group constituting the travel route and the self-position 311 to calculate the distance difference between the self-position 311 and the nearest neighbor of the cargo handling vehicle 100. Find the node.
- the nearest node of the cargo handling vehicle 100 is called a "current node". In the example shown in FIG. 3, the traveling node 301 is the current node.
- the traveling node (traveling node 302 in FIG. 3) to which the cargo handling vehicle 100 should pass next to the current node (traveling node 301 in FIG. 3) is referred to as "traveling node 302".
- the target node is a traveling node (traveling node 302 in FIG. 3) other than the current node of the link 303 existing in the traveling direction of the cargo handling vehicle 100 among the links connected to the current node (traveling node 301).
- the link 303 connecting the current node (traveling node 301) and the target node (traveling node 302) is referred to as a "target link”.
- the direction from the current node (traveling node 301) toward the target node (traveling node 302) is referred to as a "target traveling direction”.
- the nearest node calculation unit 215 obtains the current node 301, the target node 302, and the target link 303, and generates a control command for the information of the current node 301, the target node 302, and the target link 303 and the information defined therein. It is transmitted to the unit 220 and the work determination unit 230.
- the nearest neighbor node calculation unit 215 also transmits the work ID provided in the current node 301 and the target node 302 and the self-position 311 of the cargo handling vehicle 100 to the control command generation unit 220 and the work determination unit 230.
- the load load calculation unit 216 acquires the mass of the load using the load sensor 106.
- the load load calculation unit 216 transmits the acquired mass of the load to the work determination unit 230 and the control command generation unit 220.
- the vehicle body behavior calculation unit 217 acquires the acceleration of the vehicle body when the cargo handling vehicle 100 travels by using the acceleration sensor 105.
- the vehicle body behavior calculation unit 217 transmits the acquired acceleration to the work determination unit 230 and the control command generation unit 220.
- Control command generator 220 The control command generation unit 220 inputs information as described below, for example, and controls the cargo handling vehicle 100 according to the plant model using the input information.
- the control command generation unit 220 inputs a target speed defined in the target node 302, and controls the cargo handling vehicle 100 so as to travel at this target speed. For example, when the cargo handling vehicle 100 travels by a motor, the control command generation unit 220 generates a command value for the traveling motor of the drive wheel of the cargo handling vehicle 100, and feeds back the difference between the current command value and the response value of the traveling motor. Then, control is performed to reduce this difference.
- control command generation unit 220 inputs the target traveling direction defined in the target link 303, and controls the cargo handling vehicle 100 so as to travel along the target traveling direction. For example, the control command generation unit 220 generates a command value for the steering motor of the cargo handling vehicle 100, feeds back the difference between the current command value and the response value of the steering motor, and performs control to reduce this difference.
- control command generation unit 220 inputs a work ID provided in the target node 302, and the work specified by the work ID includes, for example, a stop of traveling of the cargo handling vehicle 100 at the target node 302. Generates a brake command for the cargo handling vehicle 100.
- control command generation unit 220 inputs a work ID provided in the target node 302, and when the work specified by the work ID includes, for example, a loading operation of the cargo handling vehicle 100 at the target node 302. Generates a command for raising and lowering the transfer device 102 and a command for moving the cargo handling member 103 in the front-rear direction so that the tip of the cargo handling member 103 can be inserted into the opening of the pallet 304 on which the target load is placed. ..
- the control command generation unit 220 outputs the generated command value and command to the drive units 221 to 224 described below.
- the steering motor drive unit 221 drives a motor (steering motor) that transmits power to the steering wheels of the cargo handling vehicle 100 according to a command value input from the control command generation unit 220.
- the traveling motor driving unit 222 drives a motor (traveling motor) that transmits power to the drive wheels of the cargo handling vehicle 100 according to a command value input from the control command generation unit 220.
- the brake drive unit 223 drives a motor that transmits power to the hydraulic pump that drives the brake pads in accordance with a brake command input from the control command generation unit 220 in order to stop the rotation of the drive wheels included in the cargo handling vehicle 100.
- the drive wheels of the cargo handling vehicle 100 stop rotating when the hydraulic pump operates and the brake pads are pressed against the drive wheels.
- the transfer device / cargo handling member motor drive unit 224 is a control command generation unit 220 that transmits power to a hydraulic pump that drives each of the transfer device 102 and the cargo handling member 103 included in the cargo handling vehicle 100. It is driven according to the command input from.
- the transfer device 102 moves up and down by operating the hydraulic pump that drives the transfer device 102.
- the cargo handling member 103 moves in the front-rear direction by operating the hydraulic pump that drives the cargo handling member 103.
- the work determination unit 230 determines the work performed by the cargo handling vehicle 100 at the target node 302.
- the processing of the work determination unit 230 will be briefly described. Details of the processing of the work determination unit 230 will be described later.
- the work determination unit 230 compares the work IDs of the current node 301 and the target node 302 obtained by the nearest node calculation unit 215 with each other. Currently, the node 301 and the target node 302 may be given a plurality of work IDs. In this case, the work determination unit 230 selects and compares one work ID according to the state of the cargo handling vehicle 100 (for example, the presence or absence of a load).
- the work determination unit 230 determines whether or not the work ID in the target node 302 is different from the work ID in the current node 301. When the work ID in the target node 302 is different from the work ID in the current node 301, the work determination unit 230 assigns a plant model for controlling the cargo handling vehicle 100 to the work specified by the work ID in the target node 302. The plant model switching unit 231 is requested to switch to the corresponding plant model.
- the work determination unit 230 when the work ID in the target node 302 is different from the work ID in the current node 301 and is a work ID preset in the route map management unit 205 of the traffic control unit 201, the work determination unit 230 has a work ID. It is also possible to request the plant model switching unit 231 to switch the plant model for controlling the cargo handling vehicle 100 to the plant model corresponding to the work specified by the work ID at the target node 302.
- the work ID in the target node 302 is a work ID preset in the route map management unit 205, that is, the work ID in the target node 302 is prepared for the traveling node 302 in the route information stored in the route map management unit 205. It means that it is a work ID that has been created.
- the plant model switching unit 231 switches the plant model for controlling the cargo handling vehicle 100.
- the plant model switching unit 231 switches the plant model to the plant model corresponding to the work specified by the work ID in the target node 302 in response to the request from the work determination unit 230, and switches the switched plant model to the control command generation unit. Output to 220. Details of the processing of the plant model switching unit 231 will be described later.
- the plant model management unit 232 stores the plant model in advance for each work ID shown in FIG.
- the plant model management unit 232 outputs a plant model (that is, a plant model corresponding to the work specified by the work ID in the target node 302) in response to the request from the plant model switching unit 231 to the plant model switching unit 231.
- FIG. 5A is a flowchart showing a processing flow of the work determination unit 230 and the plant model switching unit 231.
- the work determination unit 230 and the plant model switching unit 231 perform the processing shown in FIG. 5A after the cargo handling vehicle 100 currently performs the work at the node 301 (nearest neighbor node) and before the work is performed at the target node 302.
- the work determination unit 230 acquires the work performed by the cargo handling vehicle 100 at the target node 302 (work ID at the target node 302), and determines whether or not it is necessary to switch the plant model for controlling the cargo handling vehicle 100.
- the plant model switching unit 231 switches the plant model of the cargo handling vehicle 100 in response to a request from the work determination unit 230.
- the work determination unit 230 acquires the current node 301 and the target node 302 of the cargo handling vehicle 100 obtained by the nearest node calculation unit 215 from the nearest node calculation unit 215.
- the work determination unit 230 acquires the state of the cargo handling vehicle 100.
- the state of the cargo handling vehicle 100 is, for example, whether or not the cargo handling vehicle 100 is loaded with cargo (presence or absence of cargo) and the posture of the cargo handling vehicle 100.
- the work determination unit 230 acquires the mass of the current load of the cargo handling vehicle 100 from the load calculation unit 216, and determines whether or not the cargo handling vehicle 100 is loaded based on the acquired mass of the load.
- the work determination unit 230 obtains the mass of the load.
- the work determination unit 230 depends on the accuracy of the load sensor 106, for example, if the mass acquired from the load calculation unit 216 is less than 10 kg, the cargo handling vehicle 100 does not carry a load (no load). to decide.
- the work determination unit 230 compares the work IDs (FIG. 4) of the current node 301 and the target node 302 with each other.
- the work ID at the current node 301 is a work ID that identifies the work currently performed by the cargo handling vehicle 100 at the node 301.
- the work determination unit 230 has one, depending on the state of the cargo handling vehicle 100 acquired in the process 502 (for example, the presence or absence of cargo of the cargo handling vehicle 100).
- a work ID is selected, and the selected work ID is set as the work ID in the target node 302.
- the work determination unit 230 determines whether or not the distance Lv from the current position (self-position 311) of the cargo handling vehicle 100 to the target node 302 is equal to or less than the predetermined distance L.
- the distance L is a threshold value indicating whether or not the distance to the traveling node of the cargo handling vehicle 100 is large, that is, whether or not the cargo handling vehicle 100 has reached the traveling node, and can be arbitrarily determined in advance.
- the distance Lv is equal to or less than the distance L, it means that the distance to the traveling node of the cargo handling vehicle 100 is small and the cargo handling vehicle 100 has reached the traveling node.
- the distance L may be different for each work ID and traveling node.
- the cargo handling vehicle 100 When the distance Lv is less than or equal to the distance L, the cargo handling vehicle 100 has reached the target node 302, so the process proceeds to the process 505. When the distance Lv is larger than the distance L, the cargo handling vehicle 100 has not reached the target node 302, so the process ends.
- the work determination unit 230 determines that the cargo handling vehicle 100 has reached the target node 302 (Lv ⁇ L), and therefore the plant model for controlling the cargo handling vehicle 100 is switched.
- FIG. 6 is a conceptual diagram showing cargo handling vehicles 100a and 100b when switching plant models.
- the cargo handling vehicle 100a is in the situation of (a) described above, and is moving forward without a load at the target node 302 from the forward straight line running without a load at the current node 301 (work ID 1-2 in FIG. 4). It is assumed that the work shifts to the right turn running (work ID 3-2 in FIG. 4).
- the work determination unit 230 has a distance Lv of the distance L or less (Lv ⁇ L), and the cargo handling vehicle 100a is the target. Since the node 302 has been reached, it is determined that the plant model for controlling the cargo handling vehicle 100a is switched.
- the cargo handling vehicle 100b is in the situation of (b) described above, and when it travels straight (forward travel) and reaches the current node 601 from the traveling node 600 (that is, from the self-position 311 of the cargo handling vehicle 100b to the present).
- the pallet 304 is currently loaded as a load on the node 601 and the right spin turn with the load (work ID 8-1 in FIG. 4) is executed on the current node 601. do.
- the cargo handling vehicle 100b is assumed to execute the reverse straight line running with the load (work ID 2-1 in FIG. 4).
- the target link 603 of the cargo handling vehicle 100b is a link connecting the current node 601 and the target node 602.
- the work determination unit 230 checks whether or not the self-posture 312 has reached the target posture at the current node 601 when the cargo handling vehicle 100b executes a spin turn at the current node 601. It may be determined that the plant model for controlling the cargo handling vehicle 100b is switched when the self-posture 312 of the 100b is currently the target posture at the node 601. In this case, the work determination unit 230 determines that the plant model for executing the spin turn is switched to the plant model for traveling straight. For example, when the plant model is switched, the cargo handling vehicle 100b executes the work of traveling in a reverse straight line with a load (work ID 2-1 in FIG. 4) at the current node 601.
- the work determination unit 230 has a self-posture 312 with respect to the target link 603 (the angle ⁇ v of the cargo handling vehicle 100b in the front-rear direction YV with respect to the target link 603) at an angle ⁇ or less. If so, it is determined that the self-attitude 312 is currently the target attitude at the node 601 and that the plant model for controlling the cargo handling vehicle 100b is switched.
- the angle ⁇ is a threshold value indicating whether or not the difference between the self-posture 312 of the cargo handling vehicle 100b and the target posture is large, and can be arbitrarily determined in advance.
- the work determination unit 230 switches the plant model and causes the cargo handling vehicle 100b to execute the reverse straight line running with the load at the current node 601. In this way, the work determination unit 230 switches the plant model that executes the spin turn to the plant model that runs in the reverse straight line according to the self-posture 312 of the cargo handling vehicle 100b, and performs the work of the cargo handling vehicle 100b from the spin turn. It is possible to shift to reverse straight running.
- the work determination unit 230 reaches the target node 302 (Lv ⁇ L) when the work ID in the target node 302 is different from the work ID in the current node 301 (process 503). In this case, it is determined that the plant model for controlling the cargo handling vehicle 100 is to be switched, and the plant model switching unit 231 is requested to switch the plant model.
- the work determination unit 230 transmits to the plant model switching unit 231 a request to switch the plant model for controlling the cargo handling vehicle 100 to the plant model corresponding to the work specified by the work ID in the target node 302.
- the work determination unit 230 examines whether or not the work ID in the target node 302 is a work ID preset in the route map management unit 205, and the work ID in the target node 302 is the work ID in the current node 301. If the work ID is different from the ID and is preset in the route map management unit 205, the plant model switching unit 231 may be requested to switch the plant model.
- FIG. 5B is a flowchart showing another processing flow of the work determination unit 230 and the plant model switching unit 231.
- the process 505a is executed instead of the process 505. Only the process 505a will be described with respect to the flowchart shown in FIG. 5B.
- the work determination unit 230 examines whether or not the work ID in the target node 302 is a work ID preset in the route map management unit 205, and the work ID in the target node 302 is the route map management.
- the plant model switching unit 231 is requested to switch the plant model.
- the work specified by this work ID in the target node 302 is cargo handling. It is not the work performed by the vehicle 100. It can be inferred that this work ID at the target node 302 is an erroneously obtained work ID. Therefore, in this case, the cargo handling vehicle 100 stops the work.
- the control command generation unit 220 controls to stop the cargo handling vehicle 100, for example, by outputting a command to stop the cargo handling vehicle 100 to the traveling motor drive unit 222.
- the cargo handling vehicle system 200 according to the present embodiment can confirm that the work specified by the work ID at the target node 302 is definitely the work to be performed by the cargo handling vehicle 100.
- the plant model switching unit 231 switches the plant model to the plant model corresponding to the work specified by the work ID in the target node 302 in response to the request from the work determination unit 230.
- the plant model switching unit 231 inputs a request for switching the plant model from the work determination unit 230
- the plant model switching unit 231 transfers the plant model corresponding to the work specified by the work ID in the target node 302 to the plant model management unit 232 of the traffic control unit 201. And output the acquired plant model to the control command generation unit 220. In this way, the plant model switching unit 231 switches the plant model for controlling the cargo handling vehicle 100.
- the plant model switching unit 231 is provided in the vehicle-mounted controller 107 in this embodiment, but may be provided in the traffic control unit 201.
- the traffic control unit 201 includes the plant model switching unit 231
- the in-vehicle controller 107 connects the plant model to the plant model switching unit 231 of the traffic control unit 201 via the communication device 202 and the communication device 203 of the traffic control unit 201. Request a switch.
- the plant model management unit 232 stores the plant model for each work ID.
- the plant model is a model showing operating characteristics when a cargo handling vehicle 100 that performs autonomous control performs work. That is, the plant model corresponding to the work specified by the work ID shows the operating characteristics of the cargo handling vehicle 100 when the work specified by the work ID is executed.
- the plant model is represented by, for example, a transfer function showing the relationship between the command value of the steering motor and the response value thereof, or the equation of motion of the cargo handling vehicle 100.
- the plant model management unit 232 manages a model (mathematical formula) of a transfer function and an equation of motion and parameters (coefficient values, etc.) for each work ID.
- the plant model management unit 232 is provided by the traffic control unit 201 in this embodiment, but may be provided by the vehicle-mounted controller 107.
- FIG. 7A is a diagram showing a transfer function G1 (s) of the traveling motor.
- FIG. 7B is a diagram showing an example of the relationship between the command value 701 and the response value 702 of the traveling motor.
- the transfer function G 1 (s) of the traveling motor indicates the relationship between the command value 701 (vr) and the response value 702 (vy) of the traveling motor.
- the plant model management unit 232 constructs the transfer function G1 (s) shown in FIG. 7A from the relationship between the command value 701 and the response value 702 of the traveling motor as shown in FIG. 7B by using the traveling data acquired in advance. do. For example, it is assumed that the relationship of the response value 702 (vy) with respect to the command value 701 (vr) of the traveling motor can be expressed by using the transfer function G 1 (s) shown in the equation (1-1).
- s is a variable of the Laplace transform
- a, b, and c are arbitrary constants.
- FIG. 8A is a diagram showing a transfer function of the steering motor.
- FIG. 8B is a diagram showing an example of the relationship between the command value 801 and the response value 802 of the steering motor.
- FIG. 8B also shows the relationship between the command value 701 and the response value 702 of the traveling motor shown in FIG. 7B.
- the transfer function of the steering motor indicates the relationship between the command value 801 ( ⁇ r) and the response value 802 ( ⁇ y) of the steering motor.
- the plant model management unit 232 constructs the transfer function shown in FIG. 8A from the relationship between the command value 801 and the response value 802 of the steering motor as shown in FIG. 8B by using the driving data acquired in advance.
- both the steering motor and the traveling motor are composed of a hydraulic mechanism (for example, a hydraulic motor), the hydraulic oil used to drive the traveling motor is distributed to the steering motor when the steering motor is driven during the turning operation.
- the response value 802 ( ⁇ y) of the steering motor is affected by the command value 801 ( ⁇ r) of the steering motor and the response value 702 (vy) of the traveling motor, and the plant model management unit 232 2.
- the transfer function G 2 (s) representing the relationship between the command value 801 ( ⁇ r) of the steering motor and the response value 802 ( ⁇ y) of the steering motor is represented by the first-order transfer function of the equation (1-2).
- the transfer function G 3 (s) representing the relationship between the response value 702 (vy) of the traveling motor and the correction command value ⁇ u of the steering motor can be expressed by the first-order transfer function of Eq. (1-3). do.
- -1 / e is the difference between the time when the command is reached and the time when the command is started).
- the cargo handling vehicle system 200 for example, by using transfer functions (plant models) different from each other when the cargo handling vehicle 100 travels in a straight line and when the cargo handling vehicle 100 makes a turn, control with high follow-up accuracy to the target route is performed. Can be realized. For example, it is conceivable to use the transfer function properly according to the following conditions.
- Transfer function G 1 (s) When the turning radius R at the target node 302 is larger than the radius R0, it is regarded as a straight line running, and the transfer function G1 (s) showing the relationship between the command value 701 (vr) and the response value 702 (vy) of the running motor. ) Only.
- the equation of motion of a vehicle is determined using geometric conditions between wheels such as the wheelbase and tread.
- the traveling in which the cargo handling member 103 is located in front of the traveling direction is forward
- the rear wheel drive is performed during forward traveling
- the front wheels are driven in reverse traveling (travel in which the cargo handling member 103 is located behind in the traveling direction). It becomes a drive. Therefore, for example, even in straight-line traveling, it is necessary to prepare different equations of motion for forward traveling and reverse traveling.
- an example of the equation of motion plant model
- FIG. 9 is a diagram showing a cargo handling vehicle 100 traveling forward (rear wheel drive).
- FIG. 10 is a diagram showing a cargo handling vehicle 100 traveling in reverse (front wheel drive).
- X and Y indicate the self-position 311 of the cargo handling vehicle 100. That is, X indicates the position of the cargo handling vehicle 100 in the reference coordinate system 310 in the X direction, and Y indicates the position of the cargo handling vehicle 100 in the reference coordinate system 310 in the Y direction.
- l is the wheelbase
- tr is the tread
- ⁇ is the rotation angle of the vehicle body
- ⁇ is the rotation angle of the drive wheels
- Vd is the forward speed of the drive wheels
- V is the cargo handling vehicle.
- the forward speeds of 100 are shown respectively.
- the radius of the drive wheel is rd and the rotation speed of the drive wheel is ⁇
- a Kinematic Model (a model derived from a geometrical relationship) that does not consider the slip angle of the wheels can be used for sufficiently accurate control. can. Therefore, in this embodiment, a plant model is defined using the Kinematic Model in order to reduce the number of control elements.
- the equation of motion of the cargo handling vehicle 100 is defined assuming that the slip angles and speeds of the four wheels included in the cargo handling vehicle 100 are equal to each other.
- the equations of motion of the cargo handling vehicle 100 are the equations of motion (1-4), (1-5), and equations of the rear wheel drive shown below. It can be expressed by (1-6).
- equations of motion of the cargo handling vehicle 100 are the equations of motion (1-7), (1-8), and (1) shown below, which are the equations of motion for front wheel drive. It can be expressed by -9).
- the tracking accuracy with respect to the target route is high.
- Control can be realized.
- the cargo handling vehicle 100 automatically acquires the work to be performed and automatically switches the plant model according to the acquired work (work ID), so that the cargo handling vehicle 100 travels at a high speed. It is possible to control with precision. Further, by using the cargo handling vehicle system 200 according to this embodiment, the traveling of the cargo handling vehicle 100 can be controlled with high accuracy. Therefore, when the cargo handling vehicle 100 is traveling, for example, the amount of deviation from the desired route is smaller, and the target position is reached. It is possible to shorten the route when moving to, and it is possible to improve the transport efficiency of the cargo handling vehicle 100.
- the arrangement of the cargo in the warehouse can be designed according to the plant model, so that the restrictions on the arrangement of the cargo in the warehouse are reduced and the transport efficiency of the cargo handling vehicle 100 is improved. Not only can it be made to, but it can also be optimized for the placement of cargo in the warehouse.
- the cargo handling vehicle system 200 according to the second embodiment of the present invention will be described with reference to FIGS. 11 to 12B.
- the cargo handling vehicle system 200 according to the present embodiment has substantially the same configuration as the cargo handling vehicle system 200 according to the first embodiment, but differs from the cargo handling vehicle system 200 according to the first embodiment in that the traffic control unit 201 includes a learning processing unit.
- the learning processing unit includes a learning data selection unit 1100, a learning unit 1101, and a database update unit 1102, and updates the plant model corresponding to the work specified by the work ID.
- FIG. 11 is a functional block diagram showing the configuration of the cargo handling vehicle system 200 according to the present embodiment.
- the traffic control unit 201 in the cargo handling vehicle system 200 according to the first embodiment (FIG. 2), the traffic control unit 201 further adds a learning processing unit (learning data selection unit 1100, learning unit 1101 and database update unit 1102). It is configured to be prepared.
- learning processing unit learning data selection unit 1100, learning unit 1101 and database update unit 11012. It is configured to be prepared.
- the learning data selection unit 1100 inputs the work ID of the current node 301 of the cargo handling vehicle 100 from the work determination unit 230 of the vehicle-mounted controller 107. Further, the learning data selection unit 1100 receives command values for controlling the cargo handling vehicle 100 at the current node 301 from the control command generation unit 220 (for example, steering motor drive unit 221, traveling motor drive unit 222, brake drive unit 223, etc.). (Command value to the transfer device / cargo handling member motor drive unit 224) and the response value of the cargo handling vehicle 100 to this command value (response value of each drive unit to the command value) are input. The learning data selection unit 1100 outputs the input work ID, command value, and response value in the current node 301 to the learning unit 1101 as learning data.
- the control command generation unit 220 for example, steering motor drive unit 221, traveling motor drive unit 222, brake drive unit 223, etc.
- the control command generation unit 220 for example, steering motor drive unit 221, traveling motor drive unit 222, brake drive unit 223, etc.
- the learning unit 1101 inputs the work ID in the current node 301, the command value to the cargo handling vehicle 100, and the response value of the cargo handling vehicle 100 to the command value from the learning data selection unit 1100, and uses the command value and the response value for learning. Update the plant model by machine learning used as data.
- the learning unit 1101 uses a command value for the steering motor of the cargo handling vehicle 100 and a response value from the steering motor, and a plant model (a plant represented by a transmission function) by machine learning using feed forward control. An example of updating the parameters of the model) will be described.
- the learning unit 1101 acquires the command value ⁇ r and the response value ⁇ y of the steering motor when the cargo handling vehicle 100 makes a turn during forward traveling or a turning during reverse traveling from the learning data selection unit 1100.
- the learning unit 1101 obtains a different transfer function for turning during forward traveling and turning during reverse traveling as a transfer function indicating the responsiveness of the cargo handling vehicle 100.
- the learning unit 1101 can reduce the error between the command value and the response value by obtaining the inverse response by using the obtained transfer function, and can improve the accuracy of the path tracking function.
- FIG. 12A is a diagram showing a transfer function showing the responsiveness of the steering motor. It is assumed that the relationship of the response value ⁇ y with respect to the command value ⁇ r of the steering motor is expressed by the transfer function P (s). It is assumed that the transfer function P (s) is expressed by the equation (2-1).
- s is a variable of the Laplace transform
- a, b, and c are arbitrary constants (parameters).
- the relationship of the response value ⁇ y with respect to the command value ⁇ r of the steering motor is expressed by the transfer function P (s) of FIG. 12A, and the transfer function P (s) is expressed by the equation (2-1).
- the learning unit 1101 can obtain the inverse response P -1 (s) using the transfer function P (s) shown in the equation (2-1), and constitutes the feed forward control F (s) shown in FIG. 12B. It is possible to do.
- FIG. 12B is a diagram showing feedforward control using a transfer function indicating the responsiveness of the steering motor obtained by the learning unit 1101.
- the response value ⁇ y of the steering motor has as high a response as possible to the command value ⁇ r. Therefore, consider the feedforward control F (s) as shown in FIG. 12B.
- the output of the feedforward control F (s) is the correction command value ⁇ u of the steering motor. Therefore, the correction command value ⁇ u of the steering motor calculated by the control command generation unit 220 is transmitted to the steering motor drive unit 221 (FIG. 11).
- the feedforward control F (s) is given by, for example, the equation (2-2).
- Equation (2-2) can be expressed as equation (2-4) using the transfer function L (s) shown in equation (2-3).
- the response value ⁇ y with respect to the command value ⁇ r of the steering motor can be arbitrarily designed by the transfer function L (s) shown in the equation (2-3). Therefore, if the transfer function P (s) indicating the relationship of the response value ⁇ y with respect to the command value ⁇ r of the steering motor is obtained in advance, the steering motor can be adjusted to give a desired response.
- the learning unit 1101 acquires a data set of the command value ⁇ r and the response value ⁇ y of the steering motor as learning data, and uses the command value ⁇ r and the response value ⁇ y to identify the system focusing on the least squares method and the frequency response.
- the transfer function P (s) can be appropriately calculated and the transfer function P (s) can be updated sequentially.
- the learning unit 1101 obtains and updates the three parameters a, b, and c of the transfer function P (s) shown in the equation (2-1) to obtain and update the plant model (plant model represented by the transfer function).
- the parameters can be updated.
- the database update unit 1102 acquires the parameters of the plant model updated by the learning unit 1101 (for example, the parameters a, b, c of the transfer function P (s) shown in the equation (2-1)) from the learning unit 1101. The parameter values of this plant model are updated for each work ID.
- the database update unit 1102 outputs the updated plant model to the plant model management unit 232.
- the plant model management unit 232 stores the plant model updated by the database update unit 1102 for each work ID.
- the cargo handling vehicle system 200 includes a learning processing unit (learning data selection unit 1100, learning unit 1101, and database update unit 1102) for updating the plant model, and learning data for improving the accuracy of the plant model. Can be appropriately and automatically generated for each work ID. Therefore, the cargo handling vehicle system 200 according to the present embodiment can be provided with a tuningless control system, so that the engineering cost at the time of introducing the system can be reduced.
- a learning processing unit learning data selection unit 1100, learning unit 1101, and database update unit 1102
- learning data for improving the accuracy of the plant model.
- the present invention is not limited to the above embodiment, and various modifications are possible.
- the above-described embodiment has been described in detail in order to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to the embodiment including all the described configurations.
Landscapes
- Engineering & Computer Science (AREA)
- Transportation (AREA)
- Structural Engineering (AREA)
- Mechanical Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Combustion & Propulsion (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geology (AREA)
- Chemical & Material Sciences (AREA)
- Aviation & Aerospace Engineering (AREA)
- Civil Engineering (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Forklifts And Lifting Vehicles (AREA)
Abstract
本発明による荷役車両システムは、プラントモデルに従って荷役車両を制御する制御指令生成部(220)と、荷役車両の走行経路を作成する走行経路生成部(206)と、最近傍ノード算出部(215)と、作業判定部(230)と、プラントモデル切替部(231)を備える。走行経路は、荷役車両が実施する作業を示す作業IDが備えられている複数のノードで構成されている。最近傍ノード算出部(215)は、荷役車両の位置に最も近い位置にある現在ノードと、現在ノードの次に荷役車両が経由すべき目標ノードを求める。作業判定部(230)は、現在ノードと目標ノードでの作業IDを比較する。プラントモデル切替部(231)は、現在ノードと目標ノードでの作業IDが互いに異なる場合には、プラントモデルを、目標ノードでの作業IDで特定される作業に対応するプラントモデルに切り替える。
Description
本発明は、荷役車両を制御する荷役車両システムに関する。
近年では、少子高齢化による労働力不足やE-コマース市場の拡大による物流件数の増加に伴い、物流倉庫内の省人化や作業効率の向上が課題となっている。この課題を解決するために、無人で動作可能な無人産業車両の導入が進められている。
倉庫内での積荷の運搬作業には、フォークリフトなどの荷役車両が利用されている。荷役車両を用いた無人搬送システムでは、積荷を載せたパレット(荷台)の開口部に荷役部材(フォーク)の先端を差し入れて持ち上げる積荷動作や、荷役部材上に積載した積荷を所定の位置に移動させて下ろし荷役部材を抜く積下動作などの一連の作業を自動で実施する必要がある。
上記のような荷役車両を利用した積荷の運搬作業を、安全かつ効率的に自動で実施するためには、荷役車両の自律制御を可能とする走行制御技術が必要である。走行制御技術の1つに、荷役車両が目標経路に従って自律走行するための経路追従機能が存在する。経路追従機能を構築するためには、一般には、制御対象の車両のプラントモデル(制御対象の車両の動作特性を示すモデル)を、車両構造物の幾何学条件に基づいて作成する。その後、例えば目標経路と自己位置との差を最小化するようなフィードバック制御モデルを構築し、プラントモデルとフィードバック制御モデルの各パラメータのチューニングを行うことで、高精度な経路追従機能を実現する。
フォークリフトなどの荷役車両は、走行と停車のみならず、その場旋回(スピンターン)、積荷動作と積下動作に伴う移載装置(荷役部材を昇降させる装置)の昇降動作、及び荷役部材の前後移動などといった複数の作業を実行する。加えて、荷役車両は、積荷の有無に応じた走行動作や、走行中の積荷の転落を防ぐために荷役部材が走行方向の後方に位置するような走行動作(後進走行)を行うので、荷役車両には様々な走行形態が存在する。
以上のような多種多様な走行形態を有する車両を走行させる場合に、実行すべき全ての作業に対応する精度の良いプラントモデルとフィードバック制御モデルを構築することは極めて困難である。
このような課題に対し、例えば特許文献1に記載の発明が提案されている。特許文献1に記載の産業車両(フォークリフト)では、作業に応じた複数の走行モードと走行モードに応じたプラントモデルを備え、フォークリフトの運転者が、実施する作業に応じて手動で走行モードを切替える。
特許文献1に記載の発明などの従来の技術では、フォークリフトの運転者などの作業員が、実施する作業に応じて手動で走行モードを切替えることで、プラントモデルを切替える。自律制御を行う荷役車両では、走行動作、積荷動作、積下動作、及びその場旋回などの作業を自動で実施する必要があり、このためには、プラントモデルの切替えも自動で実施する必要がある。
本発明は、プラントモデルを自動で切替えることができる荷役車両システムを提供することを目的とする。
本発明による荷役車両システムは、荷役車両が運搬する積荷を載置する荷役部材と、制御指令生成部と、走行経路生成部と、最近傍ノード算出部と、作業判定部と、プラントモデル切替部とを備える。制御指令生成部は、前記荷役車両が作業を行うときの動作特性を示すプラントモデルに従って前記荷役車両を制御する。前記走行経路生成部は、前記荷役車両の走行経路を作成する。前記走行経路は、前記荷役車両が経由する位置を示す複数のノードと、2つの前記ノードを連結する1つ以上のリンクで構成されている。前記ノードのそれぞれには、前記荷役車両が実施する作業を示す作業IDが備えられている。前記最近傍ノード算出部は、前記荷役車両の位置と前記走行経路を入力し、前記走行経路を構成する前記ノードのうち、前記荷役車両の位置に最も近い位置にあるノードを現在ノードとして求め、前記走行経路を構成する前記ノードのうち、前記現在ノードの次に前記荷役車両が経由すべきノードである目標ノードを求める。前記作業判定部は、前記現在ノードでの前記作業IDと前記目標ノードでの前記作業IDを比較する。プラントモデル切替部は、前記現在ノードでの前記作業IDと前記目標ノードでの前記作業IDが互いに異なる場合には、前記プラントモデルを、前記目標ノードでの前記作業IDで特定される作業に対応する前記プラントモデルに切り替える。
本発明によると、プラントモデルを自動で切替えることができる荷役車両システムを提供することができる。
本発明による荷役車両システムは、荷役車両を制御するためのプラントモデルを、荷役車両の作業に応じて自動で切替えることができる。本発明による荷役車両システムは、例えば、実行すべき作業を走行経路の情報から自動で取得し、取得した実行すべき作業に基づいてプラントモデルを自動で切替える。また、本発明による荷役車両システムは、プラントモデルの精度を向上させるためのデータ(学習用データ)を作業ごとに自動で生成する構成を備えてもよい。
プラントモデルとは、荷役車両が作業を行うときの動作特性を示すモデルであり、車両モデルとも呼ぶ。プラントモデルは、後述するように、伝達関数や運動方程式で表される。
本発明による荷役車両システムは、実行すべき作業に応じてプラントモデルを自動で切替えるので、高精度な走行制御が可能であり、荷役車両の搬送稼働効率を向上させることができる。また、作業ごとにプラントモデルを切替えるので、荷役車両が走行する通路についての制約を減らすことができ、荷役車両に載せるべき積荷を保管する倉庫内のレイアウトを最適化することにもつながる。また、本発明による荷役車両システムは、プラントモデルの精度を向上させるためのデータを作業ごとに自動で生成する構成を備えると、チューニングレスな制御系を構築できるので、システム導入時のエンジニアリングコストを低減できる。
以下、本発明の実施例による荷役車両システムについて説明する。以下に説明する実施例では、荷役車両システムが制御する荷役車両は、無人運転が可能であって、作業を自動で実施する自律制御が可能な荷役車両であり、例えば、倉庫内を走行するフォークリフトである。
なお、本明細書で用いる図面において、同一のまたは対応する構成要素には同一の符号を付け、これらの構成要素については繰り返しの説明を省略する場合がある。
本発明の実施例1による荷役車両システムを、図1~図10を参照して説明する。
初めに、本実施例による荷役車両システムが制御する荷役車両について説明する。
(荷役車両100)
図1は、本実施例による荷役車両システムが制御する荷役車両100を示す図である。荷役車両100は、自律制御が可能であり、積荷を運搬する。
図1は、本実施例による荷役車両システムが制御する荷役車両100を示す図である。荷役車両100は、自律制御が可能であり、積荷を運搬する。
荷役車両100は、車両フレーム101と、車両フレーム101に昇降可能に設けられた移載装置102と、移載装置102から出退可能で積荷を載置する荷役部材103を備える。例えば、荷役車両100は、倉庫内を走行するフォークリフトであり、荷役部材103は、フォークである。図1には、上昇した移載装置102と荷役部材103を破線で示している。
荷役車両100には、荷役車両100の周囲の物体の位置情報を取得する外界センサ104が設置される。外界センサ104は、例えば、車両フレーム101の上部に設置される。荷役車両100は、1台または複数台の外界センサ104を設置することができる。外界センサ104は、例えば、LiDAR(Light Detection and Ranging)装置であり、レーザー光の照射方向を予め定めた所定の角度ごと(例えば0.5度ごと)に変化させることで、荷役車両100の周囲の物体の位置情報と形状情報を点群として検出する。
荷役車両100には、車体が走行するときの加速度を取得する加速度センサ105が設置される。加速度センサ105は、荷役車両100の車体が旋回するときの角速度を取得することもできる。加速度センサ105は、例えば、車両フレーム101の側面に設置される。荷役車両100は、1台または複数台の加速度センサ105を設置することができる。
荷役車両100には、積荷の質量を取得する荷重センサ106が荷役部材103に設置される。荷重センサ106は、例えば、圧力センサである。荷役車両100は、1台または複数台の荷重センサ106を設置することができる。例えば、荷役車両100は、荷役部材103の前後方向に並んだ複数台の荷重センサ106と、荷役部材103の傾斜角度を検出する傾斜センサが設置され、積荷の鉛直方向の重心位置をより高精度に求める構成を備えてもよい。
荷役車両100には、荷役車両100の自律制御を行うための演算を実施する車載コントローラ107が設置される。車載コントローラ107は、例えば、車両フレーム101の上面に設置される。荷役車両100には、1台または複数台の車載コントローラ107が設置される。例えば、荷役車両100は、複数台の車載コントローラ107が設置され、それぞれの車載コントローラ107が互いに異なる処理を実施してもよい。
(荷役車両システム200)
図2は、本実施例による荷役車両システム200の構成を示す機能ブロック図である。荷役車両システム200は、自律制御が可能な荷役車両100を制御する。荷役車両システム200は、1つまたは複数の荷役車両100を制御することができる。図2において、矢印付きの実線は、データの流れを矢印で表している。
図2は、本実施例による荷役車両システム200の構成を示す機能ブロック図である。荷役車両システム200は、自律制御が可能な荷役車両100を制御する。荷役車両システム200は、1つまたは複数の荷役車両100を制御することができる。図2において、矢印付きの実線は、データの流れを矢印で表している。
荷役車両システム200は、交通管制部201と、荷役車両100に設置された車載コントローラ107を備える。交通管制部201は、通信装置203を備える。車載コントローラ107は、通信装置202を備える。交通管制部201と車載コントローラ107は、それぞれの通信装置203、202を介して互いに接続して通信する。交通管制部201と車載コントローラ107は、無線ネットワークなどを用いて、必要なデータの送受信を互いに行うことができる。
さらに、荷役車両システム200は、荷役車両100に設置された外界センサ104、加速度センサ105、及び荷重センサ106を備える。車載コントローラ107は、外界センサ104、加速度センサ105、及び荷重センサ106に接続されており、これらのセンサが取得した情報を入力する。
車載コントローラ107は、後述するプラントモデル切替部231を備え、実行すべき作業に応じてプラントモデル切替部231がプラントモデルを自動で切替える。
交通管制部201と車載コントローラ107は、荷役車両100を制御する演算を実施するためのCPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサと、プログラムやデータを記憶するメモリとを備える計算機で構成することができる。
(交通管制部201)
まず、交通管制部201について説明する。交通管制部201は、運行管理部204、経路地図管理部205、走行経路生成部206、プラントモデル管理部232、及び前述した通信装置203を備え、荷役車両100の運行管理を行う。
まず、交通管制部201について説明する。交通管制部201は、運行管理部204、経路地図管理部205、走行経路生成部206、プラントモデル管理部232、及び前述した通信装置203を備え、荷役車両100の運行管理を行う。
(運行管理部204)
運行管理部204は、荷役車両100が実行するタスク指令を決定し、走行経路生成部206に出力する。運行管理部204には、どの積荷をどこからどこへ運搬するということが決められた複数のタスク指令が予め保存されている。運行管理部204は、これらのタスク指令を複数の荷役車両100に割り当てることで、それぞれの荷役車両100が実行するタスク指令を決定する。例えば、運行管理部204は、荷役車両100の位置に応じて、タスク指令を荷役車両100に割り当てることができる。
運行管理部204は、荷役車両100が実行するタスク指令を決定し、走行経路生成部206に出力する。運行管理部204には、どの積荷をどこからどこへ運搬するということが決められた複数のタスク指令が予め保存されている。運行管理部204は、これらのタスク指令を複数の荷役車両100に割り当てることで、それぞれの荷役車両100が実行するタスク指令を決定する。例えば、運行管理部204は、荷役車両100の位置に応じて、タスク指令を荷役車両100に割り当てることができる。
(経路地図管理部205)
経路地図管理部205は、荷役車両100が走行する範囲の2次元地図のデータを保存している。この2次元地図には、荷役車両100が走行可能な経路についての情報(経路情報)が、荷役車両システム200の操作者によって付与されている。2次元地図は、例えば、荷役車両100が走行する倉庫内の全体の地図である。経路地図管理部205は、例えば、荷役車両100の走行中に外界センサ104が取得した点群データを入力し、SLAM(Simultaneous Localization and Mapping)を用いて予め2次元地図を作成することができる。
経路地図管理部205は、荷役車両100が走行する範囲の2次元地図のデータを保存している。この2次元地図には、荷役車両100が走行可能な経路についての情報(経路情報)が、荷役車両システム200の操作者によって付与されている。2次元地図は、例えば、荷役車両100が走行する倉庫内の全体の地図である。経路地図管理部205は、例えば、荷役車両100の走行中に外界センサ104が取得した点群データを入力し、SLAM(Simultaneous Localization and Mapping)を用いて予め2次元地図を作成することができる。
図3は、荷役車両100の経路情報の概要を示す図である。図3には、一例として、荷役車両100が、積荷が置かれている棚307とパレット304に対して近づく経路を示している。経路地図管理部205が保存する2次元地図には、基準座標系310が設定されている。図3では、基準座標系310は、XG軸とYG軸で表される。
経路情報は、荷役車両100が経由する位置を示す複数の走行ノード301、302と、2つの走行ノード301、302を連結する1つ以上のリンク303で構成される。1つのリンク303または互いに接続した複数のリンク303は、セグメント305を構成する。経路情報は、1つまたは複数のセグメント305により構成される。セグメント305の終端(経路の終端)に位置する走行ノードは、終端ノード306である。
走行ノード301、302のそれぞれは、荷役車両100について、基準座標系310に対する目標位置、目標姿勢、目標速度、及び旋回半径Rなどのデータを備える。目標位置、目標姿勢、及び目標速度は、荷役車両100がそれぞれの走行ノード301、302で取るべき位置、姿勢、及び速度である。旋回半径Rは、荷役車両100がそれぞれの走行ノード301、302で旋回するときに取るべき半径である。これらのデータは、経路情報として、荷役車両システム200の操作者によって2次元地図に付与されている。
なお、荷役車両100の姿勢とは、基準座標系310に対する荷役車両100の車体のヨー角(方位角)のことである。
荷役車両100の現在の位置を自己位置311と呼び、荷役車両100の現在の姿勢を自己姿勢312と呼ぶ。図3では、荷役車両100の自己姿勢312は、YG軸に対する荷役車両100の前後方向YVの角度(XG軸に対する荷役車両100の横方向XVの角度と等しい)で表される。
また、経路地図管理部205には、作業IDが予め設定されている。作業IDは、荷役車両100が実施する作業を示す。作業IDは、経路地図管理部205が保存する経路情報において、走行ノード301、302のそれぞれに備えられている。荷役車両100がそれぞれの走行ノード301、302で実施すべき作業は、作業IDによって特定される。1つの走行ノードは、複数の作業IDを備えることができる。
図4は、荷役車両100が実施する作業を作業IDごとに示す図である。荷役車両100が実施する作業には、メインタスクとして、例えば、直線走行(旋回半径Rが予め定めた半径R0より大きい走行)、旋回走行(旋回半径Rが半径R0以下の走行)、スピンターン(移動せずにその場で旋回するその場旋回)、及び荷役などがある。半径R0は、予め任意に定めることができ、例えば360mである。さらに、荷役車両100が実施する作業には、サブタスクとして、例えば、移動方向、旋回方向、荷役の種類(積荷動作または積下動作)などが定められる。また、荷役車両100が積荷を搭載しているか否か(積荷の有無)によっても、荷役車両100が実施する作業が作業IDによって特定される。
図2に戻って、交通管制部201の説明を続ける。
(走行経路生成部206)
走行経路生成部206は、運行管理部204から荷役車両100が実行するタスク指令を入力するとともに、経路地図管理部205から経路情報を入力して、タスク指令を実施するための荷役車両100の走行経路を作成する。走行経路生成部206は、既存の技術を用いて、荷役車両100の走行経路を作成することができる。走行経路生成部206が作成する走行経路は、例えば図3に示したように、終端ノード306を含む複数の走行ノード301、302と、2つの走行ノード301、302を連結する1つ以上のリンク303で構成される。上述したように、走行ノード301、302には、作業IDが備えられている。
走行経路生成部206は、運行管理部204から荷役車両100が実行するタスク指令を入力するとともに、経路地図管理部205から経路情報を入力して、タスク指令を実施するための荷役車両100の走行経路を作成する。走行経路生成部206は、既存の技術を用いて、荷役車両100の走行経路を作成することができる。走行経路生成部206が作成する走行経路は、例えば図3に示したように、終端ノード306を含む複数の走行ノード301、302と、2つの走行ノード301、302を連結する1つ以上のリンク303で構成される。上述したように、走行ノード301、302には、作業IDが備えられている。
走行経路生成部206は、作成した荷役車両100の走行経路を、交通管制部201の通信装置203と車載コントローラ107の通信装置202を介して、車載コントローラ107の自己位置姿勢算出部214に送信する。
プラントモデル管理部232については、後で説明する。
(車載コントローラ107)
続いて、車載コントローラ107について説明する。車載コントローラ107は、自己位置姿勢算出部214、最近傍ノード算出部215、積載荷重算出部216、車体挙動算出部217、制御指令生成部220、ステアリングモータ駆動部221、走行モータ駆動部222、ブレーキ駆動部223、移載装置・荷役部材モータ駆動部224、作業判定部230、プラントモデル切替部231、及び前述した通信装置202を備え、これらの要素での演算を実施する。
続いて、車載コントローラ107について説明する。車載コントローラ107は、自己位置姿勢算出部214、最近傍ノード算出部215、積載荷重算出部216、車体挙動算出部217、制御指令生成部220、ステアリングモータ駆動部221、走行モータ駆動部222、ブレーキ駆動部223、移載装置・荷役部材モータ駆動部224、作業判定部230、プラントモデル切替部231、及び前述した通信装置202を備え、これらの要素での演算を実施する。
(自己位置姿勢算出部214)
自己位置姿勢算出部214は、外界センサ104が取得した荷役車両100の周囲の物体についての点群の情報と、経路地図管理部205が備える2次元地図のデータを用いて、基準座標系310における荷役車両100の自己位置311と自己姿勢312(図3)を取得する。自己位置姿勢算出部214は、取得した自己位置311と自己姿勢312を最近傍ノード算出部215に送信する。また、自己位置姿勢算出部214は、交通管制部201から受信した荷役車両100の走行経路を最近傍ノード算出部215に送信する。
自己位置姿勢算出部214は、外界センサ104が取得した荷役車両100の周囲の物体についての点群の情報と、経路地図管理部205が備える2次元地図のデータを用いて、基準座標系310における荷役車両100の自己位置311と自己姿勢312(図3)を取得する。自己位置姿勢算出部214は、取得した自己位置311と自己姿勢312を最近傍ノード算出部215に送信する。また、自己位置姿勢算出部214は、交通管制部201から受信した荷役車両100の走行経路を最近傍ノード算出部215に送信する。
自己位置姿勢算出部214は、荷役車両100の自己位置311と自己姿勢312を、他の手段を用いて取得してもよい。例えば、自己位置姿勢算出部214は、加速度センサ105が検出した荷役車両100の旋回時の角速度、荷役車両100の車輪の回転速度、及び車輪の半径などの情報を併用し、より高精度に自己位置311と自己姿勢312を求めてもよい。なお、荷役車両100の車輪の回転速度は、荷役車両100に設置されたエンコーダによって検出することができる。
(最近傍ノード算出部215)
最近傍ノード算出部215は、荷役車両100の走行経路を構成する走行ノード群のうち、荷役車両100の自己位置311に最も近い位置にある走行ノードを、最近傍ノードとして算出する。荷役車両100の走行経路は、上述したように、交通管制部201の走行経路生成部206が作成する。荷役車両100の自己位置311は、上述したように、自己位置姿勢算出部214が取得する。
最近傍ノード算出部215は、荷役車両100の走行経路を構成する走行ノード群のうち、荷役車両100の自己位置311に最も近い位置にある走行ノードを、最近傍ノードとして算出する。荷役車両100の走行経路は、上述したように、交通管制部201の走行経路生成部206が作成する。荷役車両100の自己位置311は、上述したように、自己位置姿勢算出部214が取得する。
最近傍ノード算出部215は、荷役車両100の自己位置311と走行経路を入力し、走行経路を構成する走行ノード群と自己位置311との距離差分を算出することで、荷役車両100の最近傍ノードを求める。荷役車両100の最近傍ノードを「現在ノード」と呼ぶ。図3に示した例では、走行ノード301が現在ノードである。
また、荷役車両100の走行経路を構成する走行ノード群のうち、現在ノード(図3では走行ノード301)の次に荷役車両100が経由すべき走行ノード(図3では走行ノード302)を、「目標ノード」と呼ぶ。目標ノードは、現在ノード(走行ノード301)に連結されたリンクのうち、荷役車両100の進行方向に存在するリンク303の、現在ノード以外の走行ノード(図3では走行ノード302)である。現在ノード(走行ノード301)と目標ノード(走行ノード302)とを結ぶリンク303を、「目標リンク」と呼ぶ。目標リンク(リンク303)において、現在ノード(走行ノード301)から目標ノード(走行ノード302)に向かう向きを、「目標進行方向」と呼ぶ。
最近傍ノード算出部215は、現在ノード301、目標ノード302、及び目標リンク303を求め、現在ノード301、目標ノード302、及び目標リンク303の情報と、これらに定められた情報を、制御指令生成部220と作業判定部230に送信する。最近傍ノード算出部215は、現在ノード301と目標ノード302に備えられた作業IDと、荷役車両100の自己位置311も、制御指令生成部220と作業判定部230に送信する。
(積載荷重算出部216)
積載荷重算出部216は、荷重センサ106を用いて積荷の質量を取得する。積載荷重算出部216は、取得した積荷の質量を作業判定部230と制御指令生成部220に送信する。
積載荷重算出部216は、荷重センサ106を用いて積荷の質量を取得する。積載荷重算出部216は、取得した積荷の質量を作業判定部230と制御指令生成部220に送信する。
(車体挙動算出部217)
車体挙動算出部217は、加速度センサ105を用いて、荷役車両100が走行するときの車体の加速度を取得する。車体挙動算出部217は、取得した加速度を作業判定部230と制御指令生成部220に送信する。
車体挙動算出部217は、加速度センサ105を用いて、荷役車両100が走行するときの車体の加速度を取得する。車体挙動算出部217は、取得した加速度を作業判定部230と制御指令生成部220に送信する。
(制御指令生成部220)
制御指令生成部220は、例えば以下に説明するような情報を入力し、入力した情報を用いてプラントモデルに従って荷役車両100を制御する。
制御指令生成部220は、例えば以下に説明するような情報を入力し、入力した情報を用いてプラントモデルに従って荷役車両100を制御する。
制御指令生成部220は、目標ノード302に定められた目標速度を入力し、この目標速度で走行するように荷役車両100を制御する。例えば、荷役車両100がモータで走行する場合は、制御指令生成部220は、荷役車両100の駆動輪の走行モータに対する指令値を生成し、走行モータの現在の指令値と応答値の差をフィードバックして、この差を小さくする制御を実施する。
また、制御指令生成部220は、目標リンク303に定められた目標進行方向を入力し、この目標進行方向に沿って走行するように荷役車両100を制御する。例えば、制御指令生成部220は、荷役車両100のステアリングモータに対する指令値を生成し、ステアリングモータの現在の指令値と応答値の差をフィードバックして、この差を小さくする制御を実施する。
また、制御指令生成部220は、目標ノード302に備えられた作業IDを入力し、この作業IDで特定される作業に、例えば、目標ノード302での荷役車両100の走行の停止が存在する場合は、荷役車両100に対するブレーキ指令を生成する。
また、制御指令生成部220は、目標ノード302に備えられた作業IDを入力し、この作業IDで特定される作業に、例えば、目標ノード302での荷役車両100の積荷動作が存在する場合は、対象の積荷が載せられたパレット304の開口部に荷役部材103の先端を挿入できるように、移載装置102の昇降についての指令と荷役部材103の前後方向への移動についての指令を生成する。
制御指令生成部220は、生成した指令値と指令を、以下に説明する駆動部221~224に出力する。
(ステアリングモータ駆動部221)
ステアリングモータ駆動部221は、荷役車両100が備える転舵輪に動力を伝達するモータ(ステアリングモータ)を、制御指令生成部220から入力した指令値に従って駆動する。
ステアリングモータ駆動部221は、荷役車両100が備える転舵輪に動力を伝達するモータ(ステアリングモータ)を、制御指令生成部220から入力した指令値に従って駆動する。
(走行モータ駆動部222)
走行モータ駆動部222は、荷役車両100が備える駆動輪に動力を伝達するモータ(走行モータ)を、制御指令生成部220から入力した指令値に従って駆動する。
走行モータ駆動部222は、荷役車両100が備える駆動輪に動力を伝達するモータ(走行モータ)を、制御指令生成部220から入力した指令値に従って駆動する。
(ブレーキ駆動部223)
ブレーキ駆動部223は、荷役車両100が備える駆動輪の回転を止めるために、ブレーキパッドを駆動する油圧ポンプに動力を伝達するモータを、制御指令生成部220から入力したブレーキ指令に従って駆動する。荷役車両100の駆動輪は、油圧ポンプが作動してブレーキパッドが駆動輪に押し当てられることで回転が止まる。
ブレーキ駆動部223は、荷役車両100が備える駆動輪の回転を止めるために、ブレーキパッドを駆動する油圧ポンプに動力を伝達するモータを、制御指令生成部220から入力したブレーキ指令に従って駆動する。荷役車両100の駆動輪は、油圧ポンプが作動してブレーキパッドが駆動輪に押し当てられることで回転が止まる。
(移載装置・荷役部材モータ駆動部224)
移載装置・荷役部材モータ駆動部224は、荷役車両100が備える移載装置102と荷役部材103を駆動するために、それぞれを駆動する油圧ポンプに動力を伝達するモータを、制御指令生成部220から入力した指令に従って駆動する。移載装置102は、移載装置102を駆動する油圧ポンプが作動することで昇降する。荷役部材103は、荷役部材103を駆動する油圧ポンプが作動することで前後方向に移動する。
移載装置・荷役部材モータ駆動部224は、荷役車両100が備える移載装置102と荷役部材103を駆動するために、それぞれを駆動する油圧ポンプに動力を伝達するモータを、制御指令生成部220から入力した指令に従って駆動する。移載装置102は、移載装置102を駆動する油圧ポンプが作動することで昇降する。荷役部材103は、荷役部材103を駆動する油圧ポンプが作動することで前後方向に移動する。
(作業判定部230の概要)
作業判定部230は、荷役車両100が目標ノード302で行う作業について、判定を行う。以下では、作業判定部230の処理について簡単に説明する。作業判定部230の処理の詳細は、後述する。
作業判定部230は、荷役車両100が目標ノード302で行う作業について、判定を行う。以下では、作業判定部230の処理について簡単に説明する。作業判定部230の処理の詳細は、後述する。
作業判定部230は、最近傍ノード算出部215が求めた現在ノード301と目標ノード302における作業IDを互いに比較する。現在ノード301と目標ノード302には、複数の作業IDが与えられていることがある。この場合には、作業判定部230は、荷役車両100の状態(例えば積荷の有無)に応じて、1つの作業IDを選んで比較する。
作業判定部230は、目標ノード302における作業IDが、現在ノード301における作業IDと異なるか否かを判定する。作業判定部230は、目標ノード302における作業IDが、現在ノード301における作業IDと異なる場合には、荷役車両100を制御するためのプラントモデルを、目標ノード302における作業IDで特定される作業に対応するプラントモデルに切り替えることを、プラントモデル切替部231に要求する。
また、作業判定部230は、目標ノード302における作業IDが、現在ノード301における作業IDと異なり、かつ交通管制部201の経路地図管理部205に予め設定されている作業IDである場合には、荷役車両100を制御するためのプラントモデルを、目標ノード302における作業IDで特定される作業に対応するプラントモデルに切り替えることを、プラントモデル切替部231に要求することもできる。目標ノード302における作業IDが、経路地図管理部205に予め設定されている作業IDであるとは、目標ノード302における作業IDが、経路地図管理部205が保存する経路情報において走行ノード302に備えられている作業IDである、ということである。
(プラントモデル切替部231の概要)
プラントモデル切替部231は、荷役車両100を制御するためのプラントモデルを切り替える。プラントモデル切替部231は、作業判定部230からの要求に応じて、プラントモデルを、目標ノード302における作業IDで特定される作業に対応するプラントモデルに切り替え、切り替えたプラントモデルを制御指令生成部220に出力する。プラントモデル切替部231の処理の詳細は、後述する。
プラントモデル切替部231は、荷役車両100を制御するためのプラントモデルを切り替える。プラントモデル切替部231は、作業判定部230からの要求に応じて、プラントモデルを、目標ノード302における作業IDで特定される作業に対応するプラントモデルに切り替え、切り替えたプラントモデルを制御指令生成部220に出力する。プラントモデル切替部231の処理の詳細は、後述する。
(プラントモデル管理部232の概要)
ここで、交通管制部201のプラントモデル管理部232について簡単に説明する。プラントモデル管理部232の処理の詳細は、後述する。
ここで、交通管制部201のプラントモデル管理部232について簡単に説明する。プラントモデル管理部232の処理の詳細は、後述する。
プラントモデル管理部232は、図4に示した作業IDごとにプラントモデルを予め保存している。プラントモデル管理部232は、プラントモデル切替部231からの要求に応じたプラントモデル(すなわち、目標ノード302における作業IDで特定される作業に対応するプラントモデル)をプラントモデル切替部231に出力する。
以下、車載コントローラ107の作業判定部230とプラントモデル切替部231と、交通管制部201のプラントモデル管理部232の処理の詳細について説明する。
初めに、作業判定部230とプラントモデル切替部231の処理の詳細について説明する。
(作業判定部230とプラントモデル切替部231の詳細)
図5Aは、作業判定部230とプラントモデル切替部231の処理の流れを示すフローチャートである。作業判定部230とプラントモデル切替部231は、荷役車両100が現在ノード301(最近傍ノード)で作業を実施した後、目標ノード302で作業を実施する前に、図5Aに示す処理を行う。作業判定部230は、荷役車両100が目標ノード302で行う作業(目標ノード302における作業ID)を取得し、荷役車両100を制御するためのプラントモデルを切り替える必要があるか否かを判断する。プラントモデル切替部231は、作業判定部230からの要求に応じて、荷役車両100のプラントモデルを切り替える。
図5Aは、作業判定部230とプラントモデル切替部231の処理の流れを示すフローチャートである。作業判定部230とプラントモデル切替部231は、荷役車両100が現在ノード301(最近傍ノード)で作業を実施した後、目標ノード302で作業を実施する前に、図5Aに示す処理を行う。作業判定部230は、荷役車両100が目標ノード302で行う作業(目標ノード302における作業ID)を取得し、荷役車両100を制御するためのプラントモデルを切り替える必要があるか否かを判断する。プラントモデル切替部231は、作業判定部230からの要求に応じて、荷役車両100のプラントモデルを切り替える。
処理501で、作業判定部230は、最近傍ノード算出部215が求めた荷役車両100の現在ノード301と目標ノード302を、最近傍ノード算出部215から取得する。
処理502で、作業判定部230は、荷役車両100の状態を取得する。荷役車両100の状態とは、例えば、荷役車両100が積荷を搭載しているか否か(積荷の有無)や、荷役車両100の姿勢である。作業判定部230は、例えば、積載荷重算出部216から荷役車両100の現在の積荷の質量を取得し、取得した積荷の質量を基に荷役車両100の積荷の有無を判断する。作業判定部230は、荷役車両100が積荷を搭載していると判断した場合には、積荷の質量を得る。作業判定部230は、荷重センサ106の精度にもよるが、例えば、積載荷重算出部216から取得した質量が10kg未満であれば、荷役車両100が積荷を搭載していない(積荷が無い)と判断する。
処理503で、作業判定部230は、現在ノード301と目標ノード302における作業ID(図4)を互いに比較する。現在ノード301における作業IDとは、荷役車両100が現在ノード301で実施した作業を特定する作業IDである。目標ノード302に複数の作業IDが与えられている場合には、作業判定部230は、処理502で取得した荷役車両100の状態(例えば、荷役車両100の積荷の有無)に応じて、1つの作業IDを選び、選んだ作業IDを目標ノード302における作業IDとする。
現在ノード301における作業IDと目標ノード302における作業IDが互いに異なる場合には、処理504に移行する。これらの作業IDが互いに同じ場合には、処理を終了する。
処理504で、作業判定部230は、荷役車両100の現在の位置(自己位置311)から目標ノード302までの距離Lvが、予め定めた距離L以下であるか否かを判断する。距離Lは、荷役車両100の走行ノードまでの距離が大きいか否か、すなわち、荷役車両100が走行ノードに到達したか否かを表す閾値であり、予め任意に定めることができる。距離Lvが距離L以下であるとは、荷役車両100の走行ノードまでの距離が小さく、荷役車両100が走行ノードに到達したことを示している。なお、距離Lは、作業IDや走行ノードごとに異なってもよい。
距離Lvが距離L以下の場合には、荷役車両100が目標ノード302に到達したので、処理505に移行する。距離Lvが距離Lより大きい場合には、荷役車両100が目標ノード302に到達していないので、処理を終了する。
処理505で、作業判定部230は、荷役車両100が目標ノード302に到達したので(Lv≦L)、荷役車両100を制御するためのプラントモデルを切り替えると判断する。
図6は、プラントモデルを切り替えるときの荷役車両100a、100bを示す概念図である。
以下では、プラントモデルの切替えの例として、次の2つの事例について記載する。
(イ)荷役車両100aが、積荷無しでの前進直線走行(図4の作業ID1-2)から、積荷無しでの前進右旋回走行(図4の作業ID3-2)に作業が移行する場合。
(ロ)荷役車両100bが、積荷有りでの右スピンターン(図4の作業ID8-1)から、積荷有りでの後進直線走行(図4の作業ID2-1)に作業が移行する場合。
(イ)荷役車両100aが、積荷無しでの前進直線走行(図4の作業ID1-2)から、積荷無しでの前進右旋回走行(図4の作業ID3-2)に作業が移行する場合。
(ロ)荷役車両100bが、積荷有りでの右スピンターン(図4の作業ID8-1)から、積荷有りでの後進直線走行(図4の作業ID2-1)に作業が移行する場合。
図6において、荷役車両100aは、前述した(イ)の状況にあり、現在ノード301における積荷無しでの前進直線走行(図4の作業ID1-2)から、目標ノード302における積荷無しでの前進右旋回走行(図4の作業ID3-2)に作業が移行するとする。作業判定部230は、例えば、目標ノード302を中心とした半径Lの円内に荷役車両100aが位置する場合には、距離Lvが距離L以下(Lv≦L)であり、荷役車両100aが目標ノード302に到達したので、荷役車両100aを制御するためのプラントモデルを切り替えると判断する。
図6において、荷役車両100bは、前述した(ロ)の状況にあり、直線走行(前進走行)をして走行ノード600から現在ノード601に到達したら(すなわち、荷役車両100bの自己位置311から現在ノード601までの距離Lvが距離L以下になったら)、現在ノード601でパレット304を積荷として搭載し、現在ノード601において積荷有りでの右スピンターン(図4の作業ID8-1)を実行するとする。そして、荷役車両100bは、積荷有りでの右スピンターンが終了したら、積荷有りでの後進直線走行(図4の作業ID2-1)を実行するとする。荷役車両100bの目標リンク603は、現在ノード601と目標ノード602を連結するリンクである。
作業判定部230は、図5の処理505で、荷役車両100bが現在ノード601でスピンターンを実行したときに、自己姿勢312が現在ノード601での目標姿勢になったか否かを調べ、荷役車両100bの自己姿勢312が現在ノード601での目標姿勢になった場合に、荷役車両100bを制御するためのプラントモデルを切り替えると判断してもよい。この場合には、作業判定部230は、スピンターンを実行するプラントモデルを、直進走行をするプラントモデルに切り替えると判断する。例えば、荷役車両100bは、プラントモデルが切り替えられると、現在ノード601において、積荷有りでの後進直線走行(図4の作業ID2-1)の作業を実行する。
作業判定部230は、例えば、荷役車両100bが右スピンターンを実行したときに、目標リンク603に対する自己姿勢312(目標リンク603に対する荷役車両100bの前後方向YVの角度φv)が角度φ以下であれば、自己姿勢312が現在ノード601での目標姿勢になったと判断し、荷役車両100bを制御するためのプラントモデルを切り替えると判断する。角度φは、荷役車両100bの自己姿勢312と目標姿勢との差が大きいか否かを表す閾値であり、予め任意に定めることができる。
作業判定部230は、自己姿勢312(角度φv)が角度φ以下であれば、プラントモデルを切り替えて、荷役車両100bに現在ノード601で積荷有りでの後進直線走行を実行させる。作業判定部230は、このようにして、荷役車両100bの自己姿勢312に応じて、スピンターンを実行するプラントモデルを後進直線走行をするプラントモデルに切り替えて、荷役車両100bの作業をスピンターンから後進直線走行に移行させることができる。
図5Aの処理505では、作業判定部230は、目標ノード302における作業IDが現在ノード301における作業IDと異なる場合(処理503)で、荷役車両100が目標ノード302に到達した(Lv≦L)場合には、荷役車両100を制御するためのプラントモデルを切り替えると判断し、プラントモデルの切替えをプラントモデル切替部231に要求する。作業判定部230は、荷役車両100を制御するためのプラントモデルを、目標ノード302における作業IDで特定される作業に対応するプラントモデルに切り替える要求を、プラントモデル切替部231に送信する。
また、作業判定部230は、目標ノード302における作業IDが、経路地図管理部205に予め設定されている作業IDであるか否かを調べ、目標ノード302における作業IDが、現在ノード301における作業IDと異なり、かつ経路地図管理部205に予め設定されている作業IDである場合に、プラントモデルの切替えをプラントモデル切替部231に要求してもよい。
図5Bは、作業判定部230とプラントモデル切替部231の別の処理の流れを示すフローチャートである。図5Bに示すフローチャートでは、図5Aに示すフローチャートにおいて、処理505の代わりに処理505aが実行される。図5Bに示すフローチャートについては、処理505aのみを説明する。
処理505aでは、作業判定部230は、目標ノード302における作業IDが、経路地図管理部205に予め設定されている作業IDであるか否かを調べ、目標ノード302における作業IDが、経路地図管理部205に予め設定されている作業IDである場合に、プラントモデルの切替えをプラントモデル切替部231に要求する。
目標ノード302における作業IDが、現在ノード301における作業IDと異なるが、経路地図管理部205に予め設定された作業IDでない場合には、目標ノード302におけるこの作業IDで特定される作業は、荷役車両100が実施する作業ではない。目標ノード302におけるこの作業IDは、誤って得られた作業IDであると推測できる。そこで、この場合には、荷役車両100は、作業を停止する。この場合には、制御指令生成部220は、例えば荷役車両100を停止させる指令を走行モータ駆動部222に出力するなどにより、荷役車両100を停止させる制御を実施する。このようにすると、本実施例による荷役車両システム200は、目標ノード302における作業IDで特定される作業が、間違いなく荷役車両100が実施すべき作業であることを確認することができる。
図5Aの処理506で、プラントモデル切替部231は、作業判定部230からの要求に応じて、プラントモデルを、目標ノード302における作業IDで特定される作業に対応するプラントモデルに切り替える。プラントモデル切替部231は、作業判定部230からプラントモデルの切替えの要求を入力すると、目標ノード302における作業IDで特定される作業に対応するプラントモデルを、交通管制部201のプラントモデル管理部232から取得し、取得したプラントモデルを制御指令生成部220に出力する。プラントモデル切替部231は、このようにして、荷役車両100を制御するためのプラントモデルを切り替える。
プラントモデル切替部231は、本実施例では車載コントローラ107が備えるが、交通管制部201が備えてもよい。交通管制部201がプラントモデル切替部231を備える場合は、車載コントローラ107は、通信装置202と交通管制部201の通信装置203を介して、交通管制部201のプラントモデル切替部231にプラントモデルの切替えを要求する。
本実施例におけるプラントモデルについては、プラントモデル管理部232の説明とともに説明する。
次に、交通管制部201のプラントモデル管理部232について説明する。
(プラントモデル管理部232の詳細)
プラントモデル管理部232は、作業IDごとにプラントモデルを保存する。プラントモデルは、自律制御を行う荷役車両100が作業を行うときの動作特性を示すモデルである。すなわち、作業IDで特定される作業に対応するプラントモデルは、作業IDで特定される作業を実行するときの、荷役車両100の動作特性を示す。プラントモデルは、例えば、ステアリングモータの指令値とその応答値との関係を示す伝達関数や、荷役車両100の運動方程式で表される。プラントモデル管理部232は、作業IDごとに、伝達関数と運動方程式のモデル(数式)とパラメータ(係数の値など)を管理する。
プラントモデル管理部232は、作業IDごとにプラントモデルを保存する。プラントモデルは、自律制御を行う荷役車両100が作業を行うときの動作特性を示すモデルである。すなわち、作業IDで特定される作業に対応するプラントモデルは、作業IDで特定される作業を実行するときの、荷役車両100の動作特性を示す。プラントモデルは、例えば、ステアリングモータの指令値とその応答値との関係を示す伝達関数や、荷役車両100の運動方程式で表される。プラントモデル管理部232は、作業IDごとに、伝達関数と運動方程式のモデル(数式)とパラメータ(係数の値など)を管理する。
プラントモデル管理部232は、本実施例では交通管制部201が備えるが、車載コントローラ107が備えてもよい。
(伝達関数で表されるプラントモデル)
以下では、プラントモデルの例として、荷役車両100の走行モータとステアリングモータの伝達関数について説明する。
以下では、プラントモデルの例として、荷役車両100の走行モータとステアリングモータの伝達関数について説明する。
図7Aは、走行モータの伝達関数G1(s)を示す図である。図7Bは、走行モータの指令値701と応答値702の関係の例を示す図である。走行モータの伝達関数G1(s)は、走行モータの指令値701(vr)と応答値702(vy)の関係を示す。
プラントモデル管理部232は、事前に取得した走行データを用いて、図7Bに示すような走行モータの指令値701と応答値702の関係から、図7Aに示す伝達関数G1(s)を構築する。例えば、走行モータの指令値701(vr)に対する応答値702(vy)の関係は、式(1-1)に示す伝達関数G1(s)を用いて表すことができると仮定する。
式(1-1)において、sは、ラプラス変換の変数であり、a、b、cは、任意の定数である。
図8Aは、ステアリングモータの伝達関数を示す図である。図8Bは、ステアリングモータの指令値801と応答値802の関係の例を示す図である。図8Bには、図7Bに示した走行モータの指令値701と応答値702の関係も示した。ステアリングモータの伝達関数は、ステアリングモータの指令値801(θr)と応答値802(θy)の関係を示す。
プラントモデル管理部232は、事前に取得した走行データを用いて、図8Bに示すようなステアリングモータの指令値801と応答値802の関係から、図8Aに示す伝達関数を構築する。
ステアリングモータと走行モータがともに油圧機構(例えば、油圧モータ)で構成されている場合は、旋回動作時にステアリングモータを駆動させるときに、走行モータの駆動に用いている作動油をステアリングモータに分配することがある。そこで、本実施例では、ステアリングモータの応答値802(θy)がステアリングモータの指令値801(θr)と走行モータの応答値702(vy)の影響を受けると仮定し、プラントモデル管理部232は、2入力1出力の伝達関数を作成する。本実施例では、ステアリングモータの指令値801(θr)とステアリングモータの応答値802(θy)の関係を表す伝達関数G2(s)を式(1-2)の一次の伝達関数で表すことができ、走行モータの応答値702(vy)とステアリングモータの修正指令値θuの関係を表す伝達関数G3(s)を式(1-3)の一次の伝達関数で表すことができると仮定する。
式(1-2)と式(1-3)において、K1とK2はゲイン(定常値/指令値)であり、t1とt2は時定数(応答値が定常値の63.2%(=1-1/e)に達した時刻と指令開始の時刻の差分)である。
本実施例による荷役車両システム200では、例えば、荷役車両100が直線走行をする場合と旋回をする場合とで互いに異なる伝達関数(プラントモデル)を使用することで、目標経路に対する追従精度の高い制御を実現することができる。例えば、伝達関数を下記の条件に従って使い分けることが考えられる。
条件1)伝達関数G1(s)
目標ノード302での旋回半径Rが半径R0より大きい走行の場合には、直線走行とみなし、走行モータの指令値701(vr)と応答値702(vy)の関係を示す伝達関数G1(s)のみを使用する。
目標ノード302での旋回半径Rが半径R0より大きい走行の場合には、直線走行とみなし、走行モータの指令値701(vr)と応答値702(vy)の関係を示す伝達関数G1(s)のみを使用する。
条件2)伝達関数G2(s)+G3(s)
目標ノード302での旋回半径Rが半径R0以下の走行の場合には、旋回走行とみなし、ステアリングモータの指令値801(θr)と応答値802(θy)の関係をステアリングモータの修正指令値(θu)を考慮して表す伝達関数であるG2(s)+G3(s)を使用する。
目標ノード302での旋回半径Rが半径R0以下の走行の場合には、旋回走行とみなし、ステアリングモータの指令値801(θr)と応答値802(θy)の関係をステアリングモータの修正指令値(θu)を考慮して表す伝達関数であるG2(s)+G3(s)を使用する。
(運動方程式で表されるプラントモデル)
以下では、プラントモデルの例として、荷役車両100の運動方程式について説明する。
以下では、プラントモデルの例として、荷役車両100の運動方程式について説明する。
荷役車両100の駆動輪の速度と角速度を制御する際には、荷役車両100の車両ダイナミクスといった車両の運動方程式を定義する必要がある。車両の運動方程式は、ホイールベースやトレッドなどの車輪間の幾何学条件を用いて決定される。荷役車両100は、荷役部材103が走行方向の前方に位置する走行を前進とすると、前進走行時は後輪駆動となり、後進走行時(荷役部材103が走行方向の後方に位置する走行)は前輪駆動となる。このため、例えば直線走行でも、前進走行と後進走行とで異なった運動方程式を用意する必要がある。以下では、荷役車両100が前進走行(後輪駆動)をする場合と後進走行(前輪駆動)をする場合について、運動方程式(プラントモデル)の例を説明する。
図9は、前進走行(後輪駆動)をする荷役車両100を示す図である。図10は、後進走行(前輪駆動)をする荷役車両100を示す図である。図9と図10において、XとYは、荷役車両100の自己位置311を示す。すなわち、Xは基準座標系310での荷役車両100のX方向の位置を、Yは基準座標系310での荷役車両100のY方向の位置を示す。また、図9と図10において、lはホイールベースを、trはトレッドを、θは車体の回転角度を、δは駆動輪の回転角度を、Vdは駆動輪の前進速度を、Vは荷役車両100の前進速度を、それぞれ示している。また、図示はしていないが、駆動輪の半径をrdとし、駆動輪の回転速度をωとすると、駆動輪の前進速度Vdは、Vd=ω×rdで表すことができる。
一般的に、荷役車両100のように最大速度が10km/h程度の車両の場合は、車輪のすべり角を考慮しないKinematic Model(幾何学的関係から導出されるモデル)で十分な精度の制御ができる。このため、本実施例では、制御要素を少なくするためにも、Kinematic Modelを用いてプラントモデルを定義する。
本実施例では、荷役車両100が備える4つの車輪のすべり角と速度が互いに等しいとして、荷役車両100の運動方程式を定義する。
図9に示す前進走行(後輪駆動)の場合は、荷役車両100の運動方程式は、下記に示す、後輪駆動の運動方程式である式(1-4)、式(1-5)、式(1-6)で表現することができる。
図10に示す後進走行(前輪駆動)の場合は、荷役車両100の運動方程式は、下記に示す、前輪駆動の運動方程式である式(1-7)、式(1-8)、式(1-9)で表現することができる。
本実施例による荷役車両システム200では、例えば、荷役車両100が前進走行をする場合と後進走行をする場合とで互いに異なる運動方程式(プラントモデル)を使用することで、目標経路に対する追従精度の高い制御を実現することができる。例えば、運動方程式を下記の条件に従って使い分けることが考えられる。
条件1)後輪駆動の運動方程式
図6の荷役車両100bが走行ノード600から現在ノード601に到達するまでの場合(すなわち、荷役車両100bの自己位置311から現在ノード601までの距離Lvが距離Lより大きい場合)には、荷役車両100bが前進走行をするので、後輪駆動の運動方程式を使用する。
図6の荷役車両100bが走行ノード600から現在ノード601に到達するまでの場合(すなわち、荷役車両100bの自己位置311から現在ノード601までの距離Lvが距離Lより大きい場合)には、荷役車両100bが前進走行をするので、後輪駆動の運動方程式を使用する。
条件2)前輪駆動の運動方程式
図6の現在ノード601にて荷役車両100bが右スピンターンの実施時に、目標リンク603に対する自己姿勢312(角度φv)が角度φ以下の場合には、荷役車両100bが右スピンターンを終了して後進走行をするので、前輪駆動の運動方程式を使用する。
図6の現在ノード601にて荷役車両100bが右スピンターンの実施時に、目標リンク603に対する自己姿勢312(角度φv)が角度φ以下の場合には、荷役車両100bが右スピンターンを終了して後進走行をするので、前輪駆動の運動方程式を使用する。
本施例による荷役車両システム200では、荷役車両100は、実行すべき作業を自動で取得し、取得した作業(作業ID)に応じてプラントモデルを自動で切り替えるので、荷役車両100の走行を高精度に制御することが可能である。また、本施例による荷役車両システム200を用いると、荷役車両100の走行を高精度に制御できるので、荷役車両100の走行時には、例えば、所望の経路からの逸脱量がより少なくなり、目標位置に移動する際の経路をより短くすることができ、荷役車両100の搬送効率を向上させることができる。さらに、本施例による荷役車両システム200を用いると、プラントモデルに応じて倉庫内の積荷の配置を設計できるので、倉庫内の積荷の配置に対する制約が少なくなり、荷役車両100の搬送効率を向上させることだけでなく、倉庫内の積荷の配置を最適化することもできる。
本発明の実施例2による荷役車両システム200を、図11~図12Bを参照して説明する。本実施例による荷役車両システム200は、実施例1による荷役車両システム200とほぼ同一の構成を備えるが、交通管制部201が学習処理部を備える点が実施例1による荷役車両システム200と異なる。学習処理部は、学習データ選定部1100と、学習部1101と、データベース更新部1102を備え、作業IDで特定される作業に対応するプラントモデルを更新する。
以下では、本実施例による荷役車両システム200が備える学習処理部である、学習データ選定部1100と学習部1101とデータベース更新部1102について説明する。
図11は、本実施例による荷役車両システム200の構成を示す機能ブロック図である。本実施例による荷役車両システム200は、実施例1による荷役車両システム200(図2)において、交通管制部201が学習処理部(学習データ選定部1100と学習部1101とデータベース更新部1102)をさらに備えるように構成されている。
(学習データ選定部1100)
学習データ選定部1100は、車載コントローラ107の作業判定部230から、荷役車両100の現在ノード301における作業IDを入力する。さらに、学習データ選定部1100は、制御指令生成部220から、現在ノード301において荷役車両100を制御するための指令値(例えば、ステアリングモータ駆動部221、走行モータ駆動部222、ブレーキ駆動部223、及び移載装置・荷役部材モータ駆動部224への指令値)と、この指令値に対する荷役車両100の応答値(指令値に対する各駆動部の応答値)を入力する。学習データ選定部1100は、入力した、現在ノード301における作業ID、指令値、及び応答値を、学習用データとして学習部1101に出力する。
学習データ選定部1100は、車載コントローラ107の作業判定部230から、荷役車両100の現在ノード301における作業IDを入力する。さらに、学習データ選定部1100は、制御指令生成部220から、現在ノード301において荷役車両100を制御するための指令値(例えば、ステアリングモータ駆動部221、走行モータ駆動部222、ブレーキ駆動部223、及び移載装置・荷役部材モータ駆動部224への指令値)と、この指令値に対する荷役車両100の応答値(指令値に対する各駆動部の応答値)を入力する。学習データ選定部1100は、入力した、現在ノード301における作業ID、指令値、及び応答値を、学習用データとして学習部1101に出力する。
(学習部1101)
学習部1101は、学習データ選定部1100から、現在ノード301における作業ID、荷役車両100への指令値、及び指令値に対する荷役車両100の応答値を入力し、この指令値と応答値を学習用データとして用いた機械学習によってプラントモデルを更新する。
学習部1101は、学習データ選定部1100から、現在ノード301における作業ID、荷役車両100への指令値、及び指令値に対する荷役車両100の応答値を入力し、この指令値と応答値を学習用データとして用いた機械学習によってプラントモデルを更新する。
以下では、一例として、学習部1101が、荷役車両100のステアリングモータに対する指令値とステアリングモータからの応答値を用いて、フィードフォワード制御を用いた機械学習によってプラントモデル(伝達関数で表されるプラントモデル)のパラメータを更新する例について説明する。
学習部1101は、学習データ選定部1100から、荷役車両100が前進走行時の旋回をした際、または後進走行時の旋回をした際の、ステアリングモータの指令値θrと応答値θyを取得する。本実施例では、学習部1101は、荷役車両100の応答性を示す伝達関数として、前進走行時の旋回と後進走行時の旋回とで異なる伝達関数を求める。学習部1101は、求めた伝達関数を利用して逆応答を求めることで、指令値と応答値との誤差を小さくすることができ、経路追従機能の精度を向上させることができる。
図12Aは、ステアリングモータの応答性を示す伝達関数を示す図である。ステアリングモータの指令値θrに対する応答値θyの関係は、伝達関数P(s)で表されるとする。伝達関数P(s)は、式(2-1)で表現されると仮定する。
式(2-1)において、sは、ラプラス変換の変数であり、a、b、cは、任意の定数(パラメータ)である。
学習部1101では、ステアリングモータの指令値θrに対する応答値θyの関係が、図12Aの伝達関数P(s)で表され、伝達関数P(s)が式(2-1)で表現される。
学習部1101は、式(2-1)に示した伝達関数P(s)を用いて逆応答P-1(s)を求めることができ、図12Bに示すフィードフォワード制御F(s)を構成することが可能である。
図12Bは、学習部1101が求めたステアリングモータの応答性を示す伝達関数を用いたフィードフォワード制御を示す図である。
ステアリングモータの応答値θyは、指令値θrに対して可能な限り高応答であることが望ましい。そこで、図12Bに示すようなフィードフォワード制御F(s)を考える。フィードフォワード制御F(s)の出力は、ステアリングモータの修正指令値θuである。このため、ステアリングモータ駆動部221(図11)には、制御指令生成部220が算出したステアリングモータの修正指令値θuが送信される。
フィードフォワード制御F(s)は、例えば、式(2-2)で与えられる。
式(2-2)において、ωcとηcは、任意の定数である。
式(2-2)は、式(2-3)に示す伝達関数L(s)を用いて、式(2-4)のように表現できる。
図12Bに示すように、ステアリングモータの指令値θrに対する応答値θyは、式(2-3)に示す伝達関数L(s)によって、任意に設計することができる。従って、ステアリングモータの指令値θrに対する応答値θyの関係を示す伝達関数P(s)を事前に求めていれば、ステアリングモータが所望の応答をするように調整することができる。
学習部1101は、ステアリングモータの指令値θrと応答値θyのデータセットを学習用データとして取得し、指令値θrと応答値θyを利用することで、最小二乗法や周波数応答に着目したシステム同定などによって、伝達関数P(s)を適切に算出して、伝達関数P(s)を逐次更新することができる。学習部1101は、式(2-1)に示した伝達関数P(s)の3つのパラメータa、b、cを求めて更新することで、プラントモデル(伝達関数で表されるプラントモデル)のパラメータを更新することができる。
(データベース更新部1102)
データベース更新部1102は、学習部1101が更新したプラントモデルのパラメータ(例えば、式(2-1)に示した伝達関数P(s)のパラメータa、b、c)を学習部1101から取得し、このプラントモデルのパラメータの値を作業IDごとに更新する。データベース更新部1102は、更新したプラントモデルをプラントモデル管理部232に出力する。
データベース更新部1102は、学習部1101が更新したプラントモデルのパラメータ(例えば、式(2-1)に示した伝達関数P(s)のパラメータa、b、c)を学習部1101から取得し、このプラントモデルのパラメータの値を作業IDごとに更新する。データベース更新部1102は、更新したプラントモデルをプラントモデル管理部232に出力する。
プラントモデル管理部232は、データベース更新部1102が更新したプラントモデルを作業IDごとに保存する。
本実施例による荷役車両システム200は、プラントモデルを更新する学習処理部(学習データ選定部1100、学習部1101、及びデータベース更新部1102)を備え、プラントモデルの精度を向上させるための学習用データを、作業IDごとに適切に自動で生成することができる。このため、本実施例による荷役車両システム200は、チューニングレスな制御系を備えることができるので、システム導入時のエンジニアリングコストを低減することができる。
なお、本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。例えば、上記の実施例は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明は、必ずしも説明した全ての構成を備える態様に限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能である。また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、削除したり、他の構成を追加・置換したりすることが可能である。
100、100a、100b…荷役車両、101…車両フレーム、102…移載装置、103…荷役部材、104…外界センサ、105…加速度センサ、106…荷重センサ、107…車載コントローラ、200…荷役車両システム、201…交通管制部、202…車載コントローラの通信装置、203…交通管制部の通信装置、204…運行管理部、205…経路地図管理部、206…走行経路生成部、214…自己位置姿勢算出部、215…最近傍ノード算出部、216…積載荷重算出部、217…車体挙動算出部、220…制御指令生成部、221…ステアリングモータ駆動部、222…走行モータ駆動部、223…ブレーキ駆動部、224…移載装置・荷役部材モータ駆動部、230…作業判定部、231…プラントモデル切替部、232…プラントモデル管理部、301…走行ノード(現在ノード)、302…走行ノード(目標ノード)、303…リンク(目標リンク)、304…パレット、305…セグメント、306…終端ノード、307…棚、310…基準座標系、311…自己位置、312…自己姿勢、600…走行ノード、601…現在ノード、602…目標ノード、603…目標リンク、701…走行モータの指令値、702…走行モータの応答値、801…ステアリングモータの指令値、802…ステアリングモータの応答値、1100…学習データ選定部、1101…学習部、1102…データベース更新部。
Claims (5)
- 荷役車両が運搬する積荷を載置する荷役部材と、制御指令生成部と、走行経路生成部と、最近傍ノード算出部と、作業判定部と、プラントモデル切替部と、を備え、
制御指令生成部は、前記荷役車両が作業を行うときの動作特性を示すプラントモデルに従って前記荷役車両を制御し、
前記走行経路生成部は、前記荷役車両の走行経路を作成し、前記走行経路は、前記荷役車両が経由する位置を示す複数のノードと、2つの前記ノードを連結する1つ以上のリンクで構成されており、前記ノードのそれぞれには、前記荷役車両が実施する作業を示す作業IDが備えられており、
前記最近傍ノード算出部は、前記荷役車両の位置と前記走行経路を入力し、前記走行経路を構成する前記ノードのうち、前記荷役車両の位置に最も近い位置にあるノードを現在ノードとして求め、前記走行経路を構成する前記ノードのうち、前記現在ノードの次に前記荷役車両が経由すべきノードである目標ノードを求め、
前記作業判定部は、前記現在ノードでの前記作業IDと前記目標ノードでの前記作業IDを比較し、
プラントモデル切替部は、前記現在ノードでの前記作業IDと前記目標ノードでの前記作業IDが互いに異なる場合には、前記プラントモデルを、前記目標ノードでの前記作業IDで特定される作業に対応する前記プラントモデルに切り替える、
ことを特徴とする荷役車両システム。 - 前記作業判定部は、前記荷役車両の位置から前記目標ノードまでの距離が、予め定めた距離以下であるか否かを判断し、
プラントモデル切替部は、前記現在ノードでの前記作業IDと前記目標ノードでの前記作業IDが互いに異なり、かつ前記荷役車両の位置から前記目標ノードまでの前記距離が前記予め定めた距離以下である場合には、前記プラントモデルを、前記目標ノードでの前記作業IDで特定される作業に対応する前記プラントモデルに切り替える、
請求項1に記載の荷役車両システム。 - 前記荷役車両が走行する範囲の2次元地図のデータを保存し、前記作業IDが予め設定されている経路地図管理部を備え、
プラントモデル切替部は、
前記現在ノードでの前記作業IDと前記目標ノードでの前記作業IDが互いに異なり、かつ前記目標ノードでの前記作業IDが前記経路地図管理部に設定されている前記作業IDである場合には、前記プラントモデルを、前記目標ノードでの前記作業IDで特定される作業に対応する前記プラントモデルに切り替える、
請求項1または2に記載の荷役車両システム。 - 制御指令生成部は、前記現在ノードでの前記作業IDと前記目標ノードでの前記作業IDが互いに異なり、かつ前記目標ノードでの前記作業IDが前記経路地図管理部に設定されている前記作業IDでない場合には、前記荷役車両を停止させる制御を実施する、
請求項3に記載の荷役車両システム。 - 前記プラントモデルを更新する学習処理部を備え、
前記学習処理部は、前記制御指令生成部から、前記荷役車両を制御するための指令値と、前記指令値に対する前記荷役車両の応答値を入力し、前記指令値と前記応答値を用いた機械学習によって前記プラントモデルのパラメータを更新する、
請求項1に記載の荷役車両システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020-218802 | 2020-12-28 | ||
JP2020218802A JP7478092B2 (ja) | 2020-12-28 | 2020-12-28 | 荷役車両システム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022145142A1 true WO2022145142A1 (ja) | 2022-07-07 |
Family
ID=82260387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/042040 WO2022145142A1 (ja) | 2020-12-28 | 2021-11-16 | 荷役車両システム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7478092B2 (ja) |
WO (1) | WO2022145142A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012148839A (ja) * | 2011-01-18 | 2012-08-09 | Nippon Yusoki Co Ltd | 荷役制御システムおよびそれを備えたフォークリフト |
JP2015191343A (ja) * | 2014-03-27 | 2015-11-02 | 日立建機株式会社 | 運行管理サーバ、車載端末装置、及び運行管理システム |
JP2016045585A (ja) * | 2014-08-20 | 2016-04-04 | 日立建機株式会社 | 管制制御装置及び運搬車両の走行シミュレーション方法 |
JP2017199257A (ja) * | 2016-04-28 | 2017-11-02 | 株式会社豊田自動織機 | 自律走行車 |
JP2017226514A (ja) * | 2016-06-22 | 2017-12-28 | 株式会社豊田自動織機 | 産業車両 |
-
2020
- 2020-12-28 JP JP2020218802A patent/JP7478092B2/ja active Active
-
2021
- 2021-11-16 WO PCT/JP2021/042040 patent/WO2022145142A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012148839A (ja) * | 2011-01-18 | 2012-08-09 | Nippon Yusoki Co Ltd | 荷役制御システムおよびそれを備えたフォークリフト |
JP2015191343A (ja) * | 2014-03-27 | 2015-11-02 | 日立建機株式会社 | 運行管理サーバ、車載端末装置、及び運行管理システム |
JP2016045585A (ja) * | 2014-08-20 | 2016-04-04 | 日立建機株式会社 | 管制制御装置及び運搬車両の走行シミュレーション方法 |
JP2017199257A (ja) * | 2016-04-28 | 2017-11-02 | 株式会社豊田自動織機 | 自律走行車 |
JP2017226514A (ja) * | 2016-06-22 | 2017-12-28 | 株式会社豊田自動織機 | 産業車両 |
Also Published As
Publication number | Publication date |
---|---|
JP2022103896A (ja) | 2022-07-08 |
JP7478092B2 (ja) | 2024-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9870002B1 (en) | Velocity control of position-controlled motor controllers | |
EP3510358B1 (en) | Automated guided vehicle | |
CN111399509B (zh) | 一种多移动机器人协同转运控制方法及*** | |
US9975245B1 (en) | Methods and systems for planning a body position of a robotic device | |
US20120123614A1 (en) | Method and apparatus for virtualizing industrial vehicles to automate task execution in a physical environment | |
US10579071B1 (en) | Real-time formed robotic swarm for material handling | |
Kalmari et al. | Coordinated motion of a hydraulic forestry crane and a vehicle using nonlinear model predictive control | |
CN111033426A (zh) | 移动体、位置推断装置以及计算机程序 | |
WO2023084637A1 (ja) | 搬送システム、及び搬送制御方法 | |
CN117519213B (zh) | 一种多机器人协同货运控制方法及***、存储介质 | |
WO2022145142A1 (ja) | 荷役車両システム | |
CN116859917A (zh) | 一种承载超长货物移动机器人双车主从联动控制方法 | |
WO2022185447A1 (ja) | 移動体 | |
CN114397883A (zh) | 全向多轴重载agv小车的控制*** | |
JP2020192972A (ja) | 車両アクセサリ装置を備える車両 | |
JP2022166717A (ja) | 荷役車両システム | |
Guney et al. | A robotic experimental platform for testing and validating warehouse automation algorithms | |
WO2023007878A1 (ja) | 荷役車両システムおよび車載コントローラ | |
Song et al. | Implementation of distributed architecture based on CAN networks for unmanned forklift | |
Ilangasinghe et al. | Navigation control of an automatic guided forklift | |
JP2023154648A (ja) | 経路計画装置及び搬送車両システム | |
KR102673219B1 (ko) | 굴절-관절 무인지게차 로봇시스템 및 이를 이용한 자율 주행방법 | |
US20240182066A1 (en) | Mobile unit management device, management method, and storage medium | |
EP4151489A1 (en) | Vehicle control for improved minimum risk maneuvers | |
CN114872690B (zh) | 一种用于agv小车的自动泊车方法、***、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21915003 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21915003 Country of ref document: EP Kind code of ref document: A1 |