`Ueno et al.
`
`I 1111111111111111111111111111111 111111111111111 1111111111111111 11111111 1111
`US006076025A
`[11] Patent Number:
`[45] Date of Patent:
`
`6,076,025
`Jun.13,2000
`
`[54] MOBILE ROBOT STEERING METHOD AND
`CONTROL DEVICE
`
`[75]
`
`Inventors: lchirou Ueno; Hironori Katou, both of
`Saitama, Japan
`
`[73] Assignee: Honda Giken Kogyo K.K., Tokyo,
`Japan
`
`[21] Appl. No.: 09/015,312
`
`[22] Filed:
`
`Jan. 29, 1998
`
`[30]
`
`Foreign Application Priority Data
`
`Jan. 29, 1997
`
`[JP]
`
`Japan .................................... 9-029768
`
`Int. CI.7 ................................................... G06F 165/00
`[51]
`[52] U.S. Cl ................................... 701/23; 701/25; 701/26
`[58] Field of Search ................................... 701/23, 25, 26
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,939,650
`5,081,585
`
`7/1990 Nishikawa ......................... 364/424.02
`1/1992 Kurami et al. ..................... 364/424.02
`
`5,377,106
`5,548,511
`5,570,285
`5,925,080
`
`12/1994 Drunk et al. ....................... 364/424.02
`8/1996 Bancroft ............................. 364/424.02
`10/1996 Asaka et al. ....................... 364/424.02
`6/1999 Shimbara et al.
`........................ 701/23
`Primary Examiner-Tan Nguyen
`Assistant Examiner---Dalena Tran
`Attorney, Agent, or Firm-Armstrong, Westerman, Hattori,
`McLeland& Naughton
`
`[57]
`
`ABSTRACT
`
`A robot is provided to run so that a trace of the robot
`efficiently covers a given area according to the detection of
`a boundary of the area. A spiral pattern running, wherein a
`radius of the spiral is gradually increased, is started at a
`desired location in the area and is paused upon the detection
`of a boundary wall by sensors. Then, a random pattern
`running, which includes turning to depart from the wall and
`running forward, is conducted. After the turning has been
`repeated a predetermined number of times through
`simulations, the spiral pattern running is resumed at a
`location spaced from the last turning spot by a predeter(cid:173)
`mined distance or a predetermined length of running time.
`
`19 Claims, 13 Drawing Sheets
`
`1
`
`iROBOT 2002
`Shenzhen Zhiyi Technology v. iRobot
`IPR2017-02061
`
`
`
`U.S. Patent
`
`Jun.13,2000
`
`Sheet 1 of 13
`
`6,076,025
`
`F I G. 1
`
`6SL
`
`TO 7
`.---~A..._ __
`,.-
`
`5
`
`6SR
`
`6DR
`
`6R
`
`6 ML--1---'
`
`--+--6MR
`
`4
`
`F I G.
`
`2
`
`6
`SUPERSONIC
`SENSOR
`GROUP
`
`1 0
`
`MOTOR
`REVOLUTION
`SENSORS
`
`FIRST
`ECU
`
`1 a
`
`2
`
`1 1
`
`I -MOTi-ON- -:
`: SHEME :
`~~~'-:_~C_i:_q_~:
`CPU
`:sEi.E"cr-oii:
`... --------·
`
`DIG I TAL ...,_ __
`OUTPUT
`
`1 8
`
`DIGITAL
`INPUT
`
`9
`
`20
`
`8
`
`7
`
`D/A
`
`1 7
`
`3
`
`1 2
`
`1 3
`
`RIGHT
`TREAD
`BRAKE
`
`LEFT
`TREAD
`BRAKE
`
`1 5
`
`LEFT
`MOTOR
`
`2
`
`
`
`U.S. Patent
`
`Jun.13,2000
`
`Sheet 2of13
`
`6,076,025
`
`F I G. 3
`
`1 8
`
`MOTION SCHEME SELECTOR
`
`6, 5 A
`
`SENSORS
`
`1 9
`
`ACTUATOR
`
`ACTION SCHEME RESPONDING TO SENSOR 6R
`
`REQUEST
`
`ACTION SCHEME RESPONDING TO SENSOR 6L
`
`REQUEST
`
`ACT I ON SCHEME RESPOND I NG TO SENSOR 6SR
`•
`•
`•
`ACTION SCHEME RESPONDING TO SENSOR 5A
`
`REQUEST
`.
`.
`•
`REQUEST
`
`F I G. 4
`
`MOTION SCHEME
`
`REQUEST
`
`20
`
`MOTION SCHEME
`
`REQUEST
`
`MOTION SCHEME
`
`. • .
`
`MOTION SCHEME
`
`SELECTOR
`
`OPERATION
`
`REQUEST
`
`REQUEST
`
`AP1
`
`AP2
`
`AP3
`
`APn
`
`FIG. 5A
`
`F I G. 5 B
`
`B
`
`B
`
`3
`
`
`
`U.S. Patent
`
`Jun.13,2000
`
`Sheet 3of13
`
`6,076,025
`
`cc
`<O
`
`•
`
`LL
`
`<(
`<O
`
`•
`
`LL
`
`Cil
`
`()
`(0
`
`LL
`
`4
`
`
`
`U.S. Patent
`
`Jun.13,2000
`
`Sheet 4of13
`
`6,076,025
`
`PROGRESS OF
`WORK
`(%)
`
`90.0
`
`80.0
`
`70.0
`
`60.0
`
`50.0
`
`40.0
`
`30.0
`
`20.0
`
`10.0
`
`0.0
`
`FIG. 7 A
`
`-·-·---·--·.......-----------
`COORDINATES PATTERN RUNNING
`
`l : l
`' i ir ARGER AREA
`
`! 4. 2mx4. 2m
`:
`:
`!
`:
`
`0
`
`0
`~
`
`WORKING TIME
`
`(SECOND)
`
`F I G. 7 B
`
`PROGRESS OF
`WORK
`(%)
`
`90.0
`80.0
`70.0
`60.0
`50.0
`
`40.0
`30.0
`20.0
`10.0
`0.0
`
`WORKING TIME
`
`(SECOND)
`
`5
`
`
`
`U.S. Patent
`
`Jun.13,2000
`
`Sheet 5of13
`
`6,076,025
`
`0.040
`
`0.035
`
`0.030
`
`EFFICIENCY 0.025
`(%/SECOND)
`
`0.020
`
`0.015
`
`0.010
`
`0.005
`
`0.000
`
`0.025
`
`0.020
`
`0.015
`
`0.010
`
`0.005
`
`0.000
`
`EFFICIENCY
`(%/SECOND)
`
`F I G. BA
`
`p
`
`FINE TUNING RANDOM RUNNING
`
`-· .. -.;.. .... _. ______ .,,._
`RANDOM RUNNING
`SPIRAL RUNNING
`
`TARGET AREA
`4.2mX4.2m.
`
`15
`
`30
`
`45
`60
`TIME T (SECOND)
`
`75
`
`90
`
`105
`
`FIG. 88
`
`p
`
`FINE TUNING RANDOM RUNNING
`
`I
`
`_
`. _ .
`RANDOM RUNNING
`•••••• i" - ••• ···-·······-·· ····-·······
`I
`I
`I
`I
`
`SPIRAL RUNNING
`
`TARGET AREA
`4. 2mx8. 4m
`
`10
`
`20
`
`60
`40
`TI ME T (SECOND)
`
`80
`
`100
`
`6
`
`
`
`U.S. Patent
`
`Jun.13,2000
`
`Sheet 6of13
`
`6,076,025
`
`0.050
`0.045
`0.040
`0.035
`EFFICIENCY o.o3o
`(%/SECOND) 0.025
`0.020
`
`O.Ql 5
`0.010
`0.005
`0.000
`
`0.025
`
`0.020
`
`0.015
`
`0.010
`
`0.005
`
`0.000
`
`EFFICIENCY
`(%/SECOND)
`
`FIG. 9A
`
`R
`
`FINE TUNING RANDOM RUNNING
`
`·-· ----~ ---·:J·--·-·-·-
`
`RANDOM RUNNING
`
`SPIRAL RUNNING
`
`TARGET AREA
`4.2mX4.2m
`
`2
`
`5
`
`25
`20
`15
`10
`TURNING NUMBER OF TIMES(N)
`
`30
`
`35
`
`FIG. 9 B
`
`R
`
`---s
`-- .. --t -. - --- --
`
`;
`l
`
`FINE TUNING RANDOM RUNNING
`
`RANDOM RUNNING
`
`~~=,.:;...;..:
`
`T
`
`SPIRAL RUNNING
`
`TARGET AREA
`4. 2mX8. 4m
`
`2
`
`5
`
`10
`
`15
`
`20
`25
`TURNING NUMBER OF TIMES(N)
`
`30
`
`35
`
`7
`
`
`
`U.S. Patent
`
`Jun.13,2000
`
`Sheet 7of13
`
`6,076,025
`
`F I G. 1 0
`
`SENSOR
`
`INPUT PROCESS
`
`STAND BY FOR REQUEST
`
`S100
`
`PRESET COUNTER. DOWN-COUNT
`
`s 120
`
`SAVE COUNT
`
`s 150
`
`SAVE 0 AS COUNT
`
`S160
`
`CLEAR COUNTER
`
`s 170
`
`MAJORITY OPERATION ON COUNT
`
`S180
`
`F I G. 1 1
`
`CONTACT SENSOR INPUT PROCESS
`
`sao
`
`STOP COMMAND
`
`8
`
`
`
`U.S. Patent
`
`Jun.13,2000
`
`Sheet 8of13
`
`6,076,025
`
`START
`
`INSTRUCTION OF
`START
`SPIRAL RUNNING
`
`REQUEST DISTANCE COUNT
`
`PROCESS CONT ACT
`SENSOR
`INPUT
`
`s 3
`
`F I G. 1 2
`
`S7
`
`DECIDE NEXT MOTION
`
`JUDGE IF SPIRAL RUNNING
`IS TO BE CONTINUED
`
`BACKWARD
`RUNNING
`
`SWIVEL
`TURN
`
`ESCAPE
`CONTROL
`PROCESS
`
`REQUEST SWIVEL
`TURNING PROCESS
`
`S14
`
`HUNTING
`PREVENTION
`PROCESS
`
`S18
`
`REQUEST BACKWARD
`RUNNING PROCESS
`
`s 1 1
`
`REQUEST FORWARD
`RUNNING PROCESS
`
`S19
`
`9
`
`
`
`U.S. Patent
`
`Jun.13,2000
`
`Sheet 9of13
`
`6,076,025
`
`F I G. 1 3
`
`SENSOR
`NAME
`
`SENSOR
`DETECTION
`
`6SR
`
`6R
`
`6DR
`
`6MR
`
`6SL
`
`6L
`
`6DL
`
`6ML
`
`OVER 0.5m
`0.3m - 0.5m
`UNDER 0.3m
`OVER 2m
`1. 5m - 2m
`lm - 1. 5m
`0.5m - lm
`0.3m - 0.5m
`UNDER 0.3m
`OVER 0.5m
`0.3m - 0.5m
`UNDER 0.3m
`OVER 0.5m
`0.3m - 0.5m
`UNDER 0.3m
`OVER 0.5m
`0.3m - 0.5m
`UNDER 0.3m
`OVER 2m
`1. 5m - 2m
`lm - 1.5m
`0.5m - lm
`0.3m - 0.5m
`UNDER 0.3m
`OVER 0.5m
`0.3m - 0.5m
`UNDER 0.3m
`OVER 0.5m
`0.3m - 0.5m
`UNDER 0.3m
`
`MOTION
`SCHEME
`
`PARAMETERS TRANSFERRED TO
`SUCCEEDING MOTION TO BE SELECTED
`TURNING
`TREAD SPEED
`INTRA- OPPOSITE- LEVEL DIRECTION
`SIDE
`SIDE
`-
`HIGH
`-
`HIGH
`STRAIGHT
`LEFT
`STRAIGHT CTURN) MODERATE VERY LOW
`2
`STRAIGHT (TURN)
`LOW
`PAUSE
`LEFT
`1
`STRAIGHT
`HIGH
`HIGH
`-
`-
`LOW
`LEFT
`STRAIGHT (TURN) MODERATE
`3
`STRAIGHT (TURN) MODERATE VERY LOW
`LEFT
`2
`STRAIGHT (TURN)
`LOW
`PAUSE
`LEFT
`1
`LEFT
`SWIVEL TURN
`VERY LOW VERY LOW
`0
`-
`BACKWARD
`VERY LOW VERY LOW
`-
`-
`STRAIGHT
`HIGH
`HIGH
`-
`STRAIGHT (TURN) VERY LOW
`PAUSE
`LEFT
`1
`LEFT
`SWIVEL TURN
`VERY LOW VERY LOW
`0
`-
`STRAIGHT
`HIGH
`HIGH
`-
`STRAIGHT (TURN) VERY LOW
`PAUSE
`LEFT
`1
`SWIVEL TURN
`VERY LOW VERY LOW
`LEFT
`0
`-
`STRAIGHT
`HIGH
`HIGH
`-
`STRAIGHT (TURN) MODERATE VERY LOW
`RIGHT
`2
`RIGHT
`LOW
`PAUSE
`TURN
`1
`-
`STRAIGHT
`HIGH
`HIGH
`-
`STRAIGHT (TURN) MODERATE
`LOW
`RIGHT
`3
`STRAIGHT (TURN) MODERATE VERY LOW
`RIGHT
`2
`STRAIGHT (TURN)
`LOW
`PAUSE
`RIGHT
`1
`RIGHT
`SWIVEL TURN
`VERY LOW VERY LOW
`0
`BACKWARD
`VERY LOW VERY LOW
`-
`-
`-
`STRAIGHT
`HIGH
`HIGH
`-
`STRAIGHT (TURN) VERY LOW
`PAUSE
`RIGHT
`1
`SWIVEL TURN
`VERY LOW VERY LOW
`RIGHT
`0
`HIGH
`STRAIGHT
`HIGH
`-
`-
`STRAIGHT (TURN) VERY LOW
`PAUSE
`RIGHT
`1
`SWIVEL TURN
`VERY LOW VERY LOW
`RIGHT
`0
`
`10
`
`
`
`U.S. Patent
`
`Jun.13,2000
`
`Sheet 10 of 13
`
`6,076,025
`
`F I G. 1 4
`
`SPIRAL RUNNING PROCESS
`
`S20
`
`STAND BY FOR
`COMMENCE
`INSTRUCTION
`
`s 2,
`
`SET/START TIMER
`
`S25
`
`CALCULATE AND SET
`UPDATE TIME t TO
`ENLARGE SPIRAL RUNNING
`
`S26
`
`11
`
`
`
`U.S. Patent
`
`6,076,025
`
`Sheet 11 of 13
`Jun.13,2000
`F I G. 1 5
`
`SWIVEL TURN PROCESS
`
`STAND BY FOR
`COMMENCE INSTRUCTION
`
`S30
`
`n+-n+1
`
`s 3,
`
`START INSTRUCTION OF
`SPIRAL RUNNING
`
`833
`
`n+-0
`
`S34
`
`CALCULATE TURN I NG DURATION
`
`s 3 5
`
`DRIVE LEFT AND RIGHT
`TREADS
`IN OPPOS I TE
`EACH OTHER
`
`S 3 6
`
`I NSTRUCT TO DR I VE
`BOTH TREADS
`IN
`FORWARD DIRECTION
`
`s 3 g
`
`12
`
`
`
`U.S. Patent
`
`Jun.13,2000
`
`Sheet 12 of 13
`
`6,076,025
`
`F I G. 1 6
`
`BACKWARD RUNNING PROCESS
`
`STAND BY FOR
`COMMENCE
`INSTRUCTION
`
`INSTRUCT TO DR I VE
`BOTH TREADS
`IN
`BACKWARD DIRECTION
`
`s 5 o
`
`s 5 1
`
`INSTRUCT TO DRIVE
`BOTH TREADS
`IN
`FORWARD DIRECTION
`
`s 5 4
`
`13
`
`
`
`U.S. Patent
`
`Jun.13,2000
`
`Sheet 13 of 13
`
`6,076,025
`
`FIG. 17A
`- - - - - - - - -.- - - -
`
`[NEW]
`
`[MID]
`
`[OLD]
`•
`
`SENSOR
`OUTPUT
`
`TIME
`
`F I G. 1 78
`
`SENSOR
`OUTPUT
`
`[NEW]
`------ ----~---
`
`[OLD]
`!. -
`-
`
`-
`
`-
`
`-
`
`[MID]
`
`--------
`
`FIG. 17C
`
`SENSOR
`OUTPUT
`
`•
`
`[NEW]
`
`[MID]
`
`------
`• [OLD]
`
`}m
`
`TIME
`
`TIME
`
`14
`
`
`
`6,076,025
`
`1
`MOBILE ROBOT STEERING METHOD AND
`CONTROL DEVICE
`
`BACKGROUND OF THE INVENTION
`
`2
`robots, the mower robots must produce highly neat traces of
`mowed area and the other mower robots are expected to
`perform a mowing operation only at a substantial level.
`
`SUMMARY OF THE INVENTION
`
`5
`
`1. Field of the Invention
`The present invention generally relates to a mobile robot
`steering method and a controlling device for a mobile robot
`and more particularly, to a method which allows the mobile
`robot to run throughout almost the entirety of a given area 10
`in a shorter period of time and a device for implementing the
`same.
`2. Description of the Related Art
`Mobile robots, including a cleaner robot, a mower robot,
`a plasterer robot, and an agricultural sprayer robot, are
`known which automatically run throughout a given area for
`accomplishment of an imposed task. For example, a cleaner
`robot, is disclosed in Japanese Patent Laid-open Publication
`No. HEI 5-46246 (hereinafter "JP '246"). The cleaner robot
`of JP '246 first runs about in a target room to be cleaned to
`map out a running or cleaning area through detection of the
`size and shape of the target room and the locations of
`obstacles in the room. Coordinates data, produced by the
`mapping, are then used for a mobile robot to clean the room
`while running in either a zigzag pattern or a spiral pattern in
`which the radius of circling is gradually decreased after
`every turn. The robot includes contact sensors and super(cid:173)
`sonic sensors for detecting walls around the robot to deter(cid:173)
`mine the robot's route. The robot also includes a distance
`meter for measuring the distance traveled in order to know
`the end of the circling motion. Another mobile robot, for
`running around throughout the whole area of a given floor,
`is disclosed in Japanese Patent Laid-open Publication No.
`HEI 5-257533 (hereinafter "JP '533").
`Such conventional mobile robots, as shown in JP '246 and
`JP '533, are generally provided with a number of sensors.
`The outputs of the sensors are used for acquiring the data of
`an area to be traveled and determining the operations to be
`performed for running through. More particularly, the out(cid:173)
`puts of the sensors are constantly transferred to a central
`controlling unit, which in turn determines the controlling
`action for steering the robot at high accuracy on the basis of
`the sensor outputs. Driving actuators, such as motors, are
`controlled on the basis of these determinations.
`When the central controlling unit handles the outputs of
`all of the sensors, the system of the central controlling unit
`should be sophisticated and the central controlling unit's
`processing speed will be lowered. Such a lower processing
`speed may retard and thus, take an averting action, when
`encountering an obstacle such as a wall. Also, time for
`mapping, teaching, and settings of relevant thresholds and
`initial values are required, for various kinds of controls and
`skills for the settings.
`Accordingly, conventional mobile robots are so bulky in 55
`size, heavy in weight, and costly that the applications thereof
`will be limited. Examples of the limited applications are, for
`instance, as transporting robots and as cleaning robots in
`plants.
`Not all robots have to run throughout the entirety of a
`target area at a higher accuracy, but some robots are allowed
`to run throughout the area with a considerable degree of
`accuracy. The routes and directions of these robots may not
`be critical. In some cases of a cleaning robot, for example,
`the area to be cleaned does not always have to be covered in 65
`its entirety, but rather some of the area can remain
`uncleaned. Depending on the requirements of some mower
`
`It is the object of the present invention to provide a mobile
`robot steering method and a device for the same in which a
`robot with a simple construction is caused to run throughout
`almost the entirety of a target area to be covered.
`According to the present invention, a mobile robot, while
`detecting the boundary of an area to be covered with its
`sensors, performs a spiral pattern running motion which
`starts from any desired location in the area and which has a
`radius that is gradually increased. When the distance of the
`15 robot from the boundary is smaller than a preset value, the
`spiral pattern running motion is cancelled and a random
`pattern running motion is started. The random pattern run(cid:173)
`ning motion includes first turning from the forward direction
`by a predetermined angle to run away from the boundary,
`20 running straight forward, then repeating the turning motion
`and the straight forward running motion whenever the
`boundary is detected. When the turning motion has been
`repeated a predetermined number of times, the spiral pattern
`running motion is started again at a location spaced by a
`25 predetermined distance from the last turning spot or at a
`location to which the robot has run straight for a predeter(cid:173)
`mined duration of time from the last turning location.
`The number of times for repeating the turning motion,
`before the spiral pattern running motion, and the specific
`30 distance or time of straight running, from the last turning
`motion to the resuming of the spiral pattern running motion,
`may be determined through a series of simulations so that
`the duration of time, required for running throughout almost
`a desired percentage of the area, is minimized. The angle for
`35 the turning motion may preferably be 135 degrees with
`respect to the forward direction.
`A controller for a mobile robot, according to the present
`invention, in which the direction of running is determined by
`the direction of rotation and the speed of rotation of both left
`and right wheels of the robot, comprises: either a right side
`obstacle sensor and a left side obstacle sensor or sensors
`mounted on the right front and the left front of a main body
`of the robot; means for generating running motion
`parameters, in accordance with the distances to obstacles
`detected by the right and left side sensor(s), which param(cid:173)
`eters are independent of each other; and means for deter(cid:173)
`mining the direction and speed of rotation of each of the left
`and right motors on the basis of the running motion param-
`50 eters selected out of at least two of the generated running
`motion parameters by a predetermined rule of priority. The
`running speed of the robot may preferably be lowered in
`steps, in proportion to the distance detected from the
`obstacle.
`
`45
`
`40
`
`60
`
`BRIEF DESCRIPTION OF THE DRAWING
`FIGURES
`FIG. 1 is a schematic view showing a construction of a
`robot according to a first embodiment of the present inven-
`tion;
`FIG. 2 is a block diagram of a hardware structure of a
`controller according to the first embodiment of the present
`invention;
`FIG. 3 is a schematic diagram showing the process system
`for selecting a motion scheme;
`FIG. 4 is a block diagram showing the selection of the
`motion scheme;
`
`15
`
`
`
`6,076,025
`
`3
`FIGS. SA and SB are schematic views showing a basic
`pattern running motion for the robot according to the present
`invention;
`FIGS. 6A, 6B and 6C are schematic views showing a
`spiral pattern running motion for the robot according to the 5
`present invention;
`FIGS. 7A and 7B are diagrams of a result of simulation
`showing the relationship between time and progress of work
`using various parameters of the running pattern motion;
`FIGS. SA and SB are diagrams of a result of simulation
`showing the relationship between working efficiency and
`amount of running time T;
`FIGS. 9A and 9B are diagrams of a result of simulation
`showing the relationship between working efficiency and the
`number of times of turning or revolving motions N;
`FIG. 10 is a flowchart of processing inputs from super(cid:173)
`sonic sensors;
`FIG. 11 is a flowchart of processing inputs from contact
`sensors;
`FIG. 12 is a flowchart showing motion selection or
`determination in the spiral pattern running motion;
`FIG. 13 is a run parameter table showing the relationship
`between run parameters and outputs of the sensors;
`FIG. 14 is a flowchart showing control of the spiral
`pattern running motion;
`FIG. lS is a flowchart showing control of a swivel turn
`motion;
`FIG. 16 is a flowchart showing control of a backward
`running motion; and
`FIGS. 17A, 17B, and 17C are schematic diagrams show(cid:173)
`ing control of selection of sensor signals.
`
`30
`
`4
`detection signals from the right and left side sensors produce
`the parameters for rotation of the intra-side and the opposite
`side treads 3, 4, respectively.
`For simplicity of description, the eight sensors 6R, 6L,
`6MR, 6ML, 6SR, 6SL, 6DR, and 6DL will be simply called
`a supersonic sensor group 6 when all are inclusively referred
`to. The sensors 6DR, 6DL, 6MR, and 6ML are connected to
`a first electronic control unit or ECU la, the sensors 6SR and
`6SL are connected to a second electronic control unit or
`10 ECU 2a, and the sensors 6R and 6L are connected to a third
`electronic control unit or ECU 3a, respectively. The ECUs
`all are connected to the controller 7, which will be described
`later, and the ECU's are all arranged to control the driver
`circuit for the sensor group 6 and the inputting and output-
`15 ting of the detection signals from the sensor group 6.
`In addition to the above-mentioned obstacle sensors,
`additional sensors (not shown) are provided for detecting the
`number of revolutions of the treads 3, 4. The revolution
`sensors may be implemented, for example, by encoders
`20 directly linked to the two driving motors. A pulse output of
`each encoder is used as indicative of the number of revo(cid:173)
`lutions.
`A hardware arrangement of the controller 7 in the first
`embodiment will now be described referring to the block
`diagram of FIG. 2. The controller 7 includes a central
`processing unit or CPU S and a digital input 9, which is
`connected to the supersonic sensor group 6, via a supersonic
`sensor driver circuit 16 (including the first through the third
`ECUs la, 2a and 3a), for controlling the input and output of
`sensor signals. Also, the digital input 9 is connected to a
`contact sensor SA, mounted on the bumper S, and to motor
`revolution sensors (encoders) 10 for the motors driving the
`left and right treads 3, 4, as well as the supersonic sensor
`group 6. Accordingly, the detection signals of the supersonic
`sensor group 6, the contact sensor SA, and the revolution
`sensors 10 are transmitted via the digital input 9 to the CPU
`S.
`
`25
`
`DETAILED DESCRIPTION OF IBE
`PREFERRED EMBODIMENTS
`
`35
`
`The present invention will be described in more detail
`The CPU S is connected via a digital output 11 to a right
`referring to the accompanying drawings. FIG. 1 is a sche(cid:173)
`tread (electromagnetic) brake 12, a left tread
`matic view of an outline structure of a mobile robot 1 40
`(electromagnetic) brake 13, a right tread motor 14 (referred
`provided with a controller according to a first embodiment
`to as a right motor), and a left tread motor lS (referred to as
`of the present invention. As shown, the robot 1 operates
`a left motor). Instruction signals, determined through the
`forward running, backward running, pausing, and turning
`respective processes in the CPU S, are thus supplied via the
`motions with a pair of caterpillar treads 3, 4 mounted on
`right and left sides, respectively, of the body 2 of the robot 45 digital output 11 to the right tread brake 12, the left tread
`brake 13, the right motor 14, and the left motor lS. The right
`1, and controlled therefrom. Each tread 3, 4 is joined to a
`motor 14 and the left motor lS are fed with the instruction
`driving motor (not shown). The turning motion includes: a
`signals for steering. Also, the instruction signals for motor
`pivot turn, wherein one of the caterpillar treads 3, 4 is driven,
`revolution speed from the CPU S are transferred via a
`while the other of the caterpillar treads 3, 4 is halted; and a
`digital-to-analog or DIA converter 17 to the right motor 14
`swivel turn, wherein each of the two caterpillar treads 3, 4 50
`and the left motor lS.
`are driven away from each other in opposite directions. The
`In this arrangement, the CPU S is responsive to the inputs
`body 2 has a bumper S mounted to the front thereof. The
`bumper S is accompanied by a contact sensor (now shown)
`from the supersonic sensor group 6 and the contact sensor
`SA (referred all-inclusively to as "sensors" hereinafter) for
`which senses a pressure upon touching an obstacle and thus,
`detects the presence of the obstacle.
`55 determining the action of a drive system including the right
`motor 14 and the left motor lS. The forward running,
`The robot 1 also includes eight supersonic sensors for
`backward running, pausing, and turning motions of the robot
`detecting an obstacle without contact, as follows: sensors 6R
`are independently controlled, as the functions of their cor-
`and 6L mounted on the front right and left side, respectively;
`responding modules, by the CPU S. While the processes of
`sensors 6ML and 6MR mounted on the left and right front
`inputs from the sensors and the generation of motion
`ends, respectively; sensors 6DL and 6DR mounted on the 60
`schemes are being conducted constantly, only the forward
`front left and right lower side, respectively; and sensors 6SL
`running motion is enabled in a normal mode with the swivel
`and 6SR mounted on the left and right sides, respectively, of
`turn, pausing, and backward running motions maintained in
`the robot 1. Those sensors are preferably of a supersonic
`a sleep state. The turning motions, except for the swivel(cid:173)
`type, but may be of any other type, such as optical sensors.
`turns, are controlled by a forward running control module.
`The sensors 6R, 6SR, 6MR, and 6DR detect obstacles on the 65
`The CPU S includes a motion scheme selector lS for
`right side of the body 2, while the sensors 6L, 6SL, 6ML,
`and 6DL detect obstacles on the left side of the body 2. The
`assigning the robot to do one of a number of predetermined
`
`16
`
`
`
`6,076,025
`
`5
`
`5
`motions in conditioned response to the inputs from the
`sensor group 6. FIG. 3 is a schematic view showing a system
`of process actions in the motion scheme selector 18. As
`shown, the motion scheme selector 18 has a multi-stage
`arrangement connected to the sensors 6 and SA for gener(cid:173)
`ating action schemes and their requests in response to the
`outputs of the sensors. The motion scheme selector 18
`selects one of the requests as its instruction signal. The
`instruction signal thus selected is fed to the drive system 19
`(an actuator) for controlling the right tread brake 12, the left
`tread brake 13, the right motor 14, the left motor lS and
`others. As mentioned above, the instruction signals of the
`action scheme generated in response to the outputs of the
`sensors are accumulated and used in combination to dem(cid:173)
`onstrate the comprehensive action of the robot.
`The first embodiment is designed for not directly per(cid:173)
`forming the action schemes generated in response to the
`outputs of the sensors, but instead for ranking the action
`schemes by their priority under predetermined rules and
`then, performing a sequence of the action schemes starting
`from the one having the highest priority. FIG. 4 is a block
`diagram showing a process of motion detection in the first
`embodiment. When the action schemes APl, AP2, ... APn
`and their requests have been generated, a highest priority
`scheme, which is to prevent a collision against a wall, is
`selected by a selector 20 from the action schemes APl,
`AP2, ... Apn. The highest priority action scheme in the first
`embodiment is to run backward. The second highest priority
`is to swivel at the site and the pivot turn, sharp turn, and slow
`turn follow in the order listed. The pivot turn, sharp turn, and
`slow turn are categorized as part of the forward running
`motion and are distinguished from each other by the differ(cid:173)
`ence of the speed between the left and right treads 3, 4.
`For example, when the action scheme is selected for
`turning slowly at a moderate speed to the right with an angle
`8, the scheme driving the right tread 3 at Vl rpm and the left
`tread 4 at V2 rpm, wherein V2> Vl, is executed. The priority
`for each action scheme is determined in response to the
`outputs of the supersonic sensor group 6 and hence, a stop
`control is excluded on the basis of the obstacle detection
`output of the contact sensor.
`It should be noted that in a backward running of the
`motion schemes, the robot runs backwards for a predeter(cid:173)
`mined duration of time and in general, the backward running
`is promptly shifted to the swivel turn. During a normal
`forward running, the two motors 14, lS receive the same 45
`instruction of revolutions per minute or rpm. It is preferable,
`for improving the accuracy of the forward running, to
`compensate the instructions for the treads 3, 4, on the basis
`of the output pulse signals from the revolution sensors 10, so
`that the left and right motors 14, lS rotate at the same speed. 50
`The pausing motion is conducted by changing the revolution
`speed to zero and actuating both the right and left tread
`brakes 12, 13. If necessary, regenerative braking may be
`used in the pausing motion.
`Patterns of running of the robot according to the present 55
`invention, which are combinations of the above motions,
`will now be explained. The description starts with a random
`running which is a basic running pattern of the robot 1. In
`the random running pattern, the robot 1 usually runs straight
`forward in an area A defined by boundaries or walls B as 60
`shown in FIGS. SA and SB. When the robot 2 reaches at a
`set distance from one of the walls B, it pauses and turns
`through a predetermined angle (or may be moved backward
`a distance before turning). Then, the robot 1 starts again
`running in a straight line towards the other wall B. The angle
`a of turning (FIG. SB) in the proximity of the wall B may
`be determined at random selection in each turning motion.
`
`6
`The inventors of the present invention have found through
`a series of simulations that there is an optimum turning angle
`a for allowing the robot 1 to run, not into the regions where
`the robot 1 has already passed, but across different regions
`to cover more portions of the area A. The optimum angle a
`is 135 degrees. The random running pattern with the turning
`angle a of 135 degrees will hereinafter be referred to as a
`fine-tuning random running pattern.
`It has also been found by the inventors of the present
`10 invention that a combination of the fine-tuning random
`running pattern and a spiral pattern running motion further
`improves the efficiency of working operation, when the
`random running (preferably, the fine-tuning random running
`with 135-degree turning) has been repeated a predetermined
`15 number of times, and the running is switched into a spiral
`motion. Such a combination of the random running and the
`spiral running will hereinafter be referred to as spiral/
`random running pattern.
`The spiral/random running pattern is now explained in
`20 more detail. Referring to FIG. 6A, the robot 1 is first placed
`at an appropriate spot in the area A It is assumed that the
`area A has a rectangular shape defined by four walls B. The
`initial placing of the robot 1 is arbitrary. The robot 1 then
`starts running in a spiral pattern as shown in FIG. 6A. In the
`25 spiral running, the radius of circling is gradually increased
`in turns. This motion is controlled by a decision which is
`different from those for the forward running, the swivel
`turning, and backward running and will be explained later in
`more detail referring to FIG. 14. In brief, the speeds of the
`30 two treads 3, 4 or the revolution speeds of the two motors 14,
`lS are calculated so that there are no gaps between any two
`adjacent circling tracks of the robot 1. The speeds of the two
`treads 3, 4 or the revolution speeds of the two motors 14, lS
`are then updated for increasing the radius of circling in turns.
`35 As the spiral of the trace is enlarged, the robot 1 comes close
`to one of the walls B and its arrival at substantially a
`predetermined distance from the wall B is detected with the
`supersonic sensor group 6. This allows the robot 1 to stop the
`spiral running and start a (preferably fine-tuning) random
`40 pattern running for traveling to a location where another
`spiral running is to be commenced (FIG. 6B). The shaded
`areas in FIGS. 6B and 6C represent the trace of the robot 1
`or the regions which have been covered by the running of the
`robot 1.
`The intermediate action from the cancelling of the current
`spiral running and to the starting of another spiral running is
`as follows. When the robot 1 comes close to the wall B and
`any supersonic sensor 6 detects that the robot 1 is at about
`a predetermined distance from the wall B, the turning
`motion, explained with reference to FIGS. SA and SB, starts.
`For example, when the current distance of the robot 1 from
`the wall B is smaller than the predetermined distance at the
`moment of the detection of the wall B, the robot 1 imme(cid:173)
`diately stops its forward running, moves backward a prede(cid:173)
`termined distance if required, and performs a swivel turn
`through 135 degrees (or any other desired angle) before
`resuming a forward running to move away from the wall B.
`Should the current distance of the robot 1 from the wall B
`at the time of detection be greater than the predetermined
`distance, the robot 1 may be turned sharply with a smaller
`angle to steer clear of the wall B.
`Similarly, when the robot 1 has turned away from the wall
`B, run forward, and arrived close to another wall B, its
`running direction will be changed by conducting the back-
`65 ward running and the swivel, pivot or simple turning. After
`the turning at the wall B is repeated a predetermined number
`of times N, the robot 1 runs away from the wall B where the
`
`17
`
`
`
`6,076,025
`
`7
`latest turning motion has been performed for a specific
`duration of time T (or by a specific distance D) and the robot
`1 stops its forward running motion. Then, the robot 1 again
`starts another spiral pattern running motion (FIG. 6C) and
`the above-mentioned actions are repeated thereafter. For 5
`simplicity of description, the distance D from the latest wall
`B is substituted by the time T. A designer or an operator of
`the robot 1 may, however, select either the distance D or the
`time T as a parameter for use in the controlling operation.
`FIGS. 7A and 7B are graphs showing the relationship 10
`between a working time and a progress of the work or a
`coverage of the target area conducted by a robot 1 in the
`simulations of the present invention. The vertical axis rep(cid:173)
`resents a rate(%) of the target area covered by running of the
`robot 1 and the horizontal axis is a working time from the 15
`start. It is now noted that the size and shape of the robot 1
`is equivalent to a circle of 20 cm in diameter and running
`speed of the robot 1 is 13 cm/second. The target area is a
`square having dimensions of 4.2 m by 4.2 min FIG. 7Aand
`is a rectangle having dimensions of 4.2 m by 8.4 min FIG. 20
`7B.
`In FIGS. 7A and 7B, a coordinates pattern running is
`defined as a running motion along a path predetermined on
`a coordinate plane so that the robot 1 can cover the entirety
`of the target area, in which the area coverage rate is
`increased linearly proportional to an elapsed time. In
`comparison