This application claims the benefit of Korean Patent Application No. 10-2013-0022466, filed on Feb. 28, 2013 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.
1. Field
One or more embodiments relate to a method of localization and mapping of a mobile robot.
2. Description of the Related Art
Simultaneous localization and mapping (SLAM), a localization and mapping technique of a mobile robot, may be classified into two major categories. The first is recognition of the position of the mobile robot in an environment containing a specific indicator (e.g., a landmark or a beacon) recognizable by the mobile robot. The second is recognition of the position of the mobile robot in a general environment containing no specific indicator. In the case of the second category, various sensors are used to recognize the position in an environment containing no specific indicator. Representative sensing techniques used in this case include techniques of utilizing images, lasers, and ultrasound. These sensing techniques have been conventionally utilized to find landmarks distinct from other positions and discretely create the same to recognize the position of the mobile robot. Recently, research has been conducted into utilization of a continuous vector field, which is an extension of discrete landmarks, to reduce errors in localization and mapping.
However, in the case that a vector field is created using a single sensor to utilize the vector field, movement of the mobile robot around a cell configuring the vector field or along the boundary of the cell may result in insufficient updating of the information about the nodes (the boundary of the cell). Thereby, position errors may not be reduced. Particularly, when the mobile robot moves at a high speed, the errors may be worsened.
The foregoing described problems may be overcome and/or other aspects may be achieved by one or more embodiments of a method of localization and mapping of a mobile robot that may greatly reduce position errors in localization and mapping by compensating for a cumulative error of a relative coordinate using a plurality of vector field sensors.
Additional aspects and/or advantages of one or more embodiments will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of one or more embodiments of disclosure. One or more embodiments are inclusive of such additional aspects.
In accordance with one or more embodiments, a method of localization and mapping of a mobile robot may include acquiring a relative coordinate in a movement space using an encoder, acquiring an absolute coordinate in the movement space by detecting at least one of intensity and direction of a signal using a plurality of vector field sensors, defining a plurality of virtual cells on a surface of the movement space such that each of the cells has a plurality of nodes having predetermined positions, and updating position information about the nodes of at least one of the cells based on the relative coordinate acquired through the encoder and the absolute coordinate acquired through the vector field sensors and implementing localization and mapping in the movement space such that position information of a new node may be estimated while position information of a previous node is determined.
The updating may be performed when the mobile robot is positioned in one of the cells.
The method may further include calculating and applying a weight for each of the nodes when the mobile robot is positioned in one of the cells.
The method may further include initializing a node connected to another node to be extended when the mobile robot moves from one of the cells to another one of the cells.
The initializing may be performed based on a mean value and a covariance value of the connected node.
The localization and mapping may be performed by applying fast simultaneous localization and mapping (SLAM).
The method may further include compensating for an error of the relative coordinate acquired through the encoder using the absolute coordinate acquired through the vector field sensors.
The relative coordinate may be an odometry coordinate including an x coordinate, a y coordinate and an angle of travel direction of the mobile robot.
The cells may have a continuity therebetween.
The nodes configuring each of the cells have a continuity therebetween.
Each of the vector field sensors may be a magnetic field sensor.
Each of the vector field sensors may be a Wi-Fi received signal strength indicator.
Each of the vector field sensors may be an FM receiver.
At least two of the vector field sensors may be arranged at a front and back of the mobile robot in a travel direction of the mobile robot.
In accordance with one or more embodiments, a mobile robot may include an encoder to acquire a relative coordinate in a movement space, a plurality of vector field sensors to acquire an absolute coordinate in the movement space by detecting at least one of intensity and direction of a signal using a plurality of vector field sensors, and a controller to define a plurality of virtual cells on a surface of the movement space such that each of the cells may have a plurality of nodes that may have predetermined positions and to update position information about the nodes of at least one of the cells based on the relative coordinate that may be acquired through the encoder and the absolute coordinate acquired through the vector field sensors and implement localization and mapping in the movement space such that position information of a new node may be estimated while position information of a previous node is determined.
The controller may update the position information about the nodes when the mobile robot is positioned in one of the cells.
The controller may calculate and apply a weight for each of the nodes when the mobile robot is positioned in one of the cells.
The controller may initialize a node connected to another node to be extended when the mobile robot moves from one of the cells to another one of the cells.
Initializing the connected node may be performed based on a mean value and a covariance value of the connected node.
The localization and mapping may be performed by applying fast simultaneous localization and mapping (SLAM).
The controller may compensate for an error of the relative coordinate acquired through the encoder using the absolute coordinate acquired through the vector field sensors.
The relative coordinate may be an odometry coordinate including an x-coordinate, a y-coordinate and an angle of travel direction of the mobile robot.
The cells may have a continuity therebetween.
The nodes configuring each of the cells may have a continuity therebetween.
Each of the vector field sensors may be a magnetic field sensor.
Each of the vector field sensors may be a Wi-Fi received signal strength indicator.
Each of the vector field sensors may be an FM receiver.
At least two of the vector field sensors may be arranged at a front and back of the mobile robot in a travel direction of the mobile robot.
These and/or other aspects will become apparent and more readily appreciated from the following description of embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to one or more embodiments, illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout. In this regard, embodiments of the present invention may be embodied in many different forms and should not be construed as being limited to embodiments set forth herein, as various changes, modifications, and equivalents of the systems, apparatuses and/or methods described herein will be understood to be included in the invention by those of ordinary skill in the art after embodiments discussed herein are understood. Accordingly, embodiments are merely described below, by referring to the figures, to explain aspects of the present invention.
Electric wheels 218 may be installed at a lower portion of a robot body 110 to move the mobile robot 100. The electric wheels 218 may be driven by a drive motor (not shown), to cause the mobile robot 100 to move linearly and rotationally. In addition, an obstacle detector 106 such as, for example, an infrared sensor or an ultrasound sensor or the like may be installed to the outer side of the robot body 110 to possibly allow the mobile robot to avoid obstacles while moving around. A plurality of vector field sensors 108 may be arranged at an upper portion of the robot body 110. In a non-limiting example, in
A rotating member 160e, the electric wheels 218, and a dust suction unit 220 may be electrically connected to the output side of the controller 214 to communicate with the controller 214. The rotating member 160e, one of constituents of a receiver 160 may rotate antennas 160a to 160d on a certain track at a constant rate. The electric wheels 218 may move the mobile robot 100 and may include drive wheels for forward and backward movement and reorientation wheels for change of travel direction. The dust suction unit 220 may be arranged to face a lower portion of the mobile robot 100. Thereby, the dust suction unit 220 may suction dust and debris on the surface of a floor in an area to cleaned and may accumulate the same in a dust/debris accumulation space in the mobile robot 100.
The electric wheels 218 that may be configured with the drive wheels and reorientation wheels may allow the mobile robot 100 to rotate at a fixed position.
According to this embodiment, the vector field sensors 108 of the mobile robot 100 may update the nodes 306 of the cells 304 during movement of the mobile robot 100. Since the information about the nodes 306 of the cells 304 may be updated using the vector field sensors 108 regardless of the point at which the mobile robot is located, position errors may be reduced, and accordingly more accurate localization and mapping may be implemented. To this end, the vector field sensors 108 may have such properties as “continuity”, “large spatial variation”, and “small temporal variation”. The continuity means that neighboring cells 304 or neighboring nodes 306 may be continuous and not discrete, and the large spatial variation means that variation of the vector field detected by the vector field sensors 108 may be large even when the mobile robot 100 moves a short distance. The small temporal variation means that an error at the time of detection by the vector field sensors 108 may be small. As the vector field sensor 108, a magnetic field sensor to detect a vector field created by the magnetic field formed through the earth, a Wi-Fi received signal strength indicator to detect a vector field created by a Wi-Fi signal, or an FM receiver may be used. A magnetic field is created between the North and South poles of the Earth approximately in the shape of a magnetic dipole. The direction and intensity of this magnetic field varies with position. Accordingly, by measuring the direction and intensity of the geomagnetic field with the vector field sensors 108 realized as magnetic sensors, the position of the mobile robot 100 in the vector field may be detected. In the case of the Wi-Fi received signal strength indicator or the FM receiver, the position of the mobile robot 100 in the vector field may be detected based on the size of a signal generated by a Wi-Fi repeater or an FM transmitter. While the Wi-Fi received signal strength indicator or the FM receiver may need a Wi-Fi repeater or an FM signal generator, the magnetic field sensor may use the geomagnetic field naturally created around the earth and thus may be relatively conveniently used without an additional device such as a signal generator.
The controller 214 may receive information about movement of the electric wheel 218 from the encoder 206, thereby possibly acquiring odometry data (Δx, Δy and Δθ) to estimate the current position of the mobile robot 100 (502). In addition, the controller 214 may receive vector field data for implementation of the vector field SLAM from the vector field sensors 108 (504).
At this time, in the case that the position of the mobile robot 100 changes in an existing cell 304 without movement of the mobile robot 100 from the cell 304 to another cell 304 (NO in operation 506), localization and mapping may be implemented through the processes of node updating 508, weight calculation 510, and selective resampling 512, which are described below.
First, in the node updating 508, the extended Kalman filter (EKF) for the mobile robot may be used to update the nodes. In the illustrated embodiment, an observation model necessary for application of the EKF may be created as described below. Bilinear interpolation for the k-th vector field datum of N vector field data acquired from the N vector field sensors 108 may be defined as Equation 1.
In Equation 1, x1, x2, and x3 respectively denote Δx, Δy, and Δθ of odometry data of the mobile robot. These elements of Equation 1 may be estimated as in Equation 2. Description of Equation 2 will be given with reference to
Pose of the robot: [x1 x2 x3]T
Position of sensor k: [x1(k) x2(k)]T
Signal value of node: [sxl
Position of node lk: [nl
In Equation 2, the position of the mobile robot 100 may be a measured value estimated according to the odometry, and the position of a vector field sensor 108 denoted by ‘k’ may be a physical value associated with the vector field sensor 108 located at the mobile robot 100. For example, for a mobile robot 100 in the form of a circle with a radius of 200 mm, the center of the mobile robot may be defined as the origin (0, 0) in a coordinate system. In the case that the vector field sensor 108 is mounted to the edge of the mobile robot 100 (in the x-axis), the position of the vector field sensor 108 may be (200, 0). At this time, the coordinate (200, 0) is a physical value associated with the position of the vector field sensor 108. In Equation 1 and
Equation 2 is given to indicate a correct position in a cell 304 as shown
For one position of the mobile robot 100, a plurality of vector field sensors 108 may exist. Accordingly, in the case that there are, for example, N vector field sensors 108, an observation model for the N vector field sensors 108 may be give as Equation 3.
To find the EKF, Jacobian of the observation model of Equation 3 may be needed. To this end, calculation may be performed as in the following Equation 4.
In Equation 4, l1, l2, . . . , and lk denote all nodes (i.e., k observed landmarks) of the cells which the vector field sensors 108 of the mobile robot 100 reach as shown in
Qt=HfΣt-1HfT+R: Innovation covariance matrix
Kt=Σt-1HfQt−1: Kalman gain
μt=μt-1+Kt(zt−{circumflex over (z)}t)T: Landmark mean update
Σt=Σt-1−KtHfTΣt-1: Landmark covariance update Equation 5
Again referring to
In the case that the mobile robot 100 moves from an existing cell 304 to another cell 304 (YES in operation 506), node initialization may be implemented (518).
Subsequently, using the result of the vector field SLAM 506 to 512, the controller 214 may update the information about the positions of the nodes 306, may estimate the current position of the mobile robot 100 (514), may accumulate the information, and then may implement mapping of the surroundings of the mobile robot 100 (516). By producing weights for a plurality of nodes of a cell where the mobile robot 100 is positioned as above, accuracy of sensing of the position may be increased.
σv=0.015 m/s (control noise), σR=0.5 (observation noise)
Speed: 0.3 m/s
5 round trips along a rectangular travel path
Cell size: 1 m×1 m
Installation spacing between vector field sensors: 0.35 m (two sensors installed at each of the front and the back)
Number of particles: 20
σv=0.015 m/s (control noise), σR=0.5 (observation noise)
Speed: 0.3 m/s
5 round trips along a zigzag travel path
Cell size: 1 m×1 m
Installation spacing between vector field sensors: 0.35 m (two sensors installed at each of the front and the back)
The results of simulations shown in
As is apparent from the above description, in localization and mapping of mobile robot according to one or more embodiments, more accurate localization and mapping may be implemented by producing a vector field using a plurality of sensors and utilizing the produced vector field.
In one or more embodiments, any apparatus, system, element, or interpretable unit descriptions herein include one or more hardware devices or hardware processing elements. For example, in one or more embodiments, any described apparatus, system, element, retriever, pre or post-processing elements, tracker, detector, encoder, decoder, etc., may further include one or more memories and/or processing elements, and any hardware input/output transmission devices, or represent operating portions/aspects of one or more respective processing elements or devices. Further, the term apparatus should be considered synonymous with elements of a physical system, not limited to a single device or enclosure or all described elements embodied in single respective enclosures in all embodiments, but rather, depending on embodiment, is open to being embodied together or separately in differing enclosures and/or locations through differing hardware elements.
In addition to the above described embodiments, embodiments can also be implemented through computer readable code/instructions in/on a non-transitory medium, e.g., a computer readable medium, to control at least one processing device, such as a processor or computer, to implement any above described embodiment. The medium can correspond to any defined, measurable, and tangible structure permitting the storing and/or transmission of the computer readable code.
The media may also include, e.g., in combination with the computer readable code, data files, data structures, and the like. One or more embodiments of computer-readable media include: magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVDs; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Computer readable code may include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter, for example. The media may also be any defined, measurable, and tangible distributed network, so that the computer readable code is stored and executed in a distributed fashion. Still further, as only an example, the processing element could include a processor or a computer processor, and processing elements may be distributed and/or included in a single device.
The computer-readable media may also be embodied in at least one application specific integrated circuit (ASIC) or Field Programmable Gate Array (FPGA), as only examples, which execute (e.g., processes like a processor) program instructions.
While aspects of the present invention have been particularly shown and described with reference to differing embodiments thereof, it should be understood that these embodiments should be considered in a descriptive sense only and not for purposes of limitation. Descriptions of features or aspects within each embodiment should typically be considered as available for other similar features or aspects in the remaining embodiments. Suitable results may equally be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents.
Thus, although a few embodiments have been shown and described, with additional embodiments being equally available, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2013-0022466 | Feb 2013 | KR | national |
Number | Name | Date | Kind |
---|---|---|---|
5956465 | Takagi et al. | Sep 1999 | A |
20050159879 | De Graeve et al. | Jul 2005 | A1 |
20080195261 | Breed | Aug 2008 | A1 |
20110200265 | Prigent | Aug 2011 | A1 |
20120035434 | Ferren et al. | Feb 2012 | A1 |
20120035437 | Ferren et al. | Feb 2012 | A1 |
20130151009 | Okazaki | Jun 2013 | A1 |
20130204430 | Davey et al. | Aug 2013 | A1 |
20130247117 | Yamada et al. | Sep 2013 | A1 |
20130303847 | Sitti et al. | Nov 2013 | A1 |
20140244094 | Kim et al. | Aug 2014 | A1 |
Number | Date | Country | |
---|---|---|---|
20140244094 A1 | Aug 2014 | US |