`6,076,025
`Jun. 13, 2000
`[45] Date of Patent:
`Uenoet al.
`
`[11] Patent Number:
`
`US006076025A
`
`[54] MOBILE ROBOT STEERING METHOD AND
`CONTROL DEVICE
`
`[75]
`
`Inventors: Ichirou 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]
`
`Tapa eeescecssscessesstscssstecsseeceses 9-029768
`
`Tint, C17eee cescescsseeeessssssesssssseeesessnnneeeee GO6F 165/00
`[SL]
`[52] U.S. Che eee cseeeeeenee 701/23; 701/25; 701/26
`[58] Field of Search ooee 701/23, 25, 26
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,377,106
`5,548,511
`5,570,285
`5,925,080
`
`12/1994 Drunket al. wee 364/424.02
`8/1996 Bancroft occ
`eeeeeeeeeeees 364/424.02
`
`10/1996 Asaka et al. oe
`eee 364/424.02
`
`6/1999 Shimbara et al. ou... ee 7O1/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 boundaryof 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-
`mined distance or a predetermined length of running time.
`
`4,939,650
`5,081,585
`
`7/1990 Nishikawa oo... ee 364/424.02
`1/1992 Kuramiet al. oe 364/424.02
`
`
`
`19 Claims, 13 Drawing Sheets
`
`Silver Star Exhibit 1013
`
`Silver Star Exhibit 1013
`
`
`
`U.S. Patent
`
`Sheet 1 of 13
`
`6,076,025
`
`Jun. 13, 2000
`
`SENSORS
`
`DIGITAL
`
`INPUT
`
`SUPERSONIC
`SENSOR
`
`REVOLUT | ON
`
`Silver Star Exhibit 1013 - 2
`
`Silver Star Exhibit 1013 - 2
`
`
`
`U.S. Patent
`
`Jun. 13, 2000
`
`Sheet 2 of 13
`
`6,076,025
`
`FIG, 3
`
`MOTION SCHEME SELECTOR
`
`
`
`
`
`
`— SCHEME RESPONDING TO SENSOR 6R "REQUEST "
`.ACTION SCHEME RESPONDING TO SENSOR 6SR .REQUEST .
`
`
`
`
`> ACTION SCHEME RESPONDING TO SENSOR 5A * REQUEST i
`
`ACTION SCHEME RESPONDING TO SENSOR 6L/
`
`REQUEST
`
`
`
`MOTION SCHEME
`
`FIG. 4
`
`AP 1
`
`
`
`
`
`
`
`
`
` AP n—74
`MOTION SCHEME
`
`AP2
`
`AP3
`
`MOTION SCHEME
`
`MOTION SCHEME
`
` SELECTOR
`
`OPERAT | ON
`
`FIG. 5A
`
`Silver Star Exhibit 1013 - 3
`
`Silver Star Exhibit 1013 - 3
`
`
`
`FIG. 6A
`
`RUNNING
`
`
`
`
`FIG. 6C
`
` yusjed
`
`‘S'N
`
`000d‘ET‘une
`eTJO¢€ONS
`
`S70°9L0°9
`
`Silver Star Exhibit 1013 - 4
`
`
`
`U.S. Patent
`
`Jun. 13, 2000
`
`Sheet 4 of 13
`
`6,076,025
`
`G. 7A
`
`COORD INATES PATTERN RUNNING
`
`4. mx 4. 2m
`
`:
`
`gsgsgsssss3s83888
`SX FTSSRRRTERS
`WORKING TIME (SECOND)
`
`FIG. 7B
`
`“COORDINATES PATTERN |RUNNING
`
`F INE TUNING
`RANDOM |RUNNING
`
`PROGRESS OF
`
`WORK (%)
`
`90.0
`
`80.0
`
`70.0
`
`60.0
`
`90.0
`
`40.0
`
`30.0
`
`20.0
`
`10.0
`
`0.0
`
`PROGRESS OF
`WORK (%)
`
`90.0
`
`80.0
`
`70.0
`
`60.0
`
`90.0
`
`40.0
`
`30.0
`
`20.0
`
`10.0
`
`0.0
`
`SP IRAL/RANOOM RUNNING TARGER AREA.
`
`
`O&
`Oo Oo
`oe
`oOo &
`Tr ON
`
`oo o ooc¢qocee © 2
`SSSSRsSes
`fSeannnoott st
`
`WORKING TIME (SECOND)
`
`Silver Star Exhibit 1013 - 5
`
`Silver Star Exhibit 1013 - 5
`
`
`
`U.S. Patent
`
`Jun. 13, 2000
`
`Sheet 5 of 13
`
`6,076,025
`
`FIG. 8A
`
`EFFICIENCY
`(%/ SECOND)
`
`SPIRAL RUNNING
`
`TARGET AREA
`-4.2mxX 4.2m —
`
`
`
`
`30 450~=CiO—( iH «1085
`15
`TIME T (SECOND)
`
`FIG. 8B
`
`
`
`
`0.025
`
`0.020
`
`EFFICIENCY 0.015
`(%/SECOND)
`
`0.010
`
`0.005
`
`0.000
`
`SPIRAL RUNNING
`
`TARGET AREA
`4. 2mx8. 4m
`
`10
`
`20
`
`40
`TIME T
`
`60
`(SECOND)
`
`80
`
`100
`
`Silver Star Exhibit 1013 - 6
`
`Silver Star Exhibit 1013 - 6
`
`
`
`U.S. Patent
`
`Jun. 13, 2000
`
`Sheet 6 of 13
`
`6,076,025
`
`0.050
`
`0.045
`
`0.040
`
`0.035
`
`EFFiclency 2-280
`(%/SECOND) 0.025
`
`0.020
`
`0.015
`
`0.010
`
`0.005
`
`0.000
`
`0.025
`
`0.020
`
`0.015
`
`0.010
`
`0.005
`
`0.000
`
`EFFICIENCY
`(%/ SECOND)
`
`SPIRAL RUNNING
`
`5
`
`10
`
`15
`
`20
`
`TARGET AREA
`4, 2m x4. 2m
`
`25
`
`30
`
`35
`
`TURNING NUMBER OF TIMES (N)
`
`FIG. 9B
`
`
`
`
`FINE TUNING RANDOM RUNNING
`
`RANDOM RUNNING
`
`TARGET AREA
`4.2m x8. 4m
`
`9
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`TURNING NUMBER OF TIMES (N)
`
`Silver Star Exhibit 1013 - 7
`
`Silver Star Exhibit 1013 - 7
`
`
`
`U.S. Patent
`
`Jun.13, 2000
`
`Sheet 7 of 13
`
`6,076,025
`
` REQUEST FOR
`
`RANSM!SS10N2
`
`
`
`
`
`
`REQUEST FOR
`RECEPT | ON?
`
`,
`
`CONTACT SENSOR INPUT PROCESS
`
`
`$80
`
`STOP COMMAND $90
`
`
`CONTACT SENSOR
`SIGNAL RECEIVED?
`
`Silver Star Exhibit 1013 - 8
`
`Silver Star Exhibit 1013 - 8
`
`
`
`U.S. Patent
`
`Jun.13, 2000
`
`Sheet 8 of 13
`
`6,076,025
`
`START
`
`START INSTRUCTION OF
`SPIRAL RUNNING
`
`$1
`
`.
`
`REQUEST DISTANCE COUNT
`
`$2
`
`PROCESS CONTACT
`SENSOR INPUT
`
`$3
`
`BACKWARD
`RUNNING
`
`316
`
`
`RUNNING
`
`FORWARD?
`
`Sg
`RUNNING
`
`BACKWARD?
`
`$7
`
`DECIDE NEXT MOTION
`
`
` SWIVEL
`WHICH
`
`
`1S SUCCEEDING
`
`$8
`FORWARD
`RUNNING
`
`TURN
`
`$12
`
`513-1
`
`$15
`
`
`
`
`ESCAPE
`CONTROL
`STOP
`PROCESS
`
`
`
`
`
`
`
`
`
`
`
`
`REQUEST SWIVEL
`STOP
`TURNING PRocEss|~S14
`
`HUNT I NG
`
`
`PREVENT I ON
`PROCESS
`
`RUNNING PROCESS|.5, ; (1)
`
`REQUEST BACKWARD
`
`$18
`
`Silver Star Exhibit 1013 - 9
`
`Silver Star Exhibit 1013 - 9
`
`
`
`
`
`LOVER2m|STRAIGHToT,HIGH7HIGH[—[—|
`MODERATE
`
`
`|_im—1.5m|STRAIGHT(TURN)[MODERATE[VERYLOW[2[LEFT|
`
`|_0.5m-Im[STRAIGHT(TURN)[LOW [PAUSE [7 [LEFT|
`
`10.3m_—0.5m|SWIVELTURN[VERY LOW[VERYLOW]oO [LEFT|
`
`LUNDERO.3m_|BACKWARD [VERY LOW|VERYLow]-—|—|
`|OVERO.5m_|STRAIGHT|HIGH [HIGHJ— [7]
`VERY LOW] PAUSE|1|LEFT|
`VERY LOW] oO|LEFT
`|OVERO.5m_|STRAIGHT|HIGH|HIGH|-[|—|
`
`
`LO.3m—0.5m_](TURN)[VERYLOW]PAUSE [7 [CLEFT|STRAIGHT
`
`
`
`LUNDER0.3m_]SWIVELTURN[VERY LOW[VERY
`
`LOVERO.5m|STRAIGHT|HIGHJHIGH[-J—|
`
`
`6SL_|_0.3m_—0.5m_[(TURN)[MODERATE[VERYLOW|2[RIGHT|STRAIGHT
`
`
`LOWYoO[LEFT|
`
`
`
`
`
`U.S. Patent
`
`Jun.13, 2000
`
`Sheet 9 of 13
`
`6,076,025
`
`FIG. 13
`
`MOTION
`SCHEME
`
`SUCCEEDING MOTION TO BE SELECTED
`
`
`
`
`SENSOR
`
`DETECTION
`
`
`
`|OVERO.5m_] STRAIGHT [HIGH|HiGH[—[—|
`
`
`LO.3m—0.5m|STRAIGHT(TURN)[MODERATE [VERYLOW]20 [LEFT|
`
`
`
`
`gf}tm_—1.5m|STRAIGHT(TURN)[MODERATE|VERY LOW] 27RIGHT|
`
`
`
`
`
`|_0.5m_—im[STRAIGHT(TURN)[LOW [PAUSE [7[RiGHT|
`
`[0.3m_—0.5m_|SWIVELTURN[VERY LOW[VERYLOW]0 [RIGHT|
`
`
`
`|UNDER0.3m_|BACKWARD [VERY LOW[VERYLowy—[|—|
`|OVER0.5m_|STRAIGHT [HIGH [HIGH[—|—|
`
`6DL
`
`
`|UNDER0.3m_|SWIVELTURN[VERY LOW|VERYLOW]Oo [RIGHT|
`
`
`
`|OVER0.5m|STRAIGHT[|HIGH [HIGH[-[—|
`6ML
`[VERY LOW{VERY LOW] oO|RIGHT
`
`
`|OVER2m]STRAIGHToTHIGH [HIGH[—J—|
`
`UNDER 0. 3m
`
`SWIVEL TURN
`
`=
`
`Silver Star Exhibit 1013 - 10
`
`Silver Star Exhibit 1013 - 10
`
`
`
`U.S. Patent
`
`Jun. 13, 2000
`
`Sheet 10 of 13
`
`6,076,025
`
`FIG. 14
`
`$20
`
`STAND BY FOR
`COMMENCE INSTRUCTION
`
`S21
`
`SET/START TIMER
`
`TIME T ELAPSED?
`
`PROCESS IS
`CANCELED?
`
`
`
`
`
`
`
`
`
`
`
`
`
`L RUNNIN
`SHED?
`
`CALCULATE/SET
`SPIRAL RADIUS
`
`CALCULATE AND SET
`UPDATE TIME t TO
`ENLARGE SPIRAL RUNNING
`
`TIME t PASSED?
`
`$27
`
`$28
`
`PROCESS IS
`CANCELED?
`
`Silver Star Exhibit 1013 - 11
`
`Silver Star Exhibit 1013 - 11
`
`
`
`U.S. Patent
`
`Jun. 13, 2000
`
`Sheet 11 of 13
`
`6,076,025
`
`FIG. 15
`
`SWIVEL TURN PROCESS
`
`STAND BY FOR
`COMMENCE INSTRUCTION
`
`
`
`
` START INSTRUCTION OF
`
`SPIRAL RUNNING
`
`
` n<-O
`
` $36
`
` CANCELLATION IS
`
`CALCULATE TURNING DURATION
`
`$35
`
`DRIVE LEFT AND RIGHT
`TREADS IN OPPOSITE
`EACH OTHER
`
`REQUESTED? INSTRUCT TO DRIVE
`
`
`
`BOTH TREADS IN
`
`FORWARD DIRECTION
`
`
`Silver Star Exhibit 1013 - 12
`
`Silver Star Exhibit 1013 - 12
`
`
`
`U.S. Patent
`
`Jun. 13, 2000
`
`Sheet 12 of 13
`
`6,076,025
`
`FIG. 16
`
`
`
`BACKWARD RUNNING PROCESS
`
`STAND BY FOR
`COMMENCE INSTRUCTION
`
`INSTRUCT TO DRIVE
`BOTH TREADS IN
`BACKWARD DIRECTION
`
`
` CANCELLATION IS
`REQUESTED?
`
` BACKWARD
`
`
` FINISHED?
`
`
` INSTRUCT TO DRIVE
`
`
`BOTH TREADS IN
`
`FORWARD DIRECTION
`
`
`$54
`
`Silver Star Exhibit 1013 - 13
`
`Silver Star Exhibit 1013 - 13
`
`
`
`U.S. Patent
`
`Jun. 13, 2000
`
`Sheet 13 of 13
`
`6,076,025
`
`FIG. 17A
`
`SENSOR
`OUTPUT
`
`SENSOR
`OUTPUT
`
`SENSOR
`OUTPUT
`
`m
`
`TIME
`
`
`
`m
`
`m
`
`TIME
`
`TIME
`
`Silver Star Exhibit 1013 - 14
`
`Silver Star Exhibit 1013 - 14
`
`
`
`6,076,025
`
`1
`MOBILE ROBOT STEERING METHOD AND
`CONTROL DEVICE
`
`BACKGROUNDOF 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 moreparticularly, 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 munning 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 shownin 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.
`
`Whenthe 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 applicationsare, 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
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`robots, the mowerrobots must produce highly neattraces 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 includesfirst 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 numberof 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 ninning is determined by
`the direction of rotation and the speed of rotation of bothleft
`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 ofrotation of each ofthe 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 embodimentof 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 showingthe 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 motionfor 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 diagramsofa result of simulation
`showingthe relationship between time and progress of work
`using various parameters of the running pattern motion;
`FIGS. 8A and 8B are diagramsof a result of simulation
`showing the relationship between working efficiency and
`amount of running time T;
`FIGS. 9A and 9B are diagramsofa result of simulation
`showingthe relationship between workingefficiency 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
`
`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 whenall are inclusively referred
`to. The sensors 6DR, 6DL, 6MR, and 6MLare 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. A pulse 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
`sensordriver circuit 16 (including the first through the third
`ECUs1a, 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.
`
`45
`
`50
`
`55
`
`60
`
`65
`
`The present invention will be described in more detail
`The CPU8is connected via a digital output 11 to a right
`referring to the accompanying drawings. FIG. 1 is a sche-
`40
`matic view of an outline structure of a mobile robot 1
`tread (electromagnetic) brake 12,
`a
`left
`tread
`(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 15 (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 8, are thus supplied via the
`motions with a pair of caterpillar treads 3, 4 mounted on
`digital output 11 to the right tread brake 12, the left tread
`right and left sides, respectively, of the body 2 of the robot
`brake 13, the right motor 14, and the left motor 15. The right
`1, and controlled therefrom. Each tread 3, 4 is joined to a
`motor 14 and the left motor 15 are fed with the instruction
`driving motor (not shown). The turning motion includes: a
`pivot turn, wherein oneofthe 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 In this arrangement, the CPU8is responsive to the inputs
`bumper 5 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.
`determining the action of a drive system including the nght
`motor 14 and the left motor 15. The forward running,
`The robot 1 also includes eight supersonic sensors for
`backward running, pausing, and turning motionsof 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 frontright andleft side, respectively;
`responding modules, by the CPU 8. 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
`schemes are being conducted constantly, only the forward
`front left and right lowerside, respectively; and sensors 6SL
`running motion is enabled in a normal mode with the swivel
`and 6SR mounted onthe 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-
`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
`The CPU 8 includes a motion scheme selector 18 for
`right side of the body 2, while the sensors 6L, 6SL, 6ML,
`and 6DLdetect obstacles on the left side of the body 2. The
`
`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.
`
`assigning the robot to do one of a numberof 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, theleft
`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 schemesstarting
`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, whichis to prevent a collision against a wall, is
`selected by a selector 20 from the action schemes AP1,
`AP2,...Apn. The highest priority action schemein the first
`embodimentis to run backward. The second highestpriority
`is to swivelat the site and the pivot turn,sharp turn, and slow
`turn follow in the orderlisted. 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 speedto the right with an angle
`@, the scheme driving the nght tread 3 at V1 rpm andtheleft
`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 changingthe revolution
`speed to zero and actuating both the night 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 whichis a basic running pattern of the robot 1. In
`the random runningpattern, the robot 1 usually runsstraight
`forward in an area A defined by boundaries or walls B as
`shown in FIGS. 5A and 5B. Whenthe 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 turing (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
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`The inventors of the present invention have found through
`a series of simulationsthat 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
`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
`numberof 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 explainedlater in
`more detail referring to FIG. 14. In brief, the speeds of the
`two treads 3, 4 or the revolution speedsof 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 updatedfor 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 and6C represent the trace of the robot 1
`or the regions which have been covered by the running ofthe
`robot 1.
`
`The intermediate action from the cancelling of the current
`spiral running andto the starting of another spiral running is
`as follows. Whenthe 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 awayfrom 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 tumed 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 runningofthe
`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 dimensionsof 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 coverthe 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 mayfind 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 numberof 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 resumedis too close to the preceding spiral
`running area and hence, an overlap region increases and the
`work efficiency 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 andis calcul