`[19]
`[11] Patent Number:
`6,076,025
`
`Ueno et al.
`[45] Date of Patent:
`Jun. 13, 2000
`
`USOO6076025A
`
`[54] MOBILE ROBOT STEERING METHOD AND
`CONTROL DEVICE
`
`[75]
`
`Inventors:
`
`IChiI‘Oll Ueno; Hironori Katou, both of
`Saitama, Japan
`
`[73] Ass1gnee: Honda Giken Kogyo K'K" Tokyo,
`Japan
`
`[21] Appl. No.: 09/015,312
`
`[22]
`
`Filed:
`
`Jan. 29, 1993
`
`Foreign Application Priority Data
`[30]
`Jan. 29, 1997
`[JP]
`Japan .................................... 9—029768
`
`Int. Cl.7 ................................................... G06F 165/00
`[51]
`[52] US. Cl.
`.................................. 701/23; 701/25; 701/26
`[58] Field of Search ................................... 701/23, 25, 26
`
`[56]
`
`References Cited
`
`4,939,650
`5,081,585
`
`U’S‘ PATENT DOCUMENTS
`7/1990 Nishikawa ......................... 364/424.02
`1/1992 Kurami et al.
`..................... 364/424.02
`
`5,377,106
`5,548,511
`5,570,285
`
`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.
`5,925,080
`Primary Examiner—Tan Nguyen
`Assistant Examiner—Dalena Tran
`Attorney, Agent, or Firm—Armstrong, Westerman, Hattori,
`McLeland& Naughton
`
`........................ 701/23
`
`[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
`“1de 0f 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-
`mined distance or a predetermined length of running time.
`
`19 Claims, 13 Drawing Sheets
`
`
`
`Silver Star Exhibit 1013
`
`Silver Star Exhibit 1013
`
`
`
`US. Patent
`
`Jun. 13, 2000
`
`Sheet 1 0f 13
`
`6,076,025
`
`FIG.‘|
`
`SENSORS
`
`SUPERSONIC
`SENSOR
`GROUP
`
`MOTOR
`REVOLUTION
`
`; MOTION
`.
`:
`SHEME
`LS_E_L_E_QT_QRI
`
`DIGITAL
`INPUT
`
`DIGITAL
`
`OUTPUT
`
`Silver Star Exhibit 1013 - 2
`
`Silver Star Exhibit 1013 - 2
`
`
`
`US. Patent
`
`Jun. 13, 2000
`
`Sheet 2 0f 13
`
`6,076,025
`
`6,5A
`
`18
`
`19
`
`FIG. 3
`
`
`
`SENSORS
`
`MOTION SCHEME SELECTOR
`
`ACTION SCHEME RESPONDING T0 SENSOR 6R
`
`REQUEST
`
`
`
`IACTION SCHEME RESPONDING T0 SENSOR 6L I REQUEST.
`
`II ACTION SCHEME RESPONDING TO SENSOR 68R ll REQUEST II
`
`
`
`II ACTION SCHEME RESPONDING TO SENSOR 5A I REQUEST I
`
`ACTUATOR
`
`
`
`
`
`FIG. 4
`
`MOT ION SCHEME
`
`AP2
`
`MOT ION SCHEME
`
`AP3
`
`MOT ION SCHEME
`
` SELECTOR
`
`OPERAT ION
`
`
`
`AP‘I
`
`
`
`
`
`
`
`
`APn
`
`MOT ION SCHEME
`
`
`
`
`
`
`FIG. 5A
`
`
`
`Silver Star Exhibit 1013 - 3
`
`Silver Star Exhibit 1013 - 3
`
`
`
`FIG. 6A
`
`RUNNING
`
`
`
`FIG. 60
`
`
`
`'S'fl
`
` mama
`
`
`
`000z‘91'Iml'
`
`91J09199118
`
`sz0‘9L0‘9
`
`Silver Star Exhibit 1013 - 4
`
`
`
`US. Patent
`
`Jun.13,2000
`
`Sheet 4 0f 13
`
`6,076,025
`
`PROGRESS OF
`
`WORK (%)
`
`900
`
`800
`
`700
`
`600
`
`SOD
`
`400
`
`300
`
`200
`
`100
`
`OD
`
`;’I'RANDOM RUNNING
`FINE TUNING RANDOM RUNNINGI
`
`SNIRAL/RANDOM RUNNING
`
`ITARGER AREAI
`
`
`
`FINE TUNING
`RANDOM RUNN | NG
`
`I
`I
`
`ITARGET NREA
`I4.2mx8.4ms
`‘
`z
`
`3200
`
`3600
`
`4000
`
`4400
`
`4800
`
`OO0
`
`0N
`
`2000
`
`2400
`
`1200
`
`WORKING T I ME (SECOND)
`
`Silver Star Exhibit 1013 - 5
`
`PROGRESS OF
`
`WORK (%)
`
`Silver Star Exhibit 1013 - 5
`
`
`
`US. Patent
`
`Jun. 13, 2000
`
`Sheet 5 0f 13
`
`6,076,025
`
`F I G. 8 A
`
`0.040
`
`0035
`
`0030
`
`EFFICIENCY 0025
`%/SE
`(
`COND) 0020
`
`0015
`
`0.010
`
`0005
`0000
`
`0.025
`
`0020
`
`0015
`
`(1010
`
`0005
`
`0000
`
`EFFICIENCY
`(%/SECOND)
`
`
`
`E
`3
`2
`
`TARGET AREA
`-42mxAzm'
`
`SPIRAL RUNNING
`
`15
`
`30
`
`45
`
`50
`
`75
`
`90
`
`105
`
`TIME T (SECOND)
`
`FINE TUNING RANDOM RUNNING
`
`
`
`SPIRAL RUNNING
`
`TARGET AREA
`4.0nxa.Am
`
`10
`
`20
`
`40
`
`60
`
`80
`
`100
`
`TIME T
`
`(SECOND)
`
`Silver Star Exhibit 1013 - 6
`
`Silver Star Exhibit 1013 - 6
`
`
`
`US. Patent
`
`Jun. 13, 2000
`
`Sheet 6 0f 13
`
`6,076,025
`
`0050
`
`0.045
`
`0040
`
`0035
`
`EFFICIENCY 093°
`(%/SECOND) 0.025
`
`0020
`0.015
`
`0010
`0.005
`
`0.000
`
`(1025
`
`(1020
`
`0.015
`
`(1010
`
`0005
`
`(1000
`
`EFFICIENCY
`(%/SECOND)
`
`
`
`I
`
`TARGET AREA
`4. 2m x4. 2m
`
`SPIRAL RUNNING
`
`.
`
`5
`
`2
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`TURNING NUMBER OF TIMEs(N)
`
`F I G. 9 B
`
`FINE TUNING RANDOM RUNNING
`
`RANDOM RUNNING
`
`
`
`SPIRA
`
`F R
`
`UNNING
`
`§
`i
`
`TARGET AREA
`Azmxa4m
`
`2
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`TURNING NUMBER OF TIMES (N)
`
`Silver Star Exhibit 1013 - 7
`
`Silver Star Exhibit 1013 - 7
`
`
`
`US. Patent
`
`Jun. 13, 2000
`
`Sheet 7 0f 13
`
`6,076,025
`
`F|G.
`
`‘IO
`
`
`
` S100
`
`
`STAND BY FOR REQUEST
`
`$110
` ' EQUEST FOR
`RANSM I SS | ON?
`
`
`PRESET COUNTER, DOWN-COUNT S130
`
`' EOUEST FOR
`
`RECEPT ION?
`
`$150
`
`CLEAR COUNTER
`
`
`
`
`
`MAJORITY OPERATION ON COUNT
`
`8180
`
`FIG. 11
`
`
`
`
`_ CONTACT SENSOR
`$80
`
` 390
`
`SIGNAL RECEIVED?
`
`STOP COMMAND
`
`Silver Star Exhibit 1013 - 8
`
`Silver Star Exhibit 1013 - 8
`
`
`
`US. Patent
`
`Jun. 13, 2000
`
`Sheet 8 0f 13
`
`6,076,025
`
`START
`
`START INSTRUCTION OF
`SPIRAL RUNNING
`
`31
`
`FIG. 12
`
`REQUEST DISTANCE COUNT
`
`82
`
`S3
`
`S7
`
`BACKWARD
`RUNNING
`
`
`SWIVEL
`TURN WHICH
`IS SUCCEEDING
`
`
`
`FORWARD
`RUNNING
`
`
`
`
`
`
`
`
`
`
`
`
`S1 6
`
`FORWARD?
`
`RUNNING
`
`
`HUNTING
`PREVENTION
`
`PROCESS
`
`REQUEST FORWARD
`RUNNING PROCESS
`
`
`
`812
`
`$13
`
`$15
`
`
`
`ESCAPE
`
`CONTROL
`STOP
`PROCESS
`
`
`
`
`REOUEST SWIVEL
`TURNING PROCESS
`
`3‘4
`
`S1 1 0
`
`89
`
`
`RUNNING
`BACKWARD?
`
`
`STOP
`
`REOUEST BACKWARD
`
`RUNNING PROCESS
`ST 8 0
`
`$19
`
`
`
`Silver Star Exhibit 1013 - 9
`
`Silver Star Exhibit 1013 - 9
`
`
`
`US. Patent
`
`Jun. 13, 2000
`
`Sheet 9 0f 13
`
`6,076,025
`
`F I G.
`
`1 3
`
`
`
`
`
`SENSOR
`DETECTION
`
`SENSOR
`NAME
`
`MOTION
`SCHEME
`
`SUCCEEDING MOTION TO BE SELECTED
`
`
`
`
`_W-
`——-HEI--IIEI-——
`fi——-—__n
`
`__IIIEIIIIIEII——
`
`
`
`“Em—___n
`___IHIEI“
`___—_“
`VERY LOW VERY LOW _—
`——-flEI--IIEI-——
`
`VERY Low “—
`__IHE-IIIEII——
`
`m— STRAIGHT (TURN) __“EI
`n——-_—lm3
`
`_—_--“
`
`
`
`__IIIEI-IHEII——
`
`
`
`63L —————n
`
`
`——-fl[flI--IlIflI-——
`
`6L —-_-—n
`MEI—___—
`——_——u
`—_—_——
`——-IlIfl--IIEII——
`
`
`
`
`
`
`
`
`
`
`6DL
`
`
`
`
`6ML
`
`_——_“_
`——-}IE}--IIEI-——
`
`
`
`
`
`
`
`UNDER 0.3m _VERY LOW VERY LOW “—
`
`Silver Star Exhibit 1013 - 10
`
`Silver Star Exhibit 1013 - 10
`
`
`
`US. Patent
`
`Jun. 13, 2000
`
`Sheet 10 0f 13
`
`6,076,025
`
`FIG.
`
`14
`
`
`
`
`3 2 0
`
`STAND BY FOR
`
`COMMENCE INSTRUCTION
`
`$21
`
`SET/START TIMER
`
`TIME T ELAPSED?
`
`
`'ROCESS IS
`
`
`CANCELED?
`
`
`
`PIRAL RUNNIN
`FINISHED?
`
`CALCULATE/SET
`
`SPIRAL RADIUS
`
`
`
`
`
`
`CALCULATE AND SET
`
`UPDATE TIME t TO
`
`ENLARGE SPIRAL RUNNING
`
`TIME t PASSED?
`
`S 2 7
`
`'ROCESS IS
`
`8 2 8
`
`CANCELED?
`
`
`
`
`Silver Star Exhibit 1013 - 11
`
`Silver Star Exhibit 1013 - 11
`
`
`
`US. Patent
`
`Jun. 13,2000
`
`Sheet 11 0f 13
`
`6,076,025
`
`F I G.
`
`1 5
`
`SWIVEL TURN PROCESS
`
`STAND BY FOR
`
`COMMENCE INSTRUCTION
`
`SPIRAL RUNNING
`
`
`
`
`
` START INSTRUCTION OF
`
`
`
`
`
`
`
`CALCULATE TURNING DURATION
`
`$35
`
`
`
`DRIVE LEFT AND RIGHT
`
`TREADS IN OPPOSITE
`
`
`S36
`EACH OTHER
`
`
`
`
`CANCELLATION IS
`
`REQUESTED?
`
` INSTRUCT TO DRIVE
`
`
`BOTH TREADS IN
`FORWARD DIRECTION
`
`
`
`Silver Star Exhibit 1013 - 12
`
`Silver Star Exhibit 1013 - 12
`
`
`
`US. Patent
`
`Jun. 13, 2000
`
`Sheet 12 0f 13
`
`6,076,025
`
`FIG. 16
`
`BACKWARD RUNNING PROCESS
`
`STAND BY FOR
`
`CONNENCE INSTRUCTION
`
` $50
`
`INSTRUCT TO DRIVE
`
` $51
`
`
` CANCELLATION IS
`
`BOTH TREADS IN
`
`BACKWARD DIRECTION
`
`REOUESTED?
`
` BACKWARD
`
`
` FINISHED?
`
` INSTRUCT TO DRIVE
`
`
`
`FORWARD DIRECTION
`
`
`
`BOTH TREADS IN
`
`SS4
`
`Silver Star Exhibit 1013 - 13
`
`Silver Star Exhibit 1013 - 13
`
`
`
`US. Patent
`
`Jun. 13, 2000
`
`Sheet 13 0f 13
`
`6,076,025
`
`FIG. 17A
`
`SENSOR
`
`OUTPUT
`
`SENSOR
`
`OUTPUT
`
`SENSOR
`
`OUTPUT
`
`,n
`
`TIME
`
`
`
`rn
`
`.n
`
`TIME
`
`TIME
`
`Silver Star Exhibit 1013 - 14
`
`Silver Star Exhibit 1013 - 14
`
`
`
`6,076,025
`
`1
`MOBILE ROBOT STEERING METHOD AND
`CONTROL DEVICE
`
`BACKGROUND OF THE INVENTION
`
`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
`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-
`sonic sensors for detecting walls around the robot to deter-
`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-
`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
`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
`its entirety, but rather some of the area can remain
`uncleaned. Depending on the requirements of some mower
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`4s
`
`50
`
`55
`
`60
`
`65
`
`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
`
`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
`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-
`ning motion includes first turning from the forward direction
`by a predetermined angle to run away from the boundary,
`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
`predetermined distance from the last turning spot or at a
`location to which the robot has run straight for a predeter-
`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
`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
`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-
`eters are independent of each other; and means for deter-
`mining the direction and speed of rotation of each of the left
`and right motors on the basis of the running motion param-
`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.
`
`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;
`
`Silver Star Exhibit 1013 - 15
`
`Silver Star Exhibit 1013 - 15
`
`
`
`6,076,025
`
`3
`FIGS. 5A and 5B 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
`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. 8A and 8B 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-
`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. 15 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-
`ing control of selection of sensor signals.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`The present invention will be described in more detail
`referring to the accompanying drawings. FIG. 1 is a sche-
`matic view of an outline structure of a mobile robot 1
`
`40
`
`provided with a controller according to a first embodiment
`of the present invention. As shown, the robot 1 operates
`forward running, backward running, pausing, and turning
`motions with a pair of caterpillar treads 3, 4 mounted on
`right and left sides, respectively, of the body 2 of the robot
`1, and controlled therefrom. Each tread 3, 4 is joined to a
`driving motor (not shown). The turning motion includes: a
`pivot turn, wherein one of the caterpillar treads 3, 4 is driven,
`while the other of the caterpillar treads 3, 4 is halted; and a
`swivel turn, wherein each of the two caterpillar treads 3, 4
`are driven away from each other in opposite directions. The
`body 2 has a bumper 5 mounted to the front thereof. The
`bumper 5 is accompanied by a contact sensor (now shown)
`which senses a pressure upon touching an obstacle and thus,
`detects the presence of the obstacle.
`The robot 1 also includes eight supersonic sensors for
`detecting an obstacle without contact, as follows: sensors 6R
`and 6L mounted on the front right and left side, respectively;
`sensors 6ML and 6MR mounted on the left and right front
`ends, respectively; sensors 6DL and 6DR mounted on the
`front left and right lower side, respectively; and sensors 6SL
`and 6SR mounted on the left and right sides, respectively, of
`the robot 1. Those sensors are preferably of a supersonic
`type, but may be of any other type, such as optical sensors.
`The sensors 6R, 6SR, 6MR, and 6DR detect obstacles on the
`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
`
`4s
`
`50
`
`55
`
`60
`
`65
`
`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 1a, the sensors 6SR and
`6SL are connected to a second electronic control unit or
`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-
`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
`directly linked to the two driving motors. Apulse output of
`each encoder is used as indicative of the number of revo-
`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 8 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 1a, 2a and 3a), for controlling the input and output of
`sensor signals. Also, the digital input 9 is connected to a
`contact sensor 5A, mounted on the bumper 5, 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 5A, and the revolution
`sensors 10 are transmitted via the digital input 9 to the CPU
`8
`
`The CPU 8 is connected via a digital output 11 to a right
`tread (electromagnetic) brake 12,
`a
`left
`tread
`(electromagnetic) brake 13, a right tread motor 14 (referred
`to as a right motor), and a left tread motor 15 (referred to as
`a left motor). Instruction signals, determined through the
`respective processes in the CPU 8, are thus supplied via the
`digital output 11 to the right tread brake 12, the left tread
`brake 13, the right motor 14, and the left motor 15. The right
`motor 14 and the left motor 15 are fed with the instruction
`
`signals for steering. Also, the instruction signals for motor
`revolution speed from the CPU 8 are transferred via a
`digital-to-analog or D/A converter 17 to the right motor 14
`and the left motor 15.
`
`In this arrangement, the CPU 8 is responsive to the inputs
`from the supersonic sensor group 6 and the contact sensor
`SA (referred all-inclusively to as “sensors” hereinafter) for
`determining the action of a drive system including the right
`motor 14 and the left motor 15. The forward running,
`backward running, pausing, and turning motions of the robot
`are independently controlled, as the functions of their cor-
`responding modules, by the CPU 8. While the processes of
`inputs from the sensors and the generation of motion
`schemes are being conducted constantly, only the forward
`running motion is enabled in a normal mode with the swivel
`turn, pausing, and backward running motions maintained in
`a sleep state. The turning motions, except for the swivel-
`turns, are controlled by a forward running control module.
`The CPU 8 includes a motion scheme selector 18 for
`
`assigning the robot to do one of a number of predetermined
`
`Silver Star Exhibit 1013 - 16
`
`Silver Star Exhibit 1013 - 16
`
`
`
`6,076,025
`
`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 5A for gener-
`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 15 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-
`
`onstrate the comprehensive action of the robot.
`The first embodiment is designed for not directly per-
`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 AP1, 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 AP1,
`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-
`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
`6, the scheme driving the right tread 3 at V1 rpm and the left
`tread 4 at V2 rpm, wherein V2>V1, 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-
`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, 15 receive the same
`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, 15 rotate at the same speed.
`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
`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
`shown in FIGS. 5A and 5B. 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
`or of turning (FIG. 5B) in the proximity of the wall B may
`be determined at random selection in each turning motion.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`4s
`
`50
`
`55
`
`60
`
`65
`
`6
`The inventors of the present invention have found through
`a series of simulations that there is an optimum turning angle
`or 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 or
`is 135 degrees. The random running pattern with the turning
`angle CL 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
`invention that a combination of the fine-tuning random
`running pattern and a spiral pattern running motion further
`improves the efliciency of working operation, when the
`random running (preferably, the fine-tuning random running
`with 135-degree turning) has been repeated a predetermined
`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
`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
`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
`two treads 3, 4 or the revolution speeds of the two motors 14,
`15 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, 15
`are then updated for increasing the radius of circling in turns.
`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
`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. 5A and 5B, 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-
`diately stops its forward running, moves backward a prede-
`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-
`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
`
`Silver Star Exhibit 1013 - 17
`
`Silver Star Exhibit 1013 - 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
`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
`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-
`resents a rate (%) of the target area covered by running of the
`robot 1 and the horizontal axis is a working time from the
`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 m in FIG. 7A and
`is a rectangle having dimensions of 4.2 m by 8.4 m in FIG.
`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, the other pattern running motions, including the
`spiral/random pattern running, exhibit an attenuating incre-
`ment of the area coverage and may find it very difficult to
`cover the entirety of the area. Assuming that
`the area
`coverage of 80% is acceptable, three of the pattern running
`motions, except for the coordinates pattern running motion,
`are compared in the efficiency of 80% coverage per a spent
`time. It is apparent that the spiral/random pattern running
`motion covers 80% of the target area in the shortest time.
`The number of turning times N and the forward running
`time T (or the distance D) must be previously set to desired
`values. If the number of times N is too small, the spiral
`running to be resumed is too close to the preceding spiral
`running area and hence, an overlap region increases and the
`work efliciency declines. On the contrary, when N is too
`large, the time T (or the distance D) of forward running is
`increased too much and thus,
`the working efficiency is
`lowered. If the time T is excessively short or long, the spiral
`running resumes near the latest wall B and may quickly
`come close to another wall B so that the working efficiency
`declines.
`
`Optimum lengths of time T are found through experimen-
`tal simulations, as shown in FIGS. 8A and 8B. The vertical
`axis represents the working efficiency and the horizontal
`axis is the time T (seconds) after the swivel turning motion.
`The working efficiency is defined as a coverage (%) of the
`target area per second and is calculated on the basis of the
`time spent for covering 80% of the target area (FIGS. 7A and
`7B).
`In those simulations, like the previous experiments, the
`area to be covered by the robot 1 is a 4.2 m><4.2 m square,
`as in FIG. 8A, and a 4.2 m><8.4 m rectangle, as in FIG. 8B.
`It is also noted