Mobile device, control device, control method, and control program
Patent Information
- Application Number
- JP2025541620
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-08
- Filing Date
- 2025-07-15
- Publication Date
- 2026-02-12
- Estimated Expiration
- 2045-07-15
AI Technical Summary
Existing mobile vehicle control systems face a trade-off between maneuverability and safety, particularly in narrow passages where large monitoring areas can worsen maneuverability while small areas may compromise safety due to unexpected obstacles.
Implementing a dual safety control system that reduces travel speed as objects approach and dynamically adjusts a monitoring area in front of the vehicle, ensuring both high maneuverability and safety by reducing speed when objects are detected within this area.
The dual safety control system enhances both the maneuverability and safety of mobile vehicles by adaptively managing speed and monitoring area based on proximity to obstacles, preventing collisions and enhancing user confidence.
Description
[Technical Field]
[0001] The technologies disclosed herein relate to mobile devices, control devices, control methods, and control programs. [Background technology]
[0002] Patent Document 1 discloses a mobile body control device that moves a mobile body at a speed corresponding to the surrounding environment. The mobile body control device slows down or stops the mobile body when an obstacle is present within a first monitoring area set around the mobile body. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2016-151897 [Overview of the Initiative]
[0004] Incidentally, when a mobile vehicle travels through a narrow passageway, for example, if the monitoring area is large, the passageway walls may be frequently detected as obstacles within the monitoring area, potentially worsening its maneuverability. On the other hand, if the monitoring area is reduced to improve maneuverability, for example, if a person suddenly jumps out in front of the vehicle's direction of travel, the vehicle may slow down or stop from a state where it is approaching the person, potentially worsening safety. Therefore, it is desirable to achieve a balance between the maneuverability and safety of the mobile vehicle.
[0005] The technology disclosed herein has been developed in view of these points, and its purpose is to achieve both drivability and safety.
[0006] The mobile body disclosed herein comprises a mobile body body and a control device that causes the mobile body body to perform autonomous movement, wherein the control device performs a first safety control and a second safety control, in which the first safety control, the control device reduces the travel speed of the mobile body body as the distance between the mobile body body and objects present around the mobile body body decreases, and in the second safety control, the control device sets a monitoring area located in front of the mobile body body in the direction of travel and whose area decreases as the travel speed of the mobile body body decreases, and temporarily reduces the travel speed of the mobile body body to a first speed or less if an object is present in the monitoring area.
[0007] The control device disclosed herein is a control device that causes a mobile body to perform autonomous movement, and comprises a first safety controller that performs first safety control and a second safety controller that performs second safety control, wherein the first safety controller reduces the travel speed of the mobile body as the distance between the mobile body and objects present around the mobile body decreases, and the second safety controller sets a monitoring area positioned in front of the mobile body in the direction of travel and whose area decreases as the travel speed of the mobile body decreases, and temporarily reduces the travel speed of the mobile body to a first speed or less when an object is present in the monitoring area.
[0008] The control method disclosed herein is a control method for causing a mobile body to perform autonomous movement, and includes performing a first safety control and a second safety control, wherein in performing the first safety control, the travel speed of the mobile body is reduced as the distance between the mobile body and objects present around the mobile body decreases, and in performing the second safety control, a monitoring area is set which is located in front of the mobile body in the direction of travel and whose area decreases as the travel speed of the mobile body decreases, and the travel speed of the mobile body is temporarily reduced to a first speed or less when an object is present in the monitoring area.
[0009] The control program disclosed herein is a control program for causing a mobile body to perform autonomous movement, causing a computer to realize a function of executing first safety control and a function of executing second safety control, the function of executing the first safety control reducing the traveling speed of the mobile body as the distance between an object existing around the mobile body and the mobile body becomes shorter, and the function of executing the second safety control setting a monitoring area that is disposed in front of the traveling direction of the mobile body and whose area becomes smaller as the traveling speed of the mobile body decreases, and temporarily reducing the traveling speed of the mobile body to a first speed or less when an object exists within the monitoring area.
[0010] According to the mobile body, traveling performance and safety can be made compatible.
[0011] According to the control device, traveling performance and safety can be made compatible.
[0012] According to the control method, traveling performance and safety can be made compatible.
[0013] According to the control program, traveling performance and safety can be made compatible.
Brief Description of the Drawings
[0014] [Figure 1] FIG. 1 is a perspective view of a mobile body. [Figure 2] FIG. 2 is a schematic diagram showing the detection range of a sensor. [Figure 3] FIG. 3 is a diagram showing the hardware configuration of a control device. [Figure 4] FIG. 4 is a functional block diagram showing the configuration of the control system of a processor. [Figure 5] FIG. 5 is a flowchart of the basic operation of a mobile body. [Figure 6] FIG. 6 is a plan view conceptually showing a mobile body main body and an area around the mobile body main body. [Figure 7] FIG. 7 is a functional block diagram of a movement controller. [Figure 8] Figure 8 is a graph showing an example of the relationship between the distance to surrounding objects and the vehicle speed in the first safety control system. [Figure 9] Figure 9 is an explanatory diagram illustrating the size of the monitoring area when the mobile unit is traveling at its maximum speed. [Figure 10] Figure 10 is an explanatory diagram illustrating the size of the monitoring area when the mobile unit's travel speed exceeds the minimum speed but falls below the maximum speed. [Figure 11] Figure 11 is an explanatory diagram illustrating the size of the monitoring area when the mobile unit's travel speed is at the minimum speed or zero. [Figure 12] Figure 12 is a graph showing an example of the relationship between the current speed of the mobile unit and the area of the monitoring region. [Figure 13] Figure 13 is a flowchart of the safety control system. [Figure 14] Figure 14 is a flowchart of the subroutine for the first safety control. [Figure 15] Figure 15 is a flowchart of the subroutine for the second safety control. [Figure 16] Figure 16 is a functional block diagram showing the configuration of the control system of the processor in the modified example. [Figure 17] Figure 17 is a side view of the mobile body when the robot arm is in a traveling configuration. [Figure 18] Figure 18 is a plan view of the mobile body when the robot arm is in a traveling configuration. [Modes for carrying out the invention]
[0015] The following describes exemplary embodiments in detail with reference to the drawings. Figure 1 is a perspective view of the mobile body 100. The mobile body 100 performs autonomous movement. The mobile body 100 comprises a mobile body 1 and a control device 6 that causes the mobile body 1 to perform autonomous movement. For example, the mobile body 100 moves within a facility such as a store, hospital, or nursing home. In addition to movement, the mobile body 100 may perform tasks such as handing over goods or opening and closing doors.
[0016] For example, the mobile body 1 is a mobile robot that includes a robot arm 12. More specifically, the mobile body 1 may have a trolley 10, a base 11 mounted on the trolley 10, and a robot arm 12 connected to the base 11.
[0017] The trolley 10 has a defined front-to-back direction. In this example, the trolley 10 has a roughly rectangular planar shape. For example, the long side of the rectangle is the front-to-back direction, and the short side of the rectangle is the left-to-right direction.
[0018] The trolley 10 includes multiple wheels 13 and is capable of movement. In this example, the trolley 10 includes four wheels 13. The trolley 10 may be capable of moving in a straight line and turning. In this example, the trolley 10 is capable of moving forward and backward, left and right, and diagonally while maintaining its posture, i.e., it is capable of movement in all directions. In other words, the trolley 10 may be capable of parallel movement in directions other than the forward and backward direction. Furthermore, the trolley 10 may also be capable of rotating in place. For example, the four wheels 13 include a pair of wheels 13 arranged horizontally at the front of the bottom of the trolley 10 and a pair of wheels 13 arranged horizontally at the rear of the bottom of the trolley 10. They may be arranged to form a rectangle at the bottom of the trolley 10. More specifically, the four wheels 13 are located at the four corners of the bottom of the trolley 10.
[0019] More specifically, wheel 13 may be an omnidirectional wheel. In this example, wheel 13 is a Mecanum wheel. Wheel 13 has multiple barrel-shaped rollers arranged around its outer circumference. For example, the axis of rotation of each roller is tilted at 45 degrees with respect to the axle of wheel 13.
[0020] The mobile body 1 may have a motor 13a for driving the wheels 13 and an encoder 13b for detecting the amount of rotation of the motor 13a (see Figure 3). In this example, the mobile body 1 has four sets of motors 13a and encoders 13b corresponding to four wheels 13. The four wheels 13 may be driven independently by the corresponding motors 13a.
[0021] The trolley 10 may be able to move in any direction in two dimensions using these four wheels 13. For example, the trolley 10 can move or rotate in any direction, such as forward, backward, left, right, or diagonally. The trolley 10 can also rotate in place.
[0022] The base 11 may be mounted on the trolley 10. In this example, the base 11 has a shape that mimics the upper body of a person. The base 11 may be fixed to the trolley 10 so as not to move.
[0023] The mobile body 1 has two robot arms 12. A hand 14 may be attached to the tip of one of the robot arms 12. A hand 14 may not be attached to the tip of the other robot arm 12.
[0024] The two robot arms 12 are each connected to different parts of the base 11. For example, the two robot arms 12 are each connected to different parts of the base 11 in the width direction, which is one direction in a plan view. In other words, the width direction is the direction in which the connection points of one robot arm 12 to the base 11 and the connection points of the other robot arm 12 to the base 11 are aligned in a plan view. The base 11 may have a front and a back that face opposite each other in a plan view. For example, in the base 11, the front direction is defined as the side facing the front and the back direction as the rear. The width direction may be horizontal and perpendicular to the front-to-back direction. That is, the width direction is the left-to-right direction relative to the front-to-back direction. For example, one robot arm 12 is connected to the left side of the base 11, and the other robot arm 12 is connected to the right side of the base 11.
[0025] Furthermore, if the planar shape of the bogie 10 is a roughly rectangular shape with a longitudinal direction and a transverse direction, the width direction will substantially coincide with the transverse direction of the planar shape of the bogie 10.
[0026] For example, as shown in Figure 1, the robot arm 12 has a plurality of links L and a plurality of joints J that connect the plurality of links L. The robot arm 12 is configured to move in three dimensions. In this example, the robot arm 12 is a multi-jointed robot arm. That is, the robot arm 12 may be able to freely change its shape by rotating its joints. The robot arm 12 is supported by a base 11.
[0027] For example, the multiple links L include the first link L1, second link L2, third link L3, fourth link L4, fifth link L5, sixth link L6, and seventh link L7, which are arranged in series from the base 11. The seventh link L7 is located at the tip of the robot arm 12. The multiple joints J include the first joint J1, second joint J2, third joint J3, fourth joint J4, fifth joint J5, sixth joint J6, and seventh joint J7, which are arranged in series from the base 11. The position and orientation of the seventh link L7 have six degrees of freedom, combining the translational and rotational directions for each of the three orthogonal axes. The robot arm 12 may also be a so-called 7-axis robot, having seven joints J. In other words, the robot arm 12 has redundancy. Redundancy is the characteristic that the rotation angles of the multiple joints J corresponding to the position and orientation of the tip of the robot arm 12 are not uniquely determined.
[0028] The base 11 and the first link L1 are rotatably connected by the first joint J1. The first link L1 and the second link L2 are rotatably connected by the second joint J2. The second link L2 and the third link L3 are rotatably connected by the third joint J3. The third link L3 and the fourth link L4 are rotatably connected by the fourth joint J4. The fourth link L4 and the fifth link L5 are rotatably connected by the fifth joint J5. The fifth link L5 and the sixth link L6 are rotatably connected by the sixth joint J6. The sixth link L6 and the seventh link L7 are rotatably connected by the seventh joint J7.
[0029] A hand 14 may be connected to the seventh link L7 at the tip of the robot arm 12. That is, the hand 14 is connected to the robot arm 12 so as to be rotatable around the rotation axis of the seventh joint J7. The hand 14 is an end effector attached to the robot arm 12.
[0030] More specifically, multiple joints J may include joints that function as a shoulder joint. For example, multiple joints J may include joints that have the functions of horizontal extension and horizontal flexion in the shoulder joint. The axis of rotation of joints that have the functions of horizontal extension and horizontal flexion in the shoulder joint extends in a substantially vertical direction. Multiple joints J may include joints that have the functions of extension and flexion in the shoulder joint. The axis of rotation of joints that have the functions of extension and flexion in the shoulder joint extends in a substantially horizontal direction.
[0031] For example, the first joint J1 functions as the shoulder joint of the robot arm 12. The first joint J1 may have the functions of horizontal extension and horizontal flexion in the shoulder joint. The axis of rotation of the first joint J1 extends in a substantially vertical direction.
[0032] For example, the second joint J2 functions as the shoulder joint of the robot arm 12. The second joint J2 may have extension and flexion functions in the shoulder joint. The axis of rotation of the second joint J2 extends in a substantially horizontal direction.
[0033] For example, the third joint J3 functions as the shoulder joint of the robot arm 12. The third joint J3 may also have the functions of internal rotation and external rotation in the shoulder joint.
[0034] Multiple joints J may include joints that function as a wrist joint. For example, multiple joints J may include joints that have internal and external rotation functions, or pronation and supination functions, at the wrist joint. For example, the seventh joint J7 may have internal and external rotation functions at the wrist joint. The sixth joint J6 may have pronation and supination functions at the wrist joint.
[0035] Multiple joints J may include an intermediate joint between the shoulder joint and the wrist joint. The intermediate joint may also be called the elbow joint. The intermediate joint may have extension and flexion functions, or internal and external rotation functions. The fourth joint J4 may have extension and flexion functions at the intermediate joint. The fifth joint J5 may have internal and external rotation functions at the intermediate joint.
[0036] The robot arm 12 has motors 12a (see Figure 3) that rotate each joint J. For example, motor 12a is a servo motor. Each motor 12a has an encoder 12b (see Figure 3).
[0037] The mobile body 100 may be equipped with a sensor 3 that detects objects around the mobile body 1 (hereinafter simply referred to as "surrounding objects"). In this disclosure, "object" includes both inanimate and living things. The sensor 3 is located on the mobile body 1. For example, the sensor 3 is located on the trolley 10. The sensor 3 in this example is a distance measuring sensor that measures the distance from the sensor 3 to the surrounding objects. For example, the sensor 3 is a LiDAR (Light Detection and Ranging) sensor. The sensor 3 has, for example, a light-emitting unit that emits laser light toward the surroundings of the mobile body 1 and a light-receiving unit that receives the laser light that strikes the surface of the surrounding objects and is reflected. The sensor 3 measures the flight time from the laser light emitted from the light-emitting unit until it strikes the surface of the surrounding objects and returns to the light-receiving unit. Based on the measured flight time, the sensor 3 measures the distance from the sensor 3 to the surface of the surrounding objects. The sensor 3 may generate point cloud data based on the measured distance. The point cloud data is three-dimensional positional information of the surface of the surrounding objects. For example, sensor 3 outputs the calculated point cloud data to control device 6. Sensor 3 may repeatedly detect surrounding objects at a predetermined detection cycle when the mobile body 1 is moving. Sensor 3 may output the detection result, i.e., point cloud data, to control device 6 each time a surrounding object is detected.
[0038] In this example, the mobile body 100 is equipped with multiple sensors 3. Figure 2 is a schematic diagram showing the detection range of the sensors 3. Figure 2 is a plan view of the mobile body 100, and the robot arm 12, etc., are omitted. The mobile body 100 may be equipped with a first sensor 3A, a second sensor 3B, and a third sensor 3C. The first sensor 3A, the second sensor 3B, and the third sensor 3C are arranged on the trolley 10. The first sensor 3A is located at the front of the trolley 10. For example, the first sensor 3A is located on the trolley 10 in front of the base 11 and approximately in the center in the left-right direction. The first sensor 3A detects objects in the three-dimensional space around the mobile body 1. The first sensor 3A may be a 3D LiDAR. The first sensor 3A scans the measurement light horizontally and vertically. In this example, the first sensor 3A scans the measurement light 360 degrees horizontally, as shown by the dashed line in Figure 2. In the vertical direction, the first sensor 3A scans the measurement light within a predetermined range that includes the elevation angle and the depression angle.
[0039] The second sensor 3B and the third sensor 3C may be located at the rear of the trolley 10. More specifically, the second sensor 3B and the third sensor 3C are located behind the base 11 of the trolley 10. The second sensor 3B is located at the left rear corner of the trolley 10, and the third sensor 3C is located at the right rear corner of the trolley 10. The second sensor 3B and the third sensor 3C may detect objects in the horizontal two-dimensional space around the mobile body 1. For example, the second sensor 3B and the third sensor 3C are 2D LiDAR. The second sensor 3B and the third sensor 3C scan the measurement light horizontally. The second sensor 3B and the third sensor 3C detect objects in the horizontal range that cannot be detected by at least the first sensor 3A. The second sensor 3B scans the measurement light at least to the left rear of the trolley 10. The third sensor 3C scans the measurement light at least to the right rear of the trolley 10. The scanning range of the measurement light from the second sensor 3B and the scanning range of the measurement light from the third sensor 3C partially overlap at the rear of the trolley 10. In this example, the second sensor 3B scans the measurement light horizontally for approximately 270 degrees from the front to the right, including the area to the left of the mobile body 1, as shown by the dashed line in Figure 2. The third sensor 3C scans the measurement light horizontally for approximately 270 degrees from the front to the left, including the area to the right of the mobile body 1, as shown by the dashed line in Figure 2. The second sensor 3B and the third sensor 3C detect objects at approximately the same height. That is, the scanning plane of the measurement light from the second sensor 3B and the scanning plane of the measurement light from the third sensor 3C are at approximately the same height.
[0040] As shown in Figure 2, since the base 11 is positioned behind the first sensor 3A, the first sensor 3A cannot properly scan the measurement light in the range F that overlaps with the base 11. On the other hand, since the second sensor 3B and the third sensor 3C are positioned behind the base 11, the second sensor 3B and the third sensor 3C can scan the measurement light into range F as well.
[0041] Hereafter, unless distinguished, the first sensor 3A, the second sensor 3B, and the third sensor 3C will simply be referred to as "sensor 3".
[0042] Figure 3 shows the hardware configuration of the control device 6. The control device 6 controls the entire mobile body 1. The control device 6 estimates the self-position of the mobile body 1 and causes the mobile body 1 to perform autonomous movement. The control device 6 operates the motors 13a of the wheels 13 to move the mobile body 1. Furthermore, the control device 6 controls the motors 12a of the robot arm 12 to cause the robot arm 12 to perform predetermined tasks. The control device 6 has a processor 61, a memory 62, and a memory 63.
[0043] The processor 61 performs various calculations. For example, the processor 61 is formed by a processor such as a CPU (Central Processing Unit). The processor 61 may also be formed by an MCU (Micro Controller Unit), MPU (Micro Processor Unit), FPGA (Field Programmable Gate Array), PLC (Programmable Logic Controller), system LSI, etc. The mobile body 1 operates autonomously by the processor 61 operating the motor 13a.
[0044] The memory 62 stores programs and various data executed by the processor 61. For example, the memory 62 stores control programs. The memory 62 also stores map information relating to the environment in which the mobile body 1 moves. For example, the map information includes a three-dimensional map and a two-dimensional map. The three-dimensional map is formed from three-dimensional point cloud data. For example, the three-dimensional map is a three-dimensional point cloud map. In the three-dimensional map, the three-dimensional shapes of obstacles in the environment, such as walls, ceilings, railings, shelves, tables, or chairs, are represented by point cloud data. The two-dimensional map is a planar map. For example, the two-dimensional map is a two-dimensional occupancy grid map. In the two-dimensional map, the planar shapes of obstacles in the environment, such as walls, ceilings, railings, shelves, tables, or chairs, are represented. For example, the two-dimensional map is formed by projecting the three-dimensional map onto a plane. The memory 62 is made of non-volatile memory, an HDD (Hard Disc Drive), or an SSD (Solid State Drive), etc. Memory 63 temporarily stores data, etc. For example, memory 63 is made of volatile memory.
[0045] Figure 4 is a functional block diagram showing the configuration of the control system of the processor 61. The processor 61 implements various functions by reading control programs from the memory 62 into the memory 63 and expanding them. Specifically, the processor 61 functions as a state estimator 64 that estimates the state of the mobile body 1, a map generator 65 that generates a map of the environment in which the mobile body 1 moves, a path generator 66 that plans the path of the mobile body 1, a trajectory generator 67 that generates a target trajectory according to the path, and a movement controller 68 that moves the mobile body 1 according to the target trajectory. The processor 61 also functions as an manipulated variable calculator 69 that calculates the manipulated variable of the motor 13a.
[0046] The state estimator 64 performs self-position estimation. The state estimator 64 receives the detection results from sensor 3, the detection results from encoder 13b, and map information from memory 62 as input. The map information is, for example, a three-dimensional map. The state estimator 64 compares the detection results from sensor 3 with the map information to estimate the current position of the mobile body 1, i.e., its own position. Here, the position of the mobile body 1 also includes its orientation, i.e., its attitude.
[0047] In this example, the state estimator 64 performs self-position estimation using the three-dimensional point cloud data from the first sensor 3A. The state estimator 64 compares the environmental information surrounding the mobile body 1, obtained from the three-dimensional point cloud data of the first sensor 3A, with a three-dimensional map to estimate the position of the mobile body 1 within the environment represented by the three-dimensional map, i.e., its own position.
[0048] The map generator 65 generates a map based on the detection results of the sensor 3. Specifically, the map generator 65 generates or modifies a three-dimensional map based on the detection results of the sensor 3. In this example, the three-dimensional map is generated using SLAM (Simultaneous Localization and Mapping) technology before autonomous movement is performed. More specifically, while the mobile body 1 is moving through the environment, the state estimator 64 and the map generator 65 acquire the detection results of the sensor 3 and perform self-position estimation and map generation in parallel. The generated map information, i.e., the three-dimensional map, is stored in the memory 62. When map generation is performed before autonomous movement is performed, the movement of the mobile body 1 is performed by manual control by the user.
[0049] Furthermore, the map generator 65 updates the two-dimensional map. The two-dimensional map can also be updated during autonomous movement. The map generator 65 detects obstacles in the environment based on the detection results of the sensors 3 acquired while the mobile body 1 is moving, and updates the two-dimensional map.
[0050] The route generator 66 reads the destination and map information from the memory 62. The destination is pre-set in the memory 62. The map information at this time is, for example, a two-dimensional map. At this time, the route generator 66 may also read waypoints in addition to the destination. The state quantities (including the estimated position) of the mobile body 1 are input to the route generator 66 from the state estimator 64.
[0051] The path generator 66 generates a path from the current position of the mobile body 1 to the destination based on map information. The path generator 66 refers to the map information to generate a path that avoids interference with obstacles, etc. If a path is established in the environment, the path generator 66 generates a path along the path. For example, the path generator 66 generates a path using the A-star search algorithm, RRT algorithm, Dijkstra's algorithm, or a geometric approach. The path generator 66 outputs an array of positions that the mobile body 1 will pass through as a path to the trajectory generator 67. Each position includes the attitude of the mobile body 1 in addition to the position information.
[0052] The trajectory generator 67 generates a target trajectory for the mobile body 1 from its current position, following the generated path. The trajectory generator 67 generates the target trajectory for the mobile body 1 in a predetermined manner (for example, the line-of-sight guidance law). The state quantities of the mobile body 1 are input to the trajectory generator 67 from the state estimator 64. The trajectory generator 67 calculates the command velocity of the mobile body 1.
[0053] Alternatively, the trajectory generator 67 may calculate the command velocity using Model Predictive Control (MPC). Model Predictive Control obtains the control input, i.e., the velocity command, by sequentially solving an optimization problem based on a model of the mobile body 1. The trajectory generator 67 predicts future state variables from the current state variables of the mobile body 1 and any obstacles, calculates the optimal path for the mobile body 1, and calculates the command velocity as the speed at which it moves from its current position to its target position to follow that path.
[0054] The movement controller 68 receives the command velocity calculated by the trajectory generator 67 as input. In the following description, the command velocity input from the trajectory generator 67 will be referred to as the "input command velocity." The movement controller 68 outputs a command value corresponding to the command velocity to the manipulated variable calculator 69.
[0055] The mobile controller 68 performs controls to avoid interference between the mobile body 1 and the obstacle. In this disclosure, the mobile controller 68 performs a first safety control and a second safety control as controls to avoid interference between the mobile body 1 and the obstacle. The mobile controller 68 monitors the proximity of the mobile body 1 to the obstacle based on the detection results of the sensors 3. In this example, the mobile controller 68 monitors the proximity of the mobile body 1 to the obstacle using all the detection results of the first sensor 3A, the second sensor 3B, and the third sensor 3C. For example, the mobile controller 68 slows down or stops the mobile body 1 depending on the distance between the mobile body 1 and the obstacle.
[0056] The manipulated variable calculator 69 distributes command values to multiple motors 13a and calculates the commanded manipulated variable for each of the multiple motors 13a. For example, the manipulated variable may be the rotational speed or torque of the motor.
[0057] Each motor 13a operates according to the commanded input. A motor 13a may be equipped with its own controller for operation. For example, if motor 13a is a servo motor, it further includes a servo amplifier. In that case, the servo amplifier operates motor 13a according to the commanded input. As a result, the mobile body 1 moves.
[0058] Next, the basic operation of the mobile unit 100 will be explained. Figure 5 is a flowchart of the basic operation of the mobile unit 100. The mobile unit 100 repeatedly performs the following processes at a predetermined control cycle.
[0059] First, in step S1, the state estimator 64 acquires information about the surrounding environment. Specifically, the state estimator 64 acquires the detection signal from the sensor 3 and the detection signal from the encoder 13b.
[0060] Next, in step S2, the state estimator 64 performs self-localization.
[0061] Next, in step S3, the route generator 66 performs route planning. The route generator 66 generates a route for the mobile body 1 based on map information and the estimated position and destination of the mobile body 1.
[0062] In step S4, the trajectory generator 67 calculates the command velocity of the mobile body 1 from the estimated position so as to follow the generated path.
[0063] In step S5, the movement controller 68 causes the mobile body 1 to perform an action according to the commanded speed.
[0064] The mobile unit 100 moves autonomously to its destination while performing self-position estimation of the mobile unit body 1 by repeating the above process.
[0065] Next, we will explain in more detail the autonomous movement of the mobile unit 100. As mentioned above, the mobile unit 100 performs first safety control and second safety control. Hereafter, when the first safety control and second safety control are not distinguished, they will simply be referred to as safety control.
[0066] In the first safety control, the movement controller 68 reduces the travel speed of the mobile body 1 as the distance between the surrounding object and the mobile body 1 (hereinafter referred to as "distance to the surrounding object") decreases. When the mobile body 1 is traveling near a surrounding object, there is a high possibility that the mobile body 1 will interfere with the object, for example, if a person suddenly jumps out from behind the surrounding object or if the mobile body 1 deviates from its path. Because the first safety control reduces the speed of the mobile body 1 when it is traveling near a surrounding object, the mobile body 1 can be stopped without interfering with the object even in the aforementioned cases.
[0067] In the second safety control, the motion controller 68 sets a monitoring area M and, if an object is found within the monitoring area M, temporarily reduces the travel speed of the mobile body 1 to the first speed or lower. As shown in Figure 6, the monitoring area M is located in front of the mobile body 1 in the direction of travel D (hereinafter referred to as "forward in the direction of travel"). Figure 6 is a conceptual plan view showing the mobile body 1 and the area surrounding the mobile body 1. In Figure 6, the monitoring area M is hatched for ease of explanation. If an object is present in the direction of travel forward, there is a high probability that the mobile body 1 will interfere with the object. With the second safety control, the monitoring area M, which monitors the presence of objects, is located in front of the mobile body 1 in the direction of travel, so the mobile body 1 can be decelerated or stopped earlier before it interferes with an object in the direction of travel forward. Therefore, the possibility of the mobile body 1 interfering with an object in the direction of travel forward can be effectively reduced. If the object is a person, decelerating or stopping the mobile body 1 earlier can prevent the person from feeling anxious.
[0068] Figure 7 is a functional block diagram of the movement controller 68. The movement controller 68 includes a first safety controller 681, a second safety controller 682, and a decision controller 683.
[0069] The first safety controller 681 performs the first safety control. The first safety controller 681 calculates the distance between the mobile body 1 and the surrounding object detected by the sensor 3, i.e., the distance to the surrounding object. The first safety controller 681 limits the travel speed of the mobile body 1 according to the calculated distance. As described above, the first safety controller 681 reduces the travel speed of the mobile body 1 as the distance to the surrounding object decreases. In this case, the first safety controller 681 may reduce the travel speed of the mobile body 1 in stages or continuously. The first safety controller 681 outputs the limited command speed (hereinafter referred to as "first safety speed V1") to the decision-maker 683.
[0070] Here, as shown in Figure 6, in this example, an emergency area E is further set around the mobile body 1. In Figure 6, for ease of explanation, the emergency area E is hatched. The emergency area E is set within a predetermined range around the mobile body 1. Specifically, the emergency area E is set within a predetermined range from the footprint of the mobile body 1. The footprint is the area occupied by the mobile body 1 in a plan view. In this example, the footprint is the area occupied by the trolley 10 in a plan view. The outer shape of the emergency area E is approximately rectangular in a plan view. Specifically, the outer shape of the emergency area E is approximately rectangular in a plan view, including two sides extending in the front-to-back direction and two sides extending in the left-to-right direction. The emergency area E is predetermined. The shape of the emergency area E remains constant while the mobile body 1 is in motion.
[0071] The first safety controller 681 determines that the mobile body 1 is approaching a surrounding object if an object is present within the emergency area E, and stops the mobile body 1. In other words, the first safety controller 681 reduces the mobile body 1's travel speed to zero. More specifically, the first safety controller 681 continues to stop the mobile body 1 until the object is no longer present within the emergency area E. For example, if an obstacle such as a moving table enters the emergency area E, the first safety controller 681 stops the mobile body 1. After the obstacle has moved outside the emergency area E, the first safety controller 681 allows the mobile body 1 to travel again.
[0072] Figure 8 is a graph showing an example of the relationship between the distance to a surrounding object and the travel speed in the first safety control. The first safety controller 681 limits the travel speed of the mobile body 1 according to the distance to the surrounding object, as shown in Figure 8, for example. That is, for example, if the distance to the surrounding object exceeds a predetermined first distance d1, the first safety controller 681 limits the travel speed to the maximum speed V max It is controlled to remain constant. Maximum speed V max This is predetermined with safety in mind. The first distance d1 is when the travel speed of the mobile unit 1 is at the maximum speed V. maxIt is the distance to the surrounding object at the lower limit. When the distance to the surrounding object exceeds a predetermined second distance d2 and is less than or equal to a first distance d1, the first safety controller 681 controls the traveling speed to decrease as the distance to the surrounding object decreases. When the distance to the surrounding object exceeds a predetermined third distance d3 and is less than or equal to the second distance d2, the first safety controller 681 controls the traveling speed to be constant at the minimum speed V min so as to be constant. The minimum speed V min is the minimum speed within the range of speeds that vary according to the distance to the surrounding object. The second distance d2 is the distance to the surrounding object at the upper limit when the traveling speed of the moving body main body 1 becomes the minimum speed V min When the distance to the surrounding object is less than or equal to the third distance d3, the first safety controller 681 controls the traveling speed to be zero, that is, the moving body main body 1 stops. The third distance d3 is the distance between the outer periphery of the emergency area E and the moving body main body 1. That is, when the distance to the surrounding object is less than or equal to the third distance d3, it means that there is a surrounding object within the emergency area E. In the example shown in FIG. 8, in the first safety control, as long as there is no object within the emergency area E, the traveling speed of the moving body main body 1 is controlled to be at least the minimum speed V min and at most the maximum speed V max or less.
[0073] Here, when the moving body main body 1 travels in a narrow passage or the like, the side walls of the passage or the like are detected by the sensor 3. When the moving body main body 1 travels in a narrow passage or the like, the traveling speed is controlled according to the distance between the side walls of the passage or the like and the moving body main body 1. The minimum speed V min is preset to a low speed such that even if a person jumps out in front of the moving body main body 1 in a narrow passage or the like and the person enters the emergency area E and the moving body main body 1 suddenly stops, the moving body main body 1 and the person do not collide.
[0074] The second safety controller 682 executes the second safety control. Specifically, the second safety controller 682 sets a monitoring area M in front of the traveling direction of the moving body main body 1.
[0075] In this example, as shown in Figure 6, the monitoring area M is roughly rectangular in plan view. Specifically, the monitoring area M is roughly rectangular in plan view, extending in the direction of travel D and in a direction perpendicular to the direction of travel D. The monitoring area M is adjacent to the emergency area E in the direction of travel D. The monitoring area M may be separated from the emergency area E, or its rear edge in the direction of travel D (hereinafter referred to as "rear in the direction of travel") may overlap with the front edge of the emergency area E in the direction of travel. In this example, the rear edge of the monitoring area M in the direction of travel and the front edge of the emergency area E in the direction of travel overlap. As mentioned above, the monitoring area M is located in front of the mobile body 1 in the direction of travel. Therefore, the relative positional relationship of the monitoring area M with respect to the mobile body 1 may change depending on the direction of travel D of the mobile body 1.
[0076] Furthermore, the second safety controller 682 changes the area of the monitoring region M according to the current speed of the mobile body 1. The current speed is, for example, the actual speed of the mobile body 1. More specifically, the current speed is the speed of the trolley 10 detected by the encoder 13b of the motor 13a.
[0077] Figure 9 shows that the travel speed of the mobile unit 1 is at its maximum speed V. max This is an explanatory diagram to show the size of the monitoring area M at that time. Figure 10 shows the travel speed of the mobile body 1 at the minimum speed V min Exceeding the maximum speed V max This is an explanatory diagram illustrating the size of the monitoring area M when it falls below the minimum speed V. Figure 11 shows the travel speed of the mobile body 1 when it falls below the minimum speed V. min Alternatively, this is an explanatory diagram illustrating the size of the monitoring area M when it is zero.
[0078] The second safety controller 682 reduces the area of the monitoring region M as the travel speed of the mobile body 1 decreases. Preferably, the second safety controller 682 sets the area of the monitoring region M to zero when the travel speed of the mobile body 1 is less than or equal to the second speed. The second speed is preset. The second speed is set to a low speed that ensures safety even when the monitoring region M is not set. In this example, the second speed is the minimum speed V minThe second safety controller 682 may gradually reduce the area of the monitoring region M as the travel speed of the mobile body 1 decreases, or it may reduce it continuously. In this example, the second safety controller 682 continuously reduces the area of the monitoring region M as the travel speed of the mobile body 1 decreases.
[0079] Figure 12 is a graph showing an example of the relationship between the current speed of the mobile body 1 and the area of the monitoring region M. For example, the area A of the monitoring region M is expressed by the following equation (1). A=((V p -V min ) / (V max -V min ))×A max ...(1) However, V p :Current speed, V min :Minimum speed, V max :Maximum speed, A max : Maximum area of the monitoring region M.
[0080] In this example, the area of the monitoring region M is determined by the travel speed of the mobile body 1 at its maximum speed V. max It is maximized when the mobile body 1 is traveling at the minimum speed V. min Exceeding the maximum speed V max When it falls below this value, it decreases continuously as the travel speed decreases. The area of the monitoring region M is determined by the travel speed of the mobile body 1 at the minimum speed V. min It becomes zero when the following conditions are met: In other words, in this example, the travel speed of the mobile body 1 is the minimum speed V. min The monitoring area M is not set in the following cases: The mobile unit 1 operates at a minimum speed V in narrow passages, etc. min Or minimum speed V min It can travel at a nearby speed. That is, when the mobile body 1 travels through a narrow passage or the like, the area of the monitoring region M becomes zero or nearly zero.
[0081] Furthermore, the second safety controller 682 temporarily reduces the mobile body 1 to a first speed or lower if an object is detected within the monitoring area M. That is, the second safety controller 682 temporarily decelerates or stops the mobile body 1 if an object is detected within the monitoring area M. Hereinafter, the time during which the mobile body 1's travel speed is temporarily reduced to a first speed or lower will be referred to as the "limit time". The first speed is preset. The first speed is set to a low speed such that even if the mobile body 1 travels for the limit time, it will not reach an object within the monitoring area M. For example, if an object is detected within the monitoring area M, the second safety controller 682 temporarily reduces the mobile body 1's travel speed to a minimum speed V min The following will be reduced: that is, the minimum speed V min This is an example of a first speed. Preferably, the first speed is zero. For example, if a person jumps out in front of the mobile body 1 in the direction of travel and enters the monitoring area M, the second safety controller 682 temporarily decelerates or stops the mobile body 1. The second safety controller 682 returns to normal travel after a predetermined time has elapsed. At this time, the mobile body 1 travels in a manner that avoids the person who entered the monitoring area M. In detail, the aforementioned path generator 66 executes a path plan to avoid the object in the monitoring area M. For this reason, in this example, the time limit is greater than the time required for the path generator 66 to execute a path plan that avoids the object in the monitoring area M. The second safety controller 682 outputs the limited command speed (hereinafter referred to as "second safety speed V2") to the decision-maker 683.
[0082] The decision-maker 683 determines the final command speed. Specifically, the decision-maker 683 sets the final command speed to the smaller of the first safety speed V1 input from the first safety controller 681 and the second safety speed V2 input from the second safety controller 682.
[0083] Figure 13 is a flowchart of the safety control. Safety control is performed, for example, in step S5 of the basic operation shown in Figure 5.
[0084] First, in step S101, the first safety controller 681 performs the first safety control.
[0085] Next, in step S102, the second safety controller 682 performs the second safety control.
[0086] Next, in step S103, the decision-maker 683 determines the final command speed.
[0087] Next, we will explain the first safety control in detail. Figure 14 is a flowchart of the subroutine for the first safety control.
[0088] First, in step S201, the first safety controller 681 acquires environmental information. More specifically, the first safety controller 681 acquires information detected by the sensor 3, i.e., point cloud data.
[0089] Next, in step S202, the first safety controller 681 calculates the distance to surrounding objects based on the point cloud data.
[0090] Next, in step S203, the first safety controller 681 derives the first safety speed V1. For example, the first safety controller 681 derives the first safety speed V1 based on the first relationship information, which is the correspondence between the distance to the surrounding object and the first safety speed V1, and the calculated distance to the surrounding object. The first relationship information is stored, for example, in the memory 62. The first safety controller 681 outputs the derived first safety speed V1 to the decision-maker 683. After that, the process returns to the safety control process shown in Figure 13.
[0091] Next, we will explain the second safety control in detail. Figure 15 is a flowchart of the subroutine for the second safety control.
[0092] First, in step S301, the second safety controller 682 sets a monitoring area M corresponding to the current speed of the mobile body 1 in front of the direction of travel. For example, the second safety controller 682 determines the area of the monitoring area M corresponding to the current speed of the mobile body 1 based on second relational information, which is the correspondence between the area of the monitoring area M and the current speed. The second relational information is stored, for example, in the memory 62. The second safety controller 682 sets a monitoring area M having an area corresponding to the current speed in front of the mobile body 1 in the direction of travel.
[0093] Next, in step S302, the second safety controller 682 determines whether or not speed restrictions are in place. Specifically, the second safety controller 682 determines that speed restrictions are in place if the timer measurement time is within the time limit, and determines that speed restrictions are not in place if the timer measurement time exceeds the time limit. The timer measures the elapsed time since an object was found in the monitoring area M and the travel speed of the mobile body 1 was reduced to the first speed or lower. The timer is reset when the time limit has elapsed. If speed restrictions are in place, the process proceeds to step S305; otherwise, the process proceeds to step S303.
[0094] If it is determined in step S302 that there is no speed limit, then in step S303, the second safety information acquisition device acquires environmental information. Specifically, the second safety controller 682 acquires the information detected by the sensor 3, i.e., point cloud data.
[0095] Next, in step S304, the second safety controller 682 determines whether or not an object exists within the monitoring area M based on the point cloud data. If an object exists within the monitoring area M, the process proceeds to step S305; if no object exists within the monitoring area M, the process proceeds to step S306.
[0096] After the processing in step S302, or if it is determined in step S304 that an object exists within the monitoring area M, in step S305, the second safety controller 682 adopts the first speed as the second safety speed V2.
[0097] If it is determined in step S304 that no object exists within the monitoring area M, then in step S306, the second safety controller 682 adopts the input command speed as the second safety speed V2.
[0098] After processing in step S305 or step S306, the process returns to the safety control process shown in Figure 13.
[0099] In such a mobile body 100, a monitoring area M is set in front of the mobile body 1 in the direction of travel. If an object is present within the monitoring area M, the second safety control temporarily reduces the travel speed of the mobile body 1 to the first speed or lower. This allows the mobile body 1 to decelerate or stop earlier before it can interfere with an object in front of it. As a result, the possibility of the mobile body 1 interfering with an object can be effectively reduced, improving safety. If the object is a person, decelerating or stopping the mobile body 1 earlier can prevent the person from feeling anxious. However, if the mobile body 1 is traveling through a narrow passage, the side walls of the passage may easily intrude into the monitoring area M, potentially causing the mobile body 1 to frequently have its speed limited. In this case, maneuverability may deteriorate. In the mobile body 100, the first safety control is executed. In the first safety control, the travel speed of the mobile body 1 decreases as the distance to surrounding objects decreases. However, if the mobile body 1 is traveling through a narrow passage, the distance to surrounding objects becomes relatively short. Therefore, the first safety control reduces the travel speed of the mobile unit 1 in narrow passages, etc. As the travel speed of the mobile unit 1 decreases, the area of the monitoring area M decreases, so when the mobile unit 1 travels in a narrow passage, etc., the area of the monitoring area M decreases. As a result, the mobile unit 1 is less likely to be frequently restricted in speed, and thus the deterioration of maneuverability can be suppressed. In other words, both maneuverability and safety can be achieved.
[0100] Furthermore, when the mobile body's travel speed is below the second speed, the area of the monitoring region M becomes zero, meaning the monitoring region M is not set. This makes it more difficult for the side walls of the passage to intrude into the monitoring region M when the mobile body 1 travels through a narrow passage, ensuring safety without worsening maneuverability. In this case, if the monitoring region M is not set when the mobile body 1 travels through a narrow passage, and a person suddenly jumps out in front of the mobile body, the person will be detected in the emergency region E and the mobile body will come to a sudden stop. However, since the mobile body's travel speed is limited to a low speed of the second speed or less, safety for people is also ensured. Moreover, because the travel speed is low, people are less likely to feel a sense of urgency.
[0101] Furthermore, the time limit is greater than the time required for the control device 6 to execute the path plan. This ensures that a path plan is generated that avoids objects within the monitoring area M, thus reducing the possibility of interference between the mobile body 1 and objects within the monitoring area M even after the time limit has elapsed.
[0102] The control device 6 may also control the robot arm 12 when performing autonomous movement. Figure 16 is a functional block diagram showing the configuration of the control system of the processor 61 according to a modified example. The processor 61 may also function as an arm controller 611 that controls the robot arm 12.
[0103] The arm controller 611 operates the robot arm 12. For example, the arm controller 611 deforms the robot arm 12 into a target shape. The arm controller 611 may maintain the robot arm 12 in the target shape. The arm controller 611 may operate the robot arm 12 by continuously changing the shape of the robot arm 12.
[0104] The arm controller 611 generates command values corresponding to the target shape of the robot arm 12. Based on the command values, the arm controller 611 calculates the command operation amount for each of the multiple motors 12a. For example, the operation amount is the rotational speed or torque of the motor.
[0105] The arm controller 611 may maintain the robot arm 12 in a constant shape while the mobile body 100 is moving, and may operate the robot arm 12 when it is performing work.
[0106] For example, when the mobile body 100 is moving, the arm controller 611 maintains the robot arm 12 in a moving position. In other words, when the mobile body 100 is moving, the arm controller 611 fixes the shape of the robot arm 12 and prohibits the movement of the robot arm 12.
[0107] Figure 17 is a side view of the mobile body 1 when the robot arm 12 is in a traveling configuration. Figure 18 is a top view of the mobile body 1 when the robot arm 12 is in a traveling configuration.
[0108] For example, the robot arm 12 in a mobile configuration is positioned relatively high. For instance, the mobile robot arm 12 bends at an intermediate joint between the shoulder and wrist joints, for example, the fourth joint J4. The portion between the base 11 and the intermediate joint extends diagonally downward and backward from the base 11, while the portion between the intermediate joint and the wrist joint extends forward from the intermediate joint. In other words, the mobile robot arm 12 has a shape where the intermediate joint is pulled backward and bent at the intermediate joint. As a result, the portion of the robot arm 12 closer to the end effector than the intermediate joint is positioned relatively high. Furthermore, the end effector of the robot arm 12 is positioned relatively far back.
[0109] In its mobile configuration, the robot arm 12 is positioned higher than the first sensor 3A of the mobile body 1. The detection range of the first sensor 3A extends three-dimensionally from the first sensor 3A. The space above the first sensor 3A is included in the detection range of the first sensor 3A. Since the robot arm 12 is positioned above the first sensor 3A, it may obstruct a portion of the detection range of the first sensor 3A. The detection results of the first sensor 3A corresponding to the robot arm 12 are treated as invalid. The higher the position of the robot arm 12, the further away the robot arm 12 is from the first sensor 3A. The further the robot arm 12 is from the first sensor 3A, the smaller the area of the detection range of the first sensor 3A tends to be obstructed by the robot arm 12. Therefore, in its mobile configuration, the detection range of the first sensor 3A is relatively large.
[0110] Furthermore, the amount of forward protrusion of the robot arm 12 in its travel shape from the base 11 is relatively small. By reducing the amount of forward protrusion of the robot arm 12, the detection range of the first sensor 3A, specifically the diagonally upward forward area from the first sensor 3A, is expanded.
[0111] The overall width of the robot arm 12 in its mobile configuration, as viewed from above, is relatively small. For example, in the mobile configuration, the second link L2 is located on the outermost side in the width direction. Of the multiple links L, all links other than the second link L2 are positioned further inward in the width direction than the second link L2. By making the overall width of the robot arm 12 in its mobile configuration, as viewed from above, relatively small, the possibility of interference between the robot arm 12 and other objects located in the width direction during movement can be reduced. In addition, the robot arm 12 in its mobile configuration may be positioned in front of the rotation axis of the first joint J1 in the front-rear direction by rotating the first link L1 forward around the rotation axis of the first joint J1. This further reduces the width of the second link L2 of the two robot arms, i.e., the overall width of the robot arm 12 as viewed from above.
[0112] The overall shape of the robot arm 12 in its travel configuration, as seen from a plan view, is contained within the carriage 10 in the front-to-back direction. This reduces the possibility of interference between the robot arm 12 and other objects located in the front-to-back direction during travel.
[0113] Furthermore, the shapes of the two robot arms 12 do not have to be exactly the same in terms of their movement. In other words, the shapes of the two robot arms 12 may be slightly different. For example, the tip of one robot arm 12 may be at a different height than the tip of the other robot arm 12. The rotation angles of the seventh joint J7 of one robot arm 12 may be different from those of the seventh joint J7 of the other robot arm 12.
[0114] For example, when the robot arm 12 is performing work, the arm controller 611 operates the robot arm 12. In other words, when the robot arm 12 is performing work, the arm controller 611 permits the robot arm 12 to move and allows the robot arm 12 to move freely. For example, the arm controller 611 operates the robot arm 12 after the mobile body 1 has reached its destination and performs work with the robot arm 12.
[0115] Other embodiments As described above, the embodiments described herein have been presented as examples of the technology disclosed in this application. However, the technology in this disclosure is not limited thereto and can be applied to embodiments that have been modified, replaced, added, or omitted as appropriate. Furthermore, it is possible to combine the components described in the embodiments above to create new embodiments. In addition, the components described in the attached drawings and detailed description may include not only components essential for solving the problem, but also components that are not essential for solving the problem, in order to illustrate the technology. Therefore, the mere presence of such non-essential components in the attached drawings and detailed description should not be immediately assumed to mean that those non-essential components are essential.
[0116] The mobile body 1 may be a robot that does not include the robotic arm 12. The mobile body 1 is not limited to a robot, but may be a mobile device such as a drone, ship, or vehicle. The movement path of the mobile body 1 is not limited to a passageway, but may be a road or waterway.
[0117] The shapes of the emergency area E and the monitoring area M are not limited. The outer shapes of the emergency area E and the monitoring area M may be, for example, squares, polygons other than rectangles, ellipses, or circles. The emergency area E does not have to be set. The change in the area of the monitoring area M according to the current speed is not limited to the example shown in Figure 12. For example, the area of the monitoring area M may be set to zero when the mobile body 1 is stopped, and the area of the monitoring area M may be increased as the travel speed increases when the mobile body 1 is moving.
[0118] In the first safety control, the mode of velocity change according to the distance to surrounding objects is not limited to the example shown in Figure 8.
[0119] The flowchart is merely an example. The steps in the flowchart may be changed, replaced, added, or omitted as appropriate. The order of the steps in the flowchart may also be changed, or serial processes may be processed in parallel. For example, in the safety control flowchart shown in Figure 13, steps S101 and S102 may be processed in parallel.
[0120] The functions of the elements disclosed herein may be implemented using one or more circuits or processing circuits, including general-purpose processors, special-purpose processors, integrated circuits, ASICs (Application Specific Integrated Circuits), FPGAs (Field Programmable Gate Arrays), and / or conventional circuits. The functions of the elements disclosed herein may be implemented using one or more circuits or processing circuits, including combinations of general-purpose processors, special-purpose processors, integrated circuits, ASICs, FPGAs, and conventional circuits. One or more circuits or processing circuits may be programmed using one or more programs stored together or individually in one or more memories, or may be otherwise configured to perform the disclosed functions. A processor is considered a processing circuit or circuit because it includes transistors and other circuits. A processor may be a programmed processor that executes programs stored in memory. In this disclosure, a circuit, unit, or means is hardware that performs the enumerated functions alone or in combination with each other, or hardware programmed to perform the enumerated functions alone or in combination with each other. The hardware may be any hardware disclosed herein that is programmed or configured to perform the listed functions.
[0121] A computer program, including computer instructions, is stored in memory. The computer instructions provide logic and routines that enable hardware to execute the methods disclosed herein. The hardware includes, for example, processing circuits or circuits. The computer program may be implemented in a known format on computer-readable storage media, computer program products, memory devices, recording media such as CD-ROMs or DVDs, and / or in the memory of FPGAs or ASICs.
[0122] [Aspect] The above-mentioned embodiment is a specific example of the following embodiment.
[0123] (Aspect 1) The mobile body 100 comprises a mobile body 1 and a control device 6 that causes the mobile body 1 to perform autonomous movement. The control device 6 performs a first safety control and a second safety control. In the first safety control, the control device 6 reduces the travel speed of the mobile body 1 as the distance between the mobile body 1 and objects surrounding the mobile body 1 decreases. In the second safety control, the control device 6 sets a monitoring area M located in front of the mobile body 1 in the direction of travel and whose area decreases as the travel speed of the mobile body 1 decreases. If an object is present in the monitoring area M, the control device 6 temporarily reduces the travel speed of the mobile body 1 to a first speed or lower.
[0124] In this configuration, a monitoring area M is set in front of the mobile body 1 in the direction of travel. If an object is present in the monitoring area M, the second safety control temporarily reduces the travel speed of the mobile body 1 to the first speed or lower. This allows the mobile body 1 to decelerate or stop earlier before it can interfere with an object in front of it. As a result, the possibility of the mobile body 1 interfering with an object can be effectively reduced, improving safety. If the object is a person, decelerating or stopping the mobile body 1 earlier can prevent the person from feeling anxious. However, if the mobile body 1 is traveling through a narrow passage, the side walls of the passage may easily intrude into the monitoring area M, and the mobile body 1 may be frequently limited in speed. In this case, the drivability may deteriorate. In the mobile body 100, the first safety control is executed. In the first safety control, the travel speed of the mobile body 1 decreases as the distance to surrounding objects decreases. However, if the mobile body 1 is traveling through a narrow passage, the distance to surrounding objects will be relatively short. Therefore, the first safety control reduces the travel speed of the mobile unit 1 in narrow passages, etc. As the travel speed of the mobile unit 1 decreases, the area of the monitoring area M decreases, so when the mobile unit 1 travels in a narrow passage, etc., the area of the monitoring area M decreases. As a result, the mobile unit 1 is less likely to be frequently restricted in speed, and thus the deterioration of maneuverability can be suppressed. In other words, both maneuverability and safety can be achieved.
[0125] (Aspect 2) In the mobile body 100 described in Embodiment 1, the control device 6 sets the area of the monitoring region M to zero when the travel speed of the mobile body 1 is less than or equal to the second speed.
[0126] With this configuration, when the mobile unit 1 travels through a narrow passage, the side walls of the passage become even less likely to intrude into the monitoring area M, thus ensuring safety without worsening the mobility.
[0127] (Aspect 3) In the mobile body 100 described in Embodiment 1 or Embodiment 2, the first speed is zero.
[0128] With this configuration, if an object is detected within the monitoring area M, the mobile unit 1 will temporarily stop, further reducing the possibility of the mobile unit 1 interfering with the object and improving safety.
[0129] (Aspect 4) In the mobile body 100 described in any one of embodiments 1 to 3, the control device 6 executes a route plan for the mobile body 1, and the time for temporarily reducing the travel speed of the mobile body 1 to a first speed or lower is greater than the time required for the control device 6 to execute the route plan.
[0130] With this configuration, a path plan is generated that avoids objects within the monitoring area M. Therefore, even if the mobile body 1 resumes normal movement after a period of time during which its travel speed is temporarily reduced, the possibility of interference between the mobile body 1 and objects within the monitoring area M can be reduced.
[0131] (Appendix 5) In the mobile body 100 described in any one of embodiments 1 to 4, the mobile body 1 is a mobile robot that includes a robotic arm.
[0132] This configuration makes it possible to create a robot that balances mobility and safety.
[0133] (Aspect 6) The control device 6 is a control device 6 that causes the mobile body 1 to perform autonomous movement, and comprises a first safety controller 681 that performs first safety control and a second safety controller 682 that performs second safety control, wherein the first safety controller 681 reduces the travel speed of the mobile body 1 as the distance between the mobile body 1 and objects present around the mobile body 1 decreases, and the second safety controller 682 sets a monitoring area M that is located in front of the mobile body 1 in the direction of travel and whose area decreases as the travel speed of the mobile body 1 decreases, and temporarily reduces the travel speed of the mobile body 1 to a first speed or less when an object is present in the monitoring area M.
[0134] This configuration makes it possible to achieve both mobility and safety for the mobile unit 1.
[0135] (Aspect 7) The control method is a control method for causing the mobile body 1 to perform autonomous movement, and includes performing a first safety control and performing a second safety control, wherein in performing the first safety control, the travel speed of the mobile body 1 is reduced as the distance between the mobile body 1 and objects present around the mobile body 1 decreases, and in performing the second safety control, a monitoring area is set which is located in front of the mobile body 1 in the direction of travel and whose area decreases as the travel speed of the mobile body 1 decreases, and if an object is present in the monitoring area, the travel speed of the mobile body 1 is temporarily reduced to a first speed or less.
[0136] This configuration makes it possible to achieve both mobility and safety for the mobile unit 1.
[0137] (Pattern 8) The control program is a control program for causing the mobile body 1 to perform autonomous movement, and implements a function for executing a first safety control and a function for executing a second safety control on a computer. The function for executing the first safety control reduces the travel speed of the mobile body 1 as the distance between the mobile body 1 and objects surrounding the mobile body 1 decreases. The function for executing the second safety control sets a monitoring area located in front of the mobile body 1 in the direction of travel, and whose area decreases as the travel speed of the mobile body 1 decreases. If an object is present in the monitoring area, the program temporarily reduces the travel speed of the mobile body 1 to a first speed or lower.
[0138] This configuration makes it possible to achieve both mobility and safety for the mobile unit 1. [Explanation of Symbols]
[0139] 100 Mobile Units 1 Mobile Unit 12 Robot Arms 6 Control device 681 First Safety Controller 682 Second Safety Controller M monitoring area
Claims
1. The mobile unit body and The mobile body is equipped with a control device that causes the mobile body to perform autonomous movement, The control device performs a first safety control and a second safety control. In the first safety control, the control device reduces the travel speed of the mobile body as the distance between the mobile body and objects surrounding the mobile body decreases. In the second safety control, the control device sets a monitoring area positioned in front of the mobile body in the direction of travel and whose area decreases as the travel speed of the mobile body decreases, and when an object is present in the monitoring area and the travel speed of the mobile body determined by the first safety control is greater than a first speed, the control device temporarily limits the travel speed of the mobile body determined by the first safety control to the first speed or less.
2. In the mobile body described in claim 1, The control device, in the second safety control, limits the travel speed of the mobile body to a first speed or less for a predetermined time limit when an object is present in the monitoring area, and releases the travel speed restriction after the time limit has elapsed.
3. In the mobile body described in claim 1, The control device is a mobile body that reduces the area of the monitoring region to zero when the travel speed of the mobile body is less than or equal to the second speed.
4. In the mobile body described in claim 1, The first velocity of the moving body is zero.
5. In the mobile body according to claim 2, The control device executes a path plan for the mobile body, and if the speed is limited to a first speed or less, the mobile body executes a path plan that avoids objects within the monitoring area during the limited time.
6. In the mobile body according to any one of claims 1 to 5, The aforementioned mobile body is a mobile robot that includes a robotic arm and is movable.
7. A control device that causes the mobile body to perform autonomous movement, A first safety controller that performs the first safety control, It comprises a second safety controller that performs a second safety control, The first safety controller reduces the travel speed of the mobile body as the distance between the mobile body and objects surrounding the mobile body decreases. The second safety controller is positioned in front of the mobile body in the direction of travel and sets a monitoring area whose area decreases as the travel speed of the mobile body decreases. When an object is present in the monitoring area and the travel speed of the mobile body determined by the first safety control is greater than a first speed, the controller temporarily limits the travel speed of the mobile body determined by the first safety control to a first speed or less.
8. A control method for causing a mobile unit to perform autonomous movement, To execute the first safety control, This includes performing a second safety control, In executing the first safety control, the travel speed of the mobile body is reduced as the distance between the mobile body and objects surrounding it decreases. In executing the second safety control, a monitoring area is set which is located in front of the mobile body in the direction of travel and whose area decreases as the travel speed of the mobile body decreases, and a control method which temporarily limits the travel speed of the mobile body determined by the first safety control to the first speed or less when an object is present in the monitoring area and the travel speed of the mobile body determined by the first safety control is greater than the first speed.
9. A control program for causing the mobile unit to perform autonomous movement, The function to execute the first safety control, The computer implements a function to execute the second safety control. The function for executing the first safety control reduces the travel speed of the mobile body as the distance between the mobile body and objects surrounding the mobile body decreases. The function for executing the second safety control includes a control program which sets a monitoring area located in front of the mobile body in the direction of travel and whose area decreases as the travel speed of the mobile body decreases, and which temporarily limits the travel speed of the mobile body determined by the first safety control to the first speed or less when an object is present in the monitoring area and the travel speed of the mobile body determined by the first safety control is greater than the first speed.
Citation Information
Patent Citations
Laser sensor and automatic conveyance device
JP2015230527A
Mobile body control device and mobile body control method
JP2016151897A
Industrial vehicle
JP2022012369A
Moving body, control apparatus, monitoring apparatus, control method and program
JP2022047381A
Traveling vehicle
JP2022185638A