Control device, mobile object, and program
The control device allows unmanned machines to safely move ahead of workers by determining positional relationships and adjusting movement paths, improving efficiency and safety in agricultural tasks.
Patent Information
- Application Number
- JP2022011520
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-01-28
- Publication Date
- 2025-09-04
- Estimated Expiration
- 2042-01-28
AI Technical Summary
Conventional unmanned machines often move autonomously behind workers, which may not be efficient or safe for certain types of agricultural tasks, necessitating a control system that allows them to move ahead of workers while ensuring safety and effective navigation.
A control device that determines the positional relationship between a worker and an unmanned machine, using sensors and coordinate systems to adjust the machine's movement path based on predefined conditions, allowing it to move ahead of the worker safely and efficiently.
Enables unmanned machines to navigate ahead of workers, enhancing work efficiency and safety by ensuring the machine moves only when the worker is at a safe distance and direction, using sensors and coordinate systems to determine optimal movement paths.
Smart Images

Figure 0007734085000001 
Figure 0007734085000002 
Figure 0007734085000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a control device, a mobile object, and a program. [Background technology]
[0002] In recent years, studies have been conducted to improve the efficiency of agriculture by utilizing unmanned agricultural machinery or sensing technology. For example, Non-Patent Document 1 discloses an unmanned small weeding robot. Non-Patent Document 2 discloses a method of applying fertilizer in accordance with the growth state using sensing technology. [Prior art document] [Non-patent literature] [Non-patent document 1] Nao Kondo et al., "Development of a ridge weeding robot," [online] [searched August 12, 2016], Internet<URL:http: / / www.aptech.kais.kyoto-u.ac.jp / activity / date / grass_cutter_robot.pdf> [Non-patent document 2] Hokkaido Research Organization, List of Test and Research Results, "Summary of Results (created in January 2006)" [online] [searched October 20, 2016], Internet <URL:https: / / www.hro.or.jp / list / agricultural / center / kenkyuseika / gaiyosho / h18gaiyo / f5 / 2006508.pdf> Summary of the Invention [Problem to be solved by the invention]
[0003] Conventional unmanned machines are designed to move autonomously in unmanned fields or to follow behind workers. However, depending on the type of work, it is expected that the unmanned machine will move autonomously ahead of the worker, thereby improving work efficiency and safety. [Means for solving the problem]
[0004] In a first aspect of the present invention, a control device is provided. The control device controls, for example, the movement of a moving body having an autonomous movement function. The control device includes, for example, a control unit that controls a drive device of the moving body to move the moving body to the other side of the moving body when a user of the moving body approaches the moving body from one side of the moving body. In the control device, the control unit includes, for example, a position determination unit that determines whether a positional relationship between a predetermined part of the user's body and a predetermined part of the moving body satisfies a position condition, which is a predetermined condition regarding the positional relationship. The control unit includes, for example, a destination position determination unit that determines a destination position when the control device moves the moving body to the other side of the moving body when the positional relationship satisfies the position condition.
[0005] In the above control device, the position condition may include at least one of the following conditions: (a) the distance between a predetermined part of the user's body and a predetermined part of the moving body is equal to or less than a first threshold; and (b) (i) the distance between a predetermined part of the user's body and a predetermined part of the moving body is equal to or less than a second threshold, and (ii) the absolute value of the angle formed by the extension direction of an axis that constitutes a coordinate system with a representative point of the moving body as its origin and that extends from the other side of the moving body to one side and the direction from the representative point of the moving body toward the predetermined part of the user's body is equal to or less than a third threshold.
[0006] In the control device, the control unit may include a candidate position determination unit that determines candidate positions as candidates for the destination position. The control unit may include a reach determination unit that determines whether the mobile object can reach the candidate positions. The destination position determination unit may determine, as the destination position, a candidate position that the reach determination unit determines to be reachable.
[0007] In the above control device, the candidate position determination unit may determine a user movement direction, which is the direction in which the user moved between the first time and the second time, and a user movement distance, which is the distance the user moved between the first time and the second time. The candidate position determination unit may determine, as a candidate position, a position that is located a distance approximately equal to the user movement distance in a direction parallel to the user movement direction, based on the current position of the moving object. In the above control device, the candidate position determination unit may determine a user movement direction, which is the direction in which the user moved between the first time and the second time. The candidate position determination unit may determine, as a candidate position, a position that is located a predetermined distance in a direction parallel to the user movement direction, based on the current position of the moving object.
[0008] In the control device, the candidate position determination unit may acquire information indicating a moving path of the moving object, and may determine positions on the moving path as candidate positions.
[0009] In the above control device, the candidate position determination unit may determine a user movement direction, which is the direction in which the user moved between a first time and a second time. The candidate position determination unit may determine a position on the movement path as a candidate position based on the user movement direction. In the above control device, the candidate position determination unit may determine a user movement distance, which is the distance the user moved between the first time and the second time. The candidate position determination unit may determine, as a candidate position, a position that is located on the movement path a distance approximately equal to the user movement distance, based on the current position of the moving object. In the above control device, the candidate position determination unit may determine, as a candidate position, a position that is located on the movement path a predetermined distance, based on the current position of the moving object.
[0010] In the control device, the candidate position determination unit may acquire information indicating the positions of a plurality of points at which the moving object is permitted to stop, and may determine a candidate position from among the plurality of points.
[0011] In the control device, the arrival determination unit may construct a virtual space including a three-dimensional model of the moving object and features disposed around the moving object, and may determine whether the moving object can reach the candidate position based on the presence or absence or degree of interference in the virtual space.
[0012] In a second aspect of the present invention, there is provided a moving body. The moving body includes, for example, the control device according to the first aspect. The moving body includes, for example, a drive device.
[0013] In a third aspect of the present invention, a program is provided. The program may be a program for causing a computer to function as the control device according to the first aspect. A computer-readable medium storing the program may be provided. The computer-readable medium may be a non-transitory computer-readable medium. The computer-readable medium may be a computer-readable recording medium.
[0014] The above summary of the invention does not list all of the necessary features of the present invention, and subcombinations of these features may also constitute inventions. [Brief explanation of the drawings]
[0015] [Figure 1] An example of a work machine 120 is shown schematically. [Figure 2] 1 shows a schematic diagram of an example of the system configuration of a work machine 120. [Figure 3] An example of the relative positions of a worker 20 and a work machine 120 is shown schematically. [Figure 4] 1 illustrates an example of information processing in a work machine 120. [Figure 5] 10A and 10B show schematic diagrams of an example of a position condition. [Figure 6] 10 illustrates an example of a method for determining candidate locations. [Figure 7] 10 illustrates an example of a method for determining candidate locations. [Figure 8]10 illustrates an example of a method for determining candidate locations. [Figure 9] 10 illustrates an example of a method for determining candidate locations. [Figure 10] 10A and 10B show an example of a method for changing candidate positions. [Figure 11] 2 shows an example of the internal configuration of the control unit 140. [Figure 12] 10 shows an example of the internal configuration of a candidate position determining unit 1142. [Figure 13] 3 shows an example of a system configuration of a computer 3000. DETAILED DESCRIPTION OF THE INVENTION
[0016] The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention. In the drawings, the same reference numerals are used to designate the same or similar parts, and redundant explanations may be omitted.
[0017] (Overview of work machine 120) First, an overview of the work machine 120 will be described using Figures 1 and 2. In this embodiment, the details of the work machine 120 will be described using an orthogonal coordinate system (sometimes referred to as a robot coordinate system) with the representative point 30 of the work machine 120 as the origin. In this embodiment, the robot coordinate system includes an x-axis 32, a y-axis 34, and a z-axis 36. The x-axis 32 and the y-axis 34 are axes parallel to the horizontal direction when the work machine 120 is placed on a horizontal surface. The x-axis 32 extends from the front 122 to the rear 124 of the work machine 120. On the other hand, the z-axis 36 is an axis parallel to the vertical direction when the work machine 120 is placed on a horizontal surface.
[0018] FIG. 1 schematically shows an example of a work machine 120. In this embodiment, the work machine 120 assists the worker 20 in performing work. The work machine 120 may have an autonomous movement function. For example, when the worker 20 performs work along the direction of a work route (sometimes referred to as the route direction), the work machine 120 is positioned approximately ahead of the worker 20 in the route direction. When the worker 20 approaches the work machine 120 from the rear 124 side of the work machine 120 while the work machine 120 is stopped, the work machine 120 moves to the front 122 side of the work machine 120 (sometimes referred to as leading movement).
[0019] Depending on the operation mode of the work machine 120, the work machine 120 can also move so as to follow behind the preceding worker 20 (sometimes referred to as "following movement"). When the work machine 120 moves in a following manner, the destination of the work machine 120 can be set to a position near the worker 20. On the other hand, when the work machine 120 moves in a leading manner, it is difficult to determine the destination of the work machine 120.
[0020] Therefore, in this embodiment, the work machine 120 periodically or at predetermined timings determines the positional relationship between a predetermined part of the body of the worker 20 and a predetermined part of the work machine 120 (this may be referred to as the positional relationship between the worker 20 and the work machine 120, the current positional relationship, etc.). For example, the work machine 120 determines the positional relationship between a determination target 22 provided on a part of the body of the worker 20 and a representative point 30 of the work machine 120.
[0021] In one embodiment, the positional relationship between the worker 20 and the work machine 120 is determined based on at least one of an image, a stereo image, a range image, and point cloud data of the worker 20 taken or acquired by equipment mounted on the work machine 120. Examples of such equipment include a camera, a stereo camera, and LiDAR.
[0022] In another embodiment, the positional relationship between the worker 20 and the work machine 120 is determined based on at least one of images, stereo images, range images, and point cloud data of the worker 20 and the work machine 120 taken or acquired by equipment located near the work route. Examples of such equipment include a camera, a stereo camera, and LiDAR. The above equipment may be fixed to land or a building, or may be configured to be mobile. The above equipment may be mounted on an autonomous flying device such as a drone, another work machine 120, or the like.
[0023] In yet another embodiment, the positional relationship between the worker 20 and the work machine 120 is determined based on position data of the worker 20 and the work machine 120. The position data of the worker 20 is acquired, for example, by a GPS radio wave receiving device carried by the worker 20. The position data of the work machine 120 is acquired, for example, by a GPS radio wave receiving device mounted on the work machine 120.
[0024] Examples of the determination object 22 include the head, the torso, and parts thereof. It is preferable that the determination object 22 is a body part other than the hands or feet. For example, when the worker 20 performs the task of storing harvested agricultural products in a box mounted on the work machine 120, the distance between the hand or foot of the worker 20 and the representative point 30 of the work machine 120 may become very small. Therefore, if the hand or foot of the worker 20 is set as the determination object 22, there is a possibility that the work machine 120 will start moving ahead against the will of the worker 20. The "hand" mentioned above may be from the fingertip to the wrist. The "foot" mentioned above may be from the toe to the ankle.
[0025] The object of determination 22 may be a hand or a foot. When the hand or foot of the worker 20 is set as the object of determination 22, the threshold value for the work machine 120 to start moving ahead may be smaller than the threshold value when the head or torso of the worker 20 is set as the object of determination 22.
[0026] It should be noted that the predetermined part of the body of the worker 20 is not limited to the determination target 22. The predetermined part of the work machine 120 is not limited to the representative point 30.
[0027] Furthermore, in this embodiment, the work machine 120 determines whether the current positional relationship matches a predetermined condition (sometimes referred to as a positional condition) regarding the positional relationship between the worker 20 and the work machine 120. If the current positional relationship matches the positional condition, the work machine 120 executes processing (sometimes referred to as a search processing) to search for a destination position for the preceding movement.
[0028] The above position condition may be (a) a condition that the distance between a predetermined part of the body of the worker 20 and a predetermined part of the work machine 120 is equal to or less than a first threshold. The above position condition may be (b) a condition that (i) the distance between a predetermined part of the body of the worker 20 and a predetermined part of the work machine 120 is equal to or less than a second threshold, and (ii) the absolute value of the angle between the extension direction of the x-axis 32 and the direction from the representative point 30 of the work machine 120 toward the predetermined part of the body of the worker 20 is equal to or less than a third threshold. The above position conditions may be a combination of these.
[0029] The first threshold and the second threshold may be the same or different. When the first threshold and the second threshold are different, the first threshold may be equal to or greater than the second threshold.
[0030] In the search process, the destination position for the preceding movement is determined based on, for example, the movement pattern of the worker 20 in a unit period, the predetermined movement route of the work machine 120, and the locations of multiple points where the work machine 120 is permitted to stop. This makes it possible to provide a control device or control program for causing the work machine 120 to move precedingly, a work machine 120 capable of moving precedingly, and the like.
[0031] (Overview of each part of the work machine 120)
[0032] 1, in this embodiment, the work machine 120 has, for example, a base unit 130, one or more (sometimes simply referred to as one or more) mobile units 132, one or more forward sensors 134, one or more rearward sensors 136, one or more working units 138, and a control unit 140. Details of each part will be described later.
[0033] (Specific configuration of each part of the work machine 120) Each unit of work machine 120 may be implemented by hardware, software, or a combination of hardware and software. At least a portion of each unit of work machine 120 may be implemented by a single server or multiple servers. At least a portion of each unit of work machine 120 may be implemented on a virtual machine or a cloud system. At least a portion of each unit of work machine 120 may be implemented by a personal computer or a mobile terminal. Examples of mobile terminals include mobile phones, smartphones, PDAs, tablets, notebook or laptop computers, and wearable computers. Each unit of work machine 120 may store information using a distributed ledger technology or a distributed network, such as blockchain.
[0034] When at least some of the components that make up work machine 120 are realized by software, the components realized by the software may be realized by running software or a program that defines the operation of the components in an information processing device with a general configuration. The information processing device with the general configuration described above may include (i) a data processing device having a processor such as a CPU or GPU, a ROM, a RAM, a communication interface, etc., (ii) input devices such as a keyboard, a pointing device, a touch panel, a camera, a voice input device, a gesture input device, various sensors, a GPS receiver, etc., (iii) output devices such as a display device, a voice output device, a vibration device, etc., and (iv) storage devices (including external storage devices) such as memory, HDD, SSD, etc.
[0035] In the information processing device of the above general configuration, the data processing device or storage device may store the above software or program. When executed by a processor, the above software or program causes the above information processing device to perform the operations defined by the software or program. The above software or program may be stored on a non-transitory computer-readable recording medium. The above software or program may be a program that causes a computer to function as work machine 120 or a part thereof. The above software or program may be a program that causes a computer to execute information processing on work machine 120 or a part thereof.
[0036] In one embodiment, the information processing method may be a control method for controlling the movement of a mobile body having an autonomous movement function. The control method may include, for example, a control step of controlling a drive device of the mobile body to move the mobile body to the other side of the mobile body when a user of the mobile body approaches the mobile body from one side of the mobile body. In the control method, the control step may include, for example, a position determination step of determining whether a positional relationship between a predetermined part of the user's body and a predetermined part of the mobile body satisfies a position condition, which is a predetermined condition regarding the positional relationship. The control step may include, for example, a destination position determination step of determining a destination position for moving the mobile body to the other side of the mobile body in the control step when the positional relationship satisfies the position condition. The operating entity of each step of the information processing method may be a computer.
[0037] The worker 20 may be an example of a user of a mobile body. The work machine 120 may be an example of a mobile body. The front 122 of the work machine 120 may be an example of the other side of the mobile body. The rear 124 of the work machine 120 may be an example of one side of the mobile body. The movement unit 132 may be an example of a drive device. The control unit 140 may be an example of a control device or a control section. The destination position of the preceding movement may be an example of a destination position when the control device moves the mobile body to the other side of the mobile body.
[0038] (An example of another embodiment) In this embodiment, an example of a work machine 120 has been described, taking as an example a case where the autonomous movement of the work machine 120 is controlled using a Cartesian coordinate system with the representative point 30 of the work machine 120 as the origin. However, the coordinate system used to control the work machine 120 is not limited to this embodiment. In other embodiments, various coordinate systems other than the Cartesian coordinate system are used. For example, a polar coordinate system is used. In still other embodiments, a tensor or tensor field is used.
[0039] In this embodiment, an example of the work machine 120 and control unit 140 has been described in which the control unit 140 of a specific work machine 120 (i) determines whether the positional relationship between a predetermined part of the body of the worker 20 and a predetermined part of the specific work machine 120 matches a predetermined positional condition, and (ii) if the positional relationship matches the positional condition, determines the destination position of the specific work machine 120. However, the work machine 120 and control unit 140 are not limited to this embodiment.
[0040] In other embodiments, the above-mentioned information processing in the control unit 140 of a specific work machine 120 may be executed by another information processing device arranged external to the specific work machine 120. Examples of other information processing devices include (i) another control unit 140 arranged in a work machine 120 different from the specific work machine 120, and (ii) a computer or server configured to be able to send and receive information to and from the specific work machine 120 via a communications network. In this case, the control unit 140 of the specific work machine 120 acquires information indicating the destination position of the specific work machine 120 from the above-mentioned other information processing device, for example, via the communications network. Furthermore, the control unit 140 of the specific work machine 120 controls the movement of the specific work machine 120 based on the information indicating the destination position acquired from the other information processing device.
[0041] Figure 2 schematically shows an example of the system configuration of the work machine 120. As described in relation to Figure 1, in this embodiment, the work machine 120 has a base unit 130, a mobile unit 132, a front sensor 134, a rear sensor 136, a working unit 138, and a control unit 140. As shown in Figure 2, in this embodiment, the work machine 120 further includes one or more power supply units 230, one or more sensor units 240, one or more vibration damping units 250, and one or more balance adjustment units 280.
[0042] In this embodiment, the work machine 120 may be a work machine that performs any work. The work machine 120 performs, for example, various agricultural tasks, monitoring tasks, etc. The work machine 120 may be fixed or mobile. The work machine 120 may have an autonomous driving function or an autonomous navigation function, and may be operated by remote control, or may be operated by an operator riding on the work machine 120. The work machine 120 is preferably an unmanned work machine that has an autonomous driving function or an autonomous navigation function.
[0043] The work machine 120 may be a small robot. For example, the volume of each work machine 120 is 2 m 3 may be less than 1m 3 May be less than 0.5m 3 may be less than 0.25m 3 This allows the work machine 120 to move freely around the production site. As a result, for example, the work machine 120 can observe products being produced from angles that would be difficult for a human to observe.
[0044] In this embodiment, the base unit 130 holds the moving unit 132, the front sensor 134, the rear sensor 136, the working unit 138, the control unit 140, the power supply unit 230, the sensor unit 240, the vibration suppression unit 250, and the balance adjustment unit 280. In this embodiment, the base unit 130 detachably holds at least one of the moving unit 132, the front sensor 134, the rear sensor 136, the working unit 138, the control unit 140, the power supply unit 230, the sensor unit 240, the vibration suppression unit 250, and the balance adjustment unit 280. This enables the work machine 120 to handle a plurality of different types of work.
[0045] In this embodiment, the base unit 130 includes a control unit 140 and a power supply unit 230. The control unit 140 and the power supply unit 230 may be built into the base unit 130. At least one of the control unit 140 and the power supply unit 230 may be removably disposed in the base unit 130. In one embodiment, at least one of the control unit 140 and the power supply unit 230 is removably disposed inside the base unit 130. In another embodiment, at least one of the control unit 140 and the power supply unit 230 is removably disposed outside the base unit 130.
[0046] In this embodiment, the mobile unit 132 drives the work machine 120. For example, the mobile unit 132 moves the work machine 120. The power source of the mobile unit 132 may be electricity, an internal combustion engine, or a steam engine. For example, the mobile unit 132 converts the electricity supplied from the power supply unit 230 into power to move the work machine 120. In this embodiment, the mobile unit 132 may have a built-in power source that generates power using the electricity supplied from the power supply unit 230. Examples of the power source include a motor and an actuator.
[0047] In one embodiment, the mobile unit 132 includes wheels for moving on land and a power source for driving the wheels. In another embodiment, the mobile unit 132 includes tracks for moving on land and a power source for driving the tracks. In yet another embodiment, the mobile unit 132 may include a screw for moving on or underwater and a power source for driving the screw. The mobile unit 132 may further include a buoyancy material for providing buoyancy. In yet another embodiment, the mobile unit 132 may include a propeller for moving in the air and a power source for driving the propeller. The mobile unit 132 may further include a balloon or air bag for floating in the air.
[0048] In this embodiment, the forward sensor 134 detects features located in front 122 of the work machine 120. For example, the forward sensor 134 detects obstacles located in front 122 of the work machine 120, unevenness in the road surface, etc. The forward sensor 134 may detect the worker 20 located in front 122 of the work machine 120. The forward sensor 134 may detect a predetermined part of the body of the worker 20 located in front 122 of the work machine 120. The forward sensor 134 may detect the approach of the worker 20 from in front 122 of the work machine 120. Examples of the forward sensor 134 include a camera, a stereo camera, LiDAR, and a human presence sensor. The camera may be a visible light camera or an infrared camera.
[0049] The forward sensor 134 outputs data indicating the measurement or detection results to the control unit 140. The data output by the forward sensor 134 may be stored in a storage device of the work machine 120, or may be transmitted to an external information processing device via a communication network.
[0050] In this embodiment, the rear sensor 136 detects features located behind 124 of the work machine 120. For example, the front sensor 134 detects obstacles located behind 124 of the work machine 120, unevenness in the road surface, etc. The front sensor 134 may detect the worker 20 located behind 124 of the work machine 120. The rear sensor 136 may detect a predetermined part of the body of the worker 20 located behind 124 of the work machine 120. The rear sensor 136 may detect the approach of the worker 20 from behind 124 of the work machine 120. Examples of the rear sensor 136 include a camera, a stereo camera, LiDAR, and a human presence sensor. The camera may be a visible light camera or an infrared camera.
[0051] The rear sensor 136 outputs data indicating the measurement or detection results to the control unit 140. The data output by the rear sensor 136 may be stored in a storage device of the work machine 120, or may be transmitted to an external information processing device via a communication network.
[0052] In this embodiment, the working unit 138 may be an attachment specialized for a particular task. According to this embodiment, the working unit 138 according to the application is attached to the base unit 130. This allows the work machine 120 to perform a number of different types of tasks.
[0053] When the work subject of worker 20 is agricultural produce, or when worker 20's work is farm work, work unit 138 may be an attachment for farm work. In this embodiment, work unit 138 may be a unit specialized for one or more farm works. Examples of work unit 138 include a chemical spraying device for pest control, a fertilizer spraying device for spraying fertilizer, a gas spraying device for spraying gas, a ridge making device, a seedling dropping device, a seed sowing device, a tilling device, a manipulator having a jig for removing unnecessary branches and leaves, a manipulator having a jig for thinning agricultural produce, a weeding device (for example, a weeding device for abandoned rice fields), a watering device, a bird and animal scaring device (for example, a device that scares birds and animals with sound or light), a thinning device, a flower picking device, a fruit thinning device, and a bagging device (for example, a bagging device for fruit trees).
[0054] In this embodiment, the working unit 138 is detachably held by the base unit 130. The working unit 138 may have a built-in power source that uses power supplied from the power supply unit 230 to generate power for driving the working unit 138. Examples of the power source include a motor and an actuator.
[0055] In this embodiment, the operation unit 138 may include an information processing device that executes firmware and controls the operation unit 138. The information processing device may be a processor such as a CPU or a GPU. The information processing device may include: (i) a data processing device having a processor such as a CPU or a GPU, a ROM, a RAM, a communication interface, etc.; (ii) input devices such as a keyboard, a pointing device, a touch panel, a camera, a voice input device, a gesture input device, various sensors, a GPS receiver, etc.; (iii) output devices such as a display device, a voice output device, a vibration device, etc.; and (iv) storage devices (including external storage devices) such as memory, an HDD, an SSD, etc.
[0056] The firmware may be updated at an appropriate time. For example, the control unit 140 accesses an external information processing device via a communication line and acquires the latest firmware. The control unit 140 cooperates with the information processing device disposed in the operation unit 138 to perform the firmware update process.
[0057] In this embodiment, the control unit 140 controls the work machine 120. The control unit 140 may control the operation of each part of the work machine 120. For example, the control unit 140 controls the operation of the mobile unit 132 to move the work machine 120 toward a desired destination position. Details of the control unit 140 will be described later.
[0058] In this embodiment, the power supply unit 230 supplies power to each part of the work machine 120. The power supply unit 230 may supply power to at least one of the vibration suppression unit 250, the front sensor 134, the rear sensor 136, and the control unit 140.
[0059] In this embodiment, the sensor unit 240 measures various physical quantities. For example, the sensor unit 240 measures at least one of a physical quantity related to the worker 20 and the work machine 120, a physical quantity related to features around the work machine 120, a physical quantity related to the worker 20, and a physical quantity related to a work target of the worker 20.
[0060] In one embodiment, the sensor unit 240 is detachably disposed outside the base unit 130. In another embodiment, the sensor unit 240 is disposed in another unit. For example, the sensor unit 240 is incorporated into the working unit 138. The sensor unit 240 may also be incorporated into the control unit 140.
[0061] The sensor unit 240 may include one or more sensors. The sensor unit 240 may include one or more types of sensors. The front sensor 134 and the rear sensor 136 may be part of one or more sensors that make up the sensor unit 240. The sensor unit 240 may output information indicating the measurement results or detection results of the one or more sensors to the control unit 140. The data output by the sensor unit 240 may be stored in a storage device of the work machine 120, or may be transmitted to an external information processing device via a communication network.
[0062] In this embodiment, the vibration suppression unit 250 controls vibrations. The vibration suppression unit 250 may suppress vibrations of each part of the work machine 120. For example, the vibration suppression unit 250 controls vibrations of at least one of the front sensor 134, the rear sensor 136, the working unit 138, and the sensor unit 240. The vibration suppression unit 250 may control vibrations in accordance with commands from the control unit 140. The vibration suppression unit 250 may have a power source that uses power supplied from the power supply unit 230 to generate power for driving the vibration suppression unit 250. Examples of the power source include a motor and an actuator.
[0063] In this embodiment, the balance adjustment unit 280 has a weight. The balance adjustment unit 280 is detachably held on the base unit 130. Depending on the weight of the unit attached to the base unit 130 and the position of its center of gravity, the weight balance of the work machine 120 may become poor, causing the work machine 120 to become unstable. Therefore, by attaching the balance adjustment unit 280 to an appropriate position on the base unit 130, the weight balance of the work machine 120 can be adjusted.
[0064] 3 shows a schematic example of the positional relationship between the worker 20 and the work machine 120. In this embodiment, for the purpose of simplifying the explanation, an example of the positional relationship between the two in two-dimensional space will be described. Note that a person skilled in the art who has read the description of this embodiment will be able to easily extend the positional relationship between the two in two-dimensional space to the positional relationship between the two in three-dimensional space.
[0065] In this embodiment, the position 310 of the object 22 to be determined of the worker 20 at time t1 is represented by (x1, y1) in the robot coordinate system, and the position 310 of the object 22 to be determined of the worker at time t2 is represented by (x2, y2) in the robot coordinate system.
[0066] At this time, at time t1, the direction from representative point 30 toward position 310 of determination target 22 of worker 20 is represented by vector 312. Similarly, at time t2, the direction from representative point 30 toward position 320 of determination target 22 of worker 20 is represented by vector 322. The angle between vector 312 and x-axis 32 is angle 314, and the angle between vector 322 and x-axis 32 is angle 324.
[0067] A vector (sometimes referred to as a movement vector) representing the movement of the worker 20 during the period from time t1 to time t2 (which may be an example of the unit period described above) is represented by the movement vector 332. The direction in which the worker 20 moved between time t1 and time t2 (sometimes referred to as a user movement direction) is represented as the direction of the movement vector 332. The distance in which the worker 20 moved between time t1 and time t2 (sometimes referred to as a user movement distance) is represented as the magnitude of the movement vector 332.
[0068] Time t1 may be an example of a first time, and time t2 may be an example of a second time.
[0069] Figure 4 shows an example of information processing in the work machine 120. Using Figure 4, an example of information processing when the control unit 140 moves the work machine 120 ahead will be described.
[0070] According to this embodiment, in step 412 (step may be abbreviated as S), the control unit 140 periodically or at predetermined timing determines the positional relationship between the worker 20 and the work machine 120. Furthermore, each time the positional relationship between the worker 20 and the work machine 120 is determined, the control unit 140 determines whether or not the positional relationship satisfies the above-described positional conditions.
[0071] If it is determined that the above positional relationship does not match the positional condition (No in S412), the control unit 140 repeats the process of S412. On the other hand, if it is determined that the above positional relationship matches the positional condition (Yes in S412), in S414, the control unit 140 determines positions (sometimes referred to as candidate positions) that are candidates for the destination position of the preceding movement.
[0072] Next, in S420, the control unit 140 determines whether or not the work machine 120 can reach the candidate position. For example, if there is an obstacle, a deep ditch, a steep slope, or the like between the current position of the work machine 120 and the candidate position, the work machine 120 will not be able to reach the candidate position.
[0073] If it is determined that the work machine 120 can reach the candidate position (Yes in S420), then in S422 the control unit 140 determines the candidate position as the destination position of the work machine 120. Furthermore, in S424 the control unit 140 controls the mobile unit 132 to move the work machine 120 to the destination position. When the work machine 120 reaches the destination position, the control unit 140 controls the mobile unit 132 to stop the work machine 120. Thereafter, the control unit 140 returns to the processing of S412.
[0074] On the other hand, if it is determined that the work machine 120 cannot reach the candidate position (No in S420), then in S430 the control unit 140 determines whether or not the candidate position can be changed. If it is determined that the candidate position can be changed (Yes in S430), the control unit executes the processing of S422.
[0075] On the other hand, if it is determined that the candidate position cannot be changed (No in S430), then in S432 the control unit decides not to move the work machine 120. Furthermore, in S434 the control unit 140 decides to output a warning to the worker 20, and ends the processing.
[0076] Figure 5 shows a schematic diagram of an example of a position condition. In Figure 5, dotted line 520 indicates a position where the distance from representative point 30 of work machine 120 is a predetermined value. Dotted lines 542 and 544 indicate positions where the absolute value of the angle formed with x-axis 32 is a predetermined value.
[0077] In one embodiment, if the position of the determination target 22 of the worker 20 (sometimes referred to as the position of the worker 20) is located in the area inside the dotted line 520, it is determined that the positional relationship between the worker 20 and the work machine 120 meets the position condition. In another embodiment, if the position of the worker 20 is located inside the area surrounded by the dotted line 520, the dotted line 542, and the dotted line 544, where the value of x is positive, it is determined that the positional relationship between the worker 20 and the work machine 120 meets the position condition.
[0078] 6 schematically shows an example of a method for determining a candidate position. In this embodiment, the control unit 140 determines to move the work machine 120 in a direction substantially parallel to the user movement direction indicated by the movement vector 332. In this case, the direction of the vector 632 pointing from the representative point 30 toward the candidate position 630 substantially coincides with the direction of the movement vector 332. The angle between the vector 632 and the x-axis 32 is represented as an angle 634.
[0079] In one embodiment, candidate position 630 is determined so that the magnitude of vector 632 approximately matches the magnitude of movement vector 332. In this case, a position that is located from the current position of work machine 120, in a direction approximately parallel to the user movement direction, a distance approximately equal to the user movement distance, is determined as the candidate position.
[0080] In another embodiment, the candidate position 630 is determined so that the magnitude of the vector 632 is a predetermined value. In this case, a position that is a predetermined distance from the current position of the work machine 120 in a direction substantially parallel to the user's movement direction is determined as the candidate position.
[0081] 7 schematically shows an example of a method for determining a candidate position. In this embodiment, the work machine 120 moves along a predetermined route 700. The route 700 is represented by, for example, a plurality of points 702. In this embodiment, the candidate position 730 is determined so that the distance from the current position of the work machine 120 on the route 700 to the candidate position 730 approximately matches the magnitude Lr of the component of the vector 632 in the direction along the route 700. In this embodiment, if the magnitude of the movement vector is Lm and the angle of the angle 634 is θ, then Lr can be calculated as Lr = -Lm × cos θ.
[0082] 8 shows an example of a method for determining a candidate position. In this embodiment, the work machine 120 moves along a predetermined route 700. In this embodiment, the candidate position 830 is determined so that the distance from the current position of the work machine 120 on the route 700 to the candidate position 730 approximately matches the magnitude of the vector 632 (that is, the magnitude Lm of the movement vector 332). Note that in other embodiments, the candidate position 830 may be determined so that the distance from the current position of the work machine 120 on the route 700 to the candidate position 730 is a predetermined value.
[0083] FIG. 9 shows an outline of an example of a method for determining candidate positions. In this embodiment, positions where the work machine 120 is permitted to stop (sometimes referred to as stop positions) are determined in advance. A sequence may be assigned to each of the multiple stop positions. In FIG. 9, stop position 900, stop position 902, stop position 904, and stop position 906 are arranged in this order. When the current position of the work machine 120 is stop position 900, if the positional relationship between the worker 20 and the work machine 120 meets the positional conditions, for example, stop position 902, which is the next stop position, is determined as candidate position 930.
[0084] 10 shows an example of a method for changing the candidate position. In this embodiment, an obstacle 50 is located between the current position of the work machine 120 and the candidate position 1030, and the work machine 120 cannot reach the candidate position 1030. In this case, the control unit 140 executes processing to change the candidate position.
[0085] In one embodiment, the changed candidate position 1032 is determined so that the distance between the work machine 120 and the obstacle 50 at the changed candidate position 1032 is greater than a predetermined value d, and the distance from the current position of the work machine 120 to the candidate position 1032 (expressed as the sum of Lra and Lrb in the drawing) approximately matches the magnitude Lr of the vector 632. In another embodiment, the control unit 140 may determine the changed candidate position 1032 by rotating the vector 632 around the representative point 30 to a position that the work machine 120 can reach.
[0086] 11 schematically illustrates an example of the internal configuration of the control unit 140. In this embodiment, the control unit 140 includes, for example, a position determination unit 1120 and a drive control unit 1140. In this embodiment, the position determination unit 1120 includes, for example, a user recognition unit 1122, a determination part detection unit 1124, a first condition determination unit 1126, and a second condition determination unit 1128. The drive control unit 1140 includes, for example, a candidate position determination unit 1142, an arrival determination unit 1144, a candidate position change unit 1146, and a destination position determination unit 1148.
[0087] In this embodiment, the position determination unit 1120 determines the positional relationship between the worker 20 and the work machine 120. The position determination unit 1120 also determines whether the positional relationship between the worker 20 and the work machine 120 meets a position condition.
[0088] In this embodiment, the user recognition unit 1122 recognizes the worker 20. For example, the user recognition unit 1122 analyzes data output by the rear sensor 136 to recognize the worker 20. In this embodiment, the judgment part detection unit 1124 analyzes data of the recognized worker 20 to detect the judgment target 22 of the worker 20.
[0089] In this embodiment, the first condition determination unit 1126 determines the positional relationship between the determination target 22 of the worker 20 and the representative point 30 of the work machine 120. Examples of the positional relationship include the above-mentioned vector 312, angle 314, vector 322, and angle 324. The first condition determination unit 1126 determines whether or not the condition that the distance between the determination target 22 of the worker 20 and the representative point 30 of the work machine 120 is equal to or less than a first threshold is met. The first condition determination unit 1126 outputs the determination result to the drive control unit 1140.
[0090] In this embodiment, the second condition determination unit 1128 determines the positional relationship between the determination target 22 of the worker 20 and the representative point 30 of the work machine 120. Examples of the positional relationship include the vector 312, angle 314, vector 322, and angle 324 described above. The second condition determination unit 1128 determines whether or not the following conditions are met: (i) the distance between the determination target 22 of the worker 20 and the representative point 30 of the work machine 120 is equal to or less than a first threshold value, and (ii) the absolute value of the angle between the positive direction of the x-axis 32 and the direction from the representative point 30 of the work machine 120 toward the determination target 22 of the worker 20 is equal to or less than a third threshold value. The second condition determination unit 1128 outputs the determination result to the drive control unit 1140.
[0091] In this embodiment, the drive control unit 1140 controls the movement of the work machine 120. For example, the drive control unit 1140 controls the movement unit 132 to move the work machine 120 to a specific position. When the positional relationship between the worker 20 and the work machine 120 meets a position condition, the drive control unit 1140 may control the movement unit 132 to move the work machine 120 to the front 122 side of the work machine 120.
[0092] In this embodiment, the candidate position determiner 1142 determines the candidate positions described above. Details of the candidate position determiner 1142 will be described later.
[0093] In this embodiment, the reach determination unit 1144 determines whether the work machine 120 can reach the candidate position. In one embodiment, the candidate position determination unit 1142 determines whether the work machine 120 can reach the candidate position on a two-dimensional plane. In another embodiment, the candidate position determination unit 1142 determines whether the work machine 120 can reach the candidate position in three-dimensional space. For example, the candidate position determination unit 1142 constructs a virtual space including a three-dimensional model of the work machine 120 and the features located around the work machine 120. The candidate position determination unit 1142 also determines whether the work machine 120 can reach the candidate position based on the presence or absence or the degree of interference in the virtual space.
[0094] In this embodiment, the candidate position change unit 1146 changes the candidate position when the work machine 120 is unable to reach the candidate position determined by the candidate position determination unit 1142. The candidate position change unit 1146 changes the candidate position, for example, according to the procedure described in relation to FIG. 10 .
[0095] In this embodiment, the destination position determiner 1148 determines the destination position described above. In one embodiment, the destination position determiner 1148 determines, as the destination position, the candidate position determined by the candidate position determiner 1142. In another embodiment, the destination position determiner 1148 determines, as the destination position, the candidate position changed by the candidate position changer 1146.
[0096] The position determination unit 1120 arranged in the control unit 140 of the work machine 120 may be an example of a position determination unit. The first condition determination unit 1126 may be an example of a position determination unit. The second condition determination unit 1128 may be an example of a position determination unit. The destination position determination unit 1148 arranged in the control unit 140 of the work machine 120 may be an example of a destination position determination unit. The candidate position determination unit 1142 arranged in the control unit 140 of the work machine 120 may be an example of a candidate position determination unit. The arrival determination unit 1144 arranged in the control unit 140 of the work machine 120 may be an example of an arrival determination unit.
[0097] (An example of another embodiment) In this embodiment, an example of a work machine 120 and a control unit 140 has been described, taking as an example a case where a position determination unit 1120 and a drive control unit 1140 for determining a target position of a specific work machine 120 are arranged in the control unit 140 of that specific work machine 120. However, the work machine 120 and the control unit 140 are not limited to this embodiment.
[0098] In other embodiments, information processing in the position determination unit 1120 or a part thereof may be executed by another information processing device arranged external to the specific work machine 120. The position determination unit 1120 or a part thereof may be arranged in the above-mentioned other information processing device. In still other embodiments, information processing in the drive control unit 1140 or a part thereof may be executed by another information processing device arranged external to the specific work machine 120. The drive control unit 1140 or a part thereof may be arranged in the above-mentioned other information processing device. Examples of other information processing devices include (i) another control unit 140 arranged in a work machine 120 different from the specific work machine 120, and (ii) a computer, server, etc. configured to be able to send and receive information to and from the specific work machine 120 via a communications network.
[0099] 12 schematically illustrates an example of the internal configuration of the candidate position determination unit 1142. In this embodiment, the candidate position determination unit 1142 includes, for example, a setting information storage unit 1222, a route information storage unit 1224, and a stop position information storage unit 1226. In this embodiment, the candidate position determination unit 1142 includes, for example, an operation mode determination unit 1232 and a movement vector derivation unit 1234. In this embodiment, the candidate position determination unit 1142 includes, for example, a first mode determination unit 1242, a second mode determination unit 1244, and a third mode determination unit 1246.
[0100] In this embodiment, the setting information storage unit 1222 stores various types of setting information. Examples of the various types of setting information include the operation mode of the work machine 120, thresholds or setting values in the various types of information processing described above, and the like.
[0101] In this embodiment, the route information storage unit 1224 stores information indicating the route of the above-described work machine 120. In this embodiment, the stop position information storage unit 1226 stores information indicating the stop position of the above-described work machine 120.
[0102] In this embodiment, the operation mode determination unit 1232 determines the operation mode of the work machine 120. For example, the procedure for determining the destination position is determined according to the operation mode of the work machine 120.
[0103] In this embodiment, the movement vector derivation unit 1234 derives the movement vector 322 for each unit period, thereby determining the user movement direction and user movement distance for each unit period.
[0104] In this embodiment, the first mode determination unit 1242 determines, as a candidate position, a position that is located a distance substantially equal to the user movement distance in a direction parallel to the user movement direction, based on the current position of the work machine 120. The first mode determination unit 1242 may also determine, as a candidate position, a position that is located a predetermined distance in a direction parallel to the user movement direction, based on the current position of the work machine 120.
[0105] In this embodiment, the second mode determination unit 1244 acquires information indicating the movement route of the work machine 120 and determines positions on the movement route as candidate positions. The second mode determination unit 1244 may determine the user movement direction in each unit period. The second mode determination unit 1244 may determine positions on the movement route as candidate positions based on the user movement direction.
[0106] The second mode determination unit 1244 may determine the user movement distance in each unit period. The second mode determination unit 1244 may determine, as a candidate position, a position that is approximately the same distance as the user movement distance on the movement route, based on the current position of the work machine 120. The second mode determination unit 1244 may determine, as a candidate position, a position that is a predetermined distance on the movement route, based on the current position of the work machine 120.
[0107] In this embodiment, the third mode determination section 1246 acquires information indicating each of a plurality of stop positions, and may determine a candidate position from among the plurality of stop positions.
[0108] 13 illustrates an example of a computer 3000 in which aspects of the present invention may be embodied, in whole or in part. At least a portion of work machine 120 may be implemented by computer 3000. For example, control unit 140 of work machine 120 may be implemented by computer 3000.
[0109] A program installed on the computer 3000 can cause the computer 3000 to function as or perform operations associated with an apparatus according to an embodiment of the present invention or one or more "parts" of the apparatus, and / or to perform a process or steps of the process according to an embodiment of the present invention. Such a program can be executed by the CPU 3012 to cause the computer 3000 to perform specific operations associated with some or all of the blocks of the flowcharts and block diagrams described herein.
[0110] A computer 3000 according to this embodiment includes a CPU 3012, a RAM 3014, a GPU 3016, and a display device 3018, which are interconnected by a host controller 3010. The computer 3000 also includes input / output units such as a communication interface 3022, a hard disk drive 3024, a DVD-ROM drive 3026, and an IC card drive, which are connected to the host controller 3010 via an input / output controller 3020. The computer also includes legacy input / output units such as a ROM 3030 and a keyboard 3042, which are connected to the input / output controller 3020 via an input / output chip 3040.
[0111] The CPU 3012 operates according to programs stored in the ROM 3030 and RAM 3014, thereby controlling each unit. The GPU 3016 acquires image data generated by the CPU 3012 into a frame buffer or the like provided in the RAM 3014 or into the GPU 3016 itself, and causes the image data to be displayed on the display device 3018.
[0112] The communication interface 3022 communicates with other electronic devices via a network. The hard disk drive 3024 stores programs and data used by the CPU 3012 in the computer 3000. The DVD-ROM drive 3026 reads programs or data from the DVD-ROM 3001 and provides the programs or data to the hard disk drive 3024 via the RAM 3014. The IC card drive reads programs and data from an IC card and / or writes programs and data to an IC card.
[0113] The ROM 3030 stores therein a boot program or the like that is executed by the computer 3000 upon activation, and / or programs that depend on the hardware of the computer 3000. The input / output chip 3040 may also connect various input / output units to the input / output controller 3020 via a parallel port, a serial port, a keyboard port, a mouse port, etc.
[0114] The programs are provided by a computer-readable storage medium such as a DVD-ROM 3001 or an IC card. The programs are read from the computer-readable storage medium, installed in the hard disk drive 3024, RAM 3014, or ROM 3030, which are also examples of computer-readable storage media, and executed by the CPU 3012. The information processing described in these programs is read by the computer 3000, and brings about cooperation between the programs and the various types of hardware resources described above. An apparatus or method may be configured by implementing operations or processing of information in accordance with the use of the computer 3000.
[0115] For example, when communication is performed between computer 3000 and an external device, CPU 3012 may execute a communication program loaded into RAM 3014 and instruct communication interface 3022 to perform communication processing based on the processing described in the communication program. Under the control of CPU 3012, communication interface 3022 reads transmission data stored in a transmission buffer area provided in RAM 3014, hard disk drive 3024, DVD-ROM 3001, or a recording medium such as an IC card, and transmits the read transmission data to the network, or writes received data received from the network to a reception buffer area or the like provided on the recording medium.
[0116] Furthermore, CPU 3012 may cause all or a necessary portion of a file or database stored on an external recording medium such as hard disk drive 3024, DVD-ROM drive 3026 (DVD-ROM 3001), IC card, etc. to be read into RAM 3014, and may perform various types of processing on the data on RAM 3014. CPU 3012 may then write back the processed data to the external recording medium.
[0117] Various types of information, such as various types of programs, data, tables, and databases, may be stored on the recording medium and subjected to information processing. The CPU 3012 may perform various types of processing on data read from the RAM 3014, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc., as described throughout this disclosure and specified by the instruction sequences of the programs, and write the results back to the RAM 3014. The CPU 3012 may also search for information in a file, database, etc. on the recording medium. For example, if multiple entries, each having an attribute value of a first attribute associated with an attribute value of a second attribute, are stored on the recording medium, the CPU 3012 may search for an entry whose attribute value of the first attribute matches a specified condition from among the multiple entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.
[0118] The above-described programs or software modules may be stored in a computer-readable storage medium on or near the computer 3000. A recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can also be used as a computer-readable storage medium, thereby providing the above-described programs to the computer 3000 via the network.
[0119] In this embodiment, an example of the computer 3000 has been described using a hard disk drive 3024, a DVD-ROM drive 3026 (DVD-ROM 3001), an IC card, etc. as an external recording medium, which is an example of a storage device, a recording medium, or a computer-readable storage medium. However, the various recording media or storage devices are not limited to this embodiment. In other embodiments, an SSD, an eMMC, an SD card, etc. may be used as the recording medium or storage device.
[0120] Although the present invention has been described above using embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications and improvements can be made to the above embodiments. Furthermore, details described for a particular embodiment can be applied to other embodiments to the extent that they are not technically inconsistent. It is apparent from the claims that such modifications and improvements can also be included within the technical scope of the present invention.
[0121] It should be noted that the execution order of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before," "prior to," etc., and that the processes can be performed in any order unless the output of a previous process is used in a subsequent process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, this does not mean that the processes must be performed in this order. [Explanation of symbols]
[0122] 20 worker, 22 object to be judged, 30 representative point, 32 x-axis, 34 y-axis, 36 z-axis, 50 obstacle, 120 work machine, 122 front, 124 rear, 130 base unit, 132 mobile unit, 134 front sensor, 136 rear sensor, 138 work unit, 140 control unit, 230 power supply unit, 240 sensor unit, 250 vibration control unit, 280 balance adjustment unit, 310 position, 312 vector, 314 angle, 320 position, 322 vector, 324 angle, 332 movement vector, 520 dotted line, 542 dotted line, 544 dotted line, 630 candidate position, 632 vector, 634 angle, 700 route, 702 point, 730 candidate position, 830 candidate position, 900 Stop position, 902 Stop position, 904 Stop position, 906 Stop position, 930 Candidate position, 1030 Candidate position, 1032 Candidate position, 1120 Position determination unit, 1122 User recognition unit, 1124 Determination part detection unit, 1126 First condition determination unit, 1128 Second condition determination unit, 1140 Drive control unit, 1142 Candidate position determination unit, 1144 Arrival determination unit, 1146 Candidate position change unit, 1148 Destination position determination unit, 1222 Setting information storage unit, 1224 Route information storage unit, 1226 Stop position information storage unit, 1232 Operation mode determination unit, 1234 Movement vector derivation unit, 1242 First mode determination unit, 1244 Second mode determination unit, 1246 Third mode determination unit, 3000 Computer, 3001 DVD-ROM, 3010 Host controller, 3012 CPU, 3014 RAM, 3016 GPU, 3018 display device, 3020 I / O controller, 3022 communication interface, 3024 hard disk drive, 3026 DVD-ROM drive, 3030 ROM, 3040 I / O chip, 3042 keyboard
Claims
1. A control device for controlling movement of a moving body having an autonomous movement function, a control unit that controls a drive device of the moving body to move the moving body to the other side of the moving body when a user of the moving body approaches the moving body from one side of the moving body; The control unit a position determination unit that determines whether a positional relationship between a predetermined part of the user's body and a predetermined part of the moving object satisfies a position condition that is a predetermined condition regarding the positional relationship; a destination position determination unit that determines a destination position when the control device moves the moving body to the other side of the moving body when the positional relationship matches the position condition; a candidate position determination unit that determines a first candidate position that is a candidate for the destination position; an arrival determination unit that determines whether the moving object can reach the first candidate position; and the candidate position determination unit acquires information indicating a moving path of the moving object; determining a user movement direction, which is a direction in which the user moved between a first time and a second time; determining a user travel distance, which is a distance traveled by the user between the first time and the second time; determining, as the first candidate position, a position that is located a distance approximately equal to a distance that the user has moved along the movement path from a current position of the moving object based on the user movement direction and the user movement distance; the destination position determination unit determines the first candidate position determined by the reach determination unit to be reachable as the destination position; Control device.
2. A control device for controlling the movement of a moving body having an autonomous movement function, comprising: a control unit that controls a drive device of the moving body to move the moving body to the other side of the moving body when a user of the moving body approaches the moving body from one side of the moving body; The control unit a position determination unit that determines whether a positional relationship between a predetermined part of the user's body and a predetermined part of the moving object satisfies a position condition that is a predetermined condition regarding the positional relationship; a destination position determination unit that determines a destination position when the control device moves the moving body to the other side of the moving body when the positional relationship matches the position condition; a candidate position determination unit that determines a first candidate position that is a candidate for the destination position; an arrival determination unit that determines whether the moving object can reach the first candidate position; a candidate position change unit that determines a second candidate position when the arrival determination unit determines that the moving object cannot reach the first candidate position because an obstacle is located between the current position of the moving object and the first candidate position; and and the candidate position change unit determines the second candidate position such that a distance between the moving body and the obstacle is greater than a predetermined value, and a distance from the current position of the moving body to a first position, which is a position on a line connecting the current position of the moving body and the first candidate position at which the distance to the obstacle is a predetermined value, plus a distance from the first position to the second candidate position substantially matches a distance from the current position of the moving body to the first candidate position; the destination position determination unit determines the second candidate position as the destination position; Control device.
3. A control device for controlling the movement of a moving body having an autonomous movement function, a control unit that controls a drive device of the moving body to move the moving body to the other side of the moving body when a user of the moving body approaches the moving body from one side of the moving body; The control unit a position determination unit that determines whether a positional relationship between a predetermined part of the user's body and a predetermined part of the moving object satisfies a position condition that is a predetermined condition regarding the positional relationship; a destination position determination unit that determines a destination position when the control device moves the moving body to the other side of the moving body when the positional relationship matches the position condition; a candidate position determination unit that determines a first candidate position that is a candidate for the destination position; an arrival determination unit that determines whether the moving object can reach the first candidate position; a candidate position change unit that determines a second candidate position when the arrival determination unit determines that the moving object cannot reach the first candidate position because an obstacle is located between the current position of the moving object and the first candidate position; and and the candidate position change unit determines the second candidate position that can be reached by the mobile body such that a distance from the current position of the mobile body to the second candidate position is approximately equal to a distance from the current position of the mobile body to the first candidate position; the destination position determination unit determines the second candidate position as the destination position; Control device.
4. The candidate position determination unit determining a user movement direction, which is a direction in which the user moved between a first time and a second time, and a user movement distance, which is a distance in which the user moved between the first time and the second time; determining, as the first candidate position, a position that is located a distance substantially equal to the user movement distance in a direction parallel to the user movement direction, based on the current position of the moving object; The control device according to claim 2 or 3.
5. The candidate position determination unit determining a user movement direction, which is a direction in which the user moved between a first time and a second time; determining, as the first candidate position, a position that is a predetermined distance ahead in a direction parallel to the user's moving direction, based on the current position of the moving object; The control device according to claim 2 or 3.
6. The candidate position determination unit acquiring information indicating a travel route of the moving object; determining a position on the movement path as the first candidate position; The control device according to claim 2 or 3.
7. The candidate position determination unit determining a user movement direction, which is a direction in which the user moved between a first time and a second time; and determining a user movement distance, which is a distance in which the user moved between the first time and the second time; determining, as the first candidate position, a position on the movement path that is a distance substantially equal to the user movement distance from a current position of the moving object based on the user movement direction; The control device according to claim 6.
8. the candidate position determination unit determines, as the first candidate position, a position that is a predetermined distance along the movement path from a current position of the moving object as a reference; The control device according to claim 6.
9. The candidate position determination unit acquiring information indicating the positions of a plurality of points at which the moving body is permitted to stop; determining the first candidate location from among the plurality of locations; The control device according to claim 2 or 3.
10. The arrival determination unit constructing a virtual space including a three-dimensional model of the moving object and features arranged around the moving object; determining whether the moving object can reach the first candidate position based on the presence or absence or the degree of interference in the virtual space; The control device according to any one of claims 1 to 9.
11. The position condition is: (a) a condition that a distance between a predetermined part of the user's body and a predetermined part of the moving object is equal to or less than a first threshold; and (b) (i) the distance between a predetermined part of the user's body and a predetermined part of the moving body is equal to or less than a second threshold, and (ii) the absolute value of the angle formed by the extension direction of an axis constituting a coordinate system having a representative point of the moving body as its origin, the axis extending from the other side of the moving body to the one side, and the direction from the representative point of the moving body toward the predetermined part of the user's body is equal to or less than a third threshold; including at least one of The control device according to any one of claims 1 to 10.
12. A program for causing a computer to function as the control device according to any one of claims 1 to 11.
Citation Information
Patent Citations
Intelligent aged-supporting accompany robot
CN110605724A
Autonomous moving device
JP2007316924A
Moving body
JP2017129908A
Work vehicle travel system
JP2017174335A
Mobile robot
JP2017220123A