SYSTEM AND METHOD FOR NAVIGATING AN AUTONOMOUS ENTITY THROUGH A NAVIGATION SPACE IN REAL TIME - Patent application
A cost-effective navigation system using UWB, Bluetooth, and ultrasound sensors in indoor environments addresses angular errors and dynamic obstacles by dividing paths into segments and applying multi-step corrections, ensuring precise and collision-free navigation.
Patent Information
- Application Number
- JP2023527987
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-11-03
- Filing Date
- 2021-10-30
- Publication Date
- 2024-12-23
- Estimated Expiration
- 2041-10-30
AI Technical Summary
Existing autonomous navigation systems face challenges in maintaining precise position and orientation in time-varying indoor environments, leading to deviations and collisions due to initial angular errors and dynamic obstacles, while being costly due to the use of specialized sensors.
A cost-effective system utilizing multiple absolute position sensors like UWB, Bluetooth, and ultrasound to determine instantaneous position and orientation, dividing navigation paths into segments, and applying multi-step navigation mechanisms for stabilization and course corrections.
Enables precise, cost-effective autonomous navigation with minimal deviations and collisions by using a multi-step navigation process that adjusts to dynamic obstacles, ensuring smooth alignment and efficient path following.
Smart Images

Figure 0007604643000001 
Figure 0007604643000002 
Figure 0007604643000003
Abstract
Description
[Technical field]
[0001] (Related Applications) This application claims priority to an Indian Provisional Patent Application (PPA) entitled "SYSTEM AND METHOD FOR NAVIGATING AN AUTONOMOUS ENTITY THROUGH A NAVIGATION SPACE IN REAL TIME" filed on November 3, 2020 bearing Serial No. 202041048029. The contents of the said PPA are hereby incorporated by reference in their entirety. [Background technology]
[0002] Generally, embodiments of the present invention relate to autonomous navigation of an entity. Specifically, embodiments of the present invention relate to a system and method for navigating an autonomous entity, such as a robot (BOT), in a time-varying indoor navigation space. More specifically, embodiments of the present invention relate to a system and method for successfully autonomously navigating an autonomous entity, such as a robot (BOT), between any two points in a navigation space by providing stabilization control along a desired path of navigation in a cost-effective manner.
[0003] Description of Related Art According to an exemplary scenario, navigating an autonomous entity (a moving object) in a time-varying navigation space requires keeping the entity close to a predefined path (ideal path) so as to avoid straying from the navigation path and colliding with objects adjacent to the desired path. To keep the entity along the predefined path, accurate knowledge of the entity's position with an error of a few centimeters and its orientation with an error of a few degrees is essential. To keep the entity on the ideal path and orientation, the entity's current position and orientation need to be known accurately within desired error limits.
[0004] When an entity navigates through a narrow passage, several factors play an important role. For example, the entity's signal (angle or orientation with respect to a predefined path) plays a large role in determining the initial deviation of the entity from the predefined (ideal) path. The larger the starting angle, the larger the deviation. Therefore, it is important to minimize the starting angle at the beginning of navigation. A larger initial angle from the desired trajectory leads to a larger deviation. When navigation starts, despite the correction of the starting angle, there may remain a residual angle that leads to violent fluctuations when we try to correct it with basic methods. Typically, navigation with a residual angle leads to a zigzag movement.
[0005] An autonomous entity navigating through a tight space with an initial angular deviation from the desired path may encounter static obstacles, such as walls adjacent to the desired path, that are in the way of the entity's navigation, which may require real-time decision-making and dynamic changes to the navigation strategy to correct the autonomous entity's course and get back on track.
[0006] Operation in a constrained, time-varying navigation space with dynamically experienced obstacles such as uneven surfaces, floor friction, dynamic measurement errors, etc., affects the navigation path and necessitates understanding of the changes and thereby taking corrective action.
[0007] Typically, various sensors with specific functions play a key role in providing the autonomous entity with the required intelligence, assessing the situation and making decisions. The use of dedicated sensors for measuring position, orientation, speed, distance traveled, vision, mapping, etc. increases the cost, thereby making the autonomous entity very expensive.
[0008] In the case of navigation to a particular goal through multiple sections of the navigation space to reach the desired goal, identification of an optimal path for a given navigation layout is required.
[0009] Therefore, there is a need for a cost-effective system and method for reliably navigating an autonomous entity (hereafter referred to as a BOT) in a time-varying indoor navigation space to accurately and successfully reach a target with an acceptable level of error (limited only by the accuracy of the mechanism). Further, there is a need for an efficient method and system for dynamically changing the navigation strategy of an entity (moving object or robot or BOT) based on time-varying obstacles to successfully reach a target.
[0010] The above mentioned shortcomings, disadvantages and problems are addressed herein or will be understood by reading and studying the following specification.
[0011] (Objective of the embodiment) A primary objective of the embodiments herein is to provide a system and method for reliably navigating an autonomous mobile entity between any two points in a time-varying indoor navigation space in a cost-effective manner using multiple absolute position sensors, such as UWB (Ultra Wideband), Bluetooth, Zigbee, Ultrasonic, etc., thereby eliminating the need for expensive dedicated sensors for identifying and measuring orientation, speed, distance traveled, vision and mapping, etc.
[0012] Another object of embodiments herein is to provide a system and method for finding an improved instantaneous absolute position and orientation of a celestial body or a moving entity using a set of absolute position sensors positioned in multi-dimensional space over the course of the entity.
[0013] It is yet another object of embodiments herein to provide a system and method for identifying an optimal route to reach a goal with a complete understanding of all sections to be navigated and the associated ideal route based on pre-recorded guidance of the static characteristics of the navigation space.
[0014] It is yet another object of embodiments herein to provide a system and method that provides smooth and graceful alignment with a predefined path based on the absolute orientation of an entity derived using a set of absolute position sensors positioned in multi-dimensional space on said entity, thereby eliminating any uncontrollable wild fluctuations that may take the entity away from the predefined path and reducing vulnerability to collisions with objects adjacent to the navigation path.
[0015] It is yet another object of embodiments herein to provide a system and method for navigating an entity in a navigation space via a multi-stage navigation process to achieve at least one of reducing deviation from an ideal path, providing the fastest course corrections, following a predetermined path via navigation, and reaching a destination within an acceptable error limit.
[0016] It is yet another object of embodiments herein to provide a system and method that performs self-correction of the navigation trajectory by identifying correction angles throughout the multi-phase navigation process, applying corresponding differential speed signals to the drive wheels, and determining course corrections and initiation of new cycles of multi-phase navigation based on an evaluation of dynamically experienced conditions such as uneven floor surfaces, floor friction conditions / levels, multipath radio signal degradation, etc. that affect the measurement / estimation of instantaneous absolute position and orientation conditions.
[0017] Yet another objective of embodiments herein is to provide a system and method for dynamically changing navigation strategy when, during navigation of the entity, the BOT deviates from the desired path at an angle and interacts with an obstacle, such as a wall adjacent to the desired path, necessitating a multi-stage navigation course correction or even the initiation of a new cycle.
[0018] It is yet another object of embodiments herein to provide a system and method that iteratively performs a multi-stage navigation process for each section of a multi-section navigation based on pre-recorded guidance of static characteristics of the navigation space.
[0019] These and other objects and advantages of the embodiments herein will become readily apparent from the following detailed description taken in conjunction with the accompanying drawings. Summary of the Invention
[0020] The following detailed description presents a simplified summary of the embodiments of the present specification to provide a basic understanding of some aspects of the embodiments of the present specification. The summary is not an extensive overview of the embodiments of the present specification. It is not intended to identify key / critical elements of the embodiments of the present specification or to delineate the scope of the embodiments of the present specification. Its sole purpose is to present some concepts of the embodiments of the present specification in a simplified form as a prelude to the more detailed description that is presented later.
[0021] Other objects and advantages of the embodiments herein will become readily apparent from the following description taken in conjunction with the accompanying drawings. It should be understood, however, that the following description, while indicating preferred embodiments and numerous specific details thereof, is given by way of illustration and not by way of limitation. Many changes and modifications may be made within the scope of the embodiments herein without departing from the spirit thereof, and the embodiments herein include all such modifications.
[0022] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. It is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[0023] According to one embodiment herein, a system for navigating an entity through a navigation space is disclosed, the system includes a position sensing unit including a plurality of positioning sensors located at strategic or preset locations to enable geometric inference of the entity, an absolute position unit configured to determine a highly accurate representation of an instantaneous absolute position of the entity, an absolute orientation unit configured to determine an absolute orientation of the entity, a navigation guidance unit configured to provide specific attributes of a navigation layout, a navigation control unit for controlling navigation of the entity ensuring stabilization control of the entity throughout navigation, and a drive wheel control unit for converting control signals provided by the navigation control unit into differential speeds to be applied to drive wheels.
[0024] According to one embodiment herein, the position sensing unit includes a plurality of positioning sensors arranged on a plurality of predefined points in a multi-dimensional space on the entity. These predefined points on the entity allow for geometric inference of these positions on the entity. The collection of the positions of these individual sensors together with known geometric relationships allows for the derivation of a highly accurate representation of the absolute position and orientation of the entity, two important parameters for achieving autonomous navigation.
[0025] According to one embodiment herein, the absolute position unit uses the individual position information of multiple sensors provided by the position sensing unit to derive a precise representation of the instantaneous absolute position of the entity based on the known geometric relationships of the individual positions and their multi-dimensional spatial diversity.
[0026] According to one embodiment herein, the absolute orientation unit derives the orientation of the entity using time-averaged individual position information of multiple sensors provided by the position sensing unit and certain predefined points of the entity to construct a set of eigenvectors, which are constructed using combinations of these predefined points, which have a preset angular relationship with the absolute value of the entity.
[0027] According to one embodiment herein, the navigation guidance unit captures inherent attributes extracted from a desired navigable layout identified in the indoor navigation space. In addition to guiding the navigation control unit, relating to the context of the navigation layout, and strategizing navigation, the navigation guidance unit also dynamically updates the attributes as it learns based on the entity's past navigation experience / history. The navigation guidance unit divides / splits a valid navigation path into multiple line segments and selects / determines an optimal combination of these line segments to navigate between any two points in the navigation space.
[0028] According to one embodiment herein, the navigation control unit performs navigation between any two points based on a navigation path / strategy provided by the navigation guidance unit. When a particular navigation path between two points requires traversing through multiple line segments, the navigation control unit divides the navigation process into multiple steps corresponding to the number of line segments. For each such line segment, the navigation control unit uses a multi-step navigation mechanism to ensure stabilization control of the entity and maintain the entity's trajectory along the ideal / predefined path that defines the line segments.
[0029] According to one embodiment herein, a multi-stage navigation process on a line segment includes: a) a ramp-up stage for initiating navigation of the entity, ramping up the entity's velocity, and deriving a residual angle; b) a course correction stage for performing a course correction on the entity to orient the entity along a predetermined path and compensating for the residual angle; c) a stabilization stage for performing stabilization of the entity's navigation to align the entity within a deviation limit from the predetermined path; and d) a ramp-down stage for ramping down the entity's velocity and stopping navigation when the entity's distance reaches within a predetermined limit from the destination point of the line segment.
[0030] According to an embodiment herein, the system also includes a drive wheel control unit communicatively coupled to the navigation control unit and configured to control drive wheels of the entity based on the multi-stage navigation, the drive wheel control unit communicatively associated with at least one of the left motor and the right motor to control a speed of navigation of the entity.
[0031] According to one embodiment herein, the steps of initiating a multi-stage navigation process on a line segment include: 1) determining whether the entity's orientation is aligned within a predetermined target orientation range based on the entity's absolute orientation; 2) ramping up the entity's velocity without applying deviation correction as long as the entity's deviation from the ideal path is within tolerance limits; 3) if the entity's deviation from the ideal path exceeds tolerance limits, applying deviation correction by the residual angle and ramping up the entity's velocity; and 4) performing either step 2 alone or a combination of steps 2 and 3 until a desired maximum velocity is reached.
[0032] According to one embodiment herein, the step / process of performing a course correction includes using the residual angle estimated during the ramp-up phase to approximate a predefined path representing said line segment and applying the required angle correction to change the course of the entity.
[0033] According to one embodiment of the present specification, the step / process of performing stabilization is: 1) determining whether a first end condition is satisfied, where the first end condition is defined as a specific point where θ2 < k θ1, k is a predetermined factor for determining the exact transition point, θ1 is the initial angle of the entity from the starting point with respect to the line segment, θ2 is the angle of the entity from the starting point with respect to the line segment, and θ2 changes continuously during course correction when the entity moves along a predefined path representing the line segment, including determining, performing stabilization when the first end condition is satisfied, or repeating / continuing the course correction when the first end condition is not satisfied. Stabilization includes aligning the entity parallel to the predefined path and within the deviation limit while reversing the course correction, determining whether the deviation of the entity from the predefined path is within the deviation limit, and aligning the entity along the predefined path when the entity is within the deviation limit from the predefined path. During the stabilization process, the sign of the angle correction factor is determined to keep the entity within the deviation limit on either side of the predefined path. In the case where the deviation of the entity exceeds the preset deviation limit, the course correction process is repeated.
[0034] According to one embodiment herein, the ramping down step or process includes: 1) determining whether the deviation of the entity from the predefined path is within deviation limits; 2) determining whether a second exit condition is met when the deviation is within the preset deviation limits, the second exit condition being defined as a point where the remaining distance to the destination point of the line segment is within a predefined limit; 3) performing a process of ramping down the entity's velocity along with deviation correction to keep the entity along the predefined path when the second exit condition is met, or repeating the stabilization process when the second exit condition is not met; 4) determining whether the entity's distance to the destination point of the line segment is within a predefined limit / limit based on the entity's instantaneous absolute position; and 5) continuing or repeating the ramping down process when the entity's distance from the target position is not within the predefined limit and stopping the entity's navigation when the entity's distance from the destination point of the line segment is within the predefined limit.
[0035] According to an embodiment herein, a method for navigating an entity through a navigation space is disclosed. The method includes: first determining at least one of an instantaneous absolute position and absolute orientation of the entity; determining a navigation strategy to be provided by a navigation guidance unit; dividing the navigation into a plurality of steps based on a combination of line segments identified as part of the navigation strategy; and performing a multi-phase navigation of the entity with respect to each of the line segments based on the instantaneous absolute position and absolute orientation of the entity. The multi-phase navigation process with respect to the line segments includes: a) starting navigation of the entity and ramping up a velocity of the entity; b) performing a course correction on the entity and compensating for residual angles to orient the entity along a predefined path upon reaching a maximum velocity; c) performing a stabilization of navigation of the entity to align the entity within a deviation limit from the predefined path; and d) ramping down a velocity of the entity depending on the distance of the entity and stopping navigation upon reaching a predefined limit from a destination point of the line segments.
[0036] According to one embodiment of the present specification, the steps or process of initiating multi-stage navigation on a line segment include: 1) determining whether or not the entity's orientation is aligned within a predetermined target orientation range based on the entity's absolute orientation when navigation of the entity is initiated; 2) performing a ramp-up of the entity's speed without applying deviation correction as long as the entity's deviation from the ideal path is within an acceptable limit; 3) performing a ramp-up of the entity's speed while applying deviation correction by the residual angle if the entity's deviation from the ideal path exceeds an acceptable limit; 4) performing either step 2 alone or a combination of steps 2 and 3 until a desired maximum speed is reached; and 5) finding a better representation of the entity's orientation by averaging the slope of the line connecting the bot position to the starting point.
[0037] According to one embodiment of the present specification, the course correction step or process uses the residual angle estimated during the ramp-up phase to change the course of the entity so as to approach the predefined path representing the line segment, and includes applying the required angle correction.
[0038] According to one embodiment of the present specification, the stabilization step or process includes determining whether a first end condition is satisfied, and when the first end condition is satisfied, performing stabilization, where the first end condition is defined as a specific point where θ2 < k θ1, k is a predefined factor for determining the exact transition point, θ1 is the initial angle of the entity from the starting point with respect to the line segment, θ2 is the angle of the entity from the starting point with respect to the line segment, and when the entity moves towards the predefined path representing the line segment, it includes continuing to change, performing, or when the first end condition is not satisfied, repeating / continuing the course correction. Stabilization includes aligning the entity parallel to the predefined path and within the deviation limit while reversing the course correction, determining whether the deviation of the entity from the predefined path is within the deviation limit, and when the entity is within the deviation limit from the predefined path, aligning the entity along the predefined path. During the stabilization process, the sign of the angle correction factor is determined so as to keep the entity within the deviation limit on either side of the predefined path. In the case where the deviation of the entity exceeds the preset deviation limit, the course correction step / process is repeated.
[0039] According to one embodiment herein, the ramping down step includes: 1) determining whether the deviation of the entity from the predefined path is within deviation limits; 2) determining whether a second termination condition is met when the deviation is within the preset deviation limits, the second termination condition being defined as a point where the remaining distance to the destination point of the line segment is within a predefined limit; 3) performing a process of ramping down the entity's velocity along with deviation correction to keep the entity along the predefined path when the second termination condition is met, or repeating the stabilization process when the second termination condition is not met; 4) determining whether the entity's distance to the destination point of the line segment is within a predefined limit based on the entity's instantaneous absolute position; and 5) continuing or repeating the ramping down process when the entity's distance from the destination point of the line segment is not within the predefined limit and stopping the entity's navigation when the entity's distance from the target position is within the predefined limit.
[0040] According to one embodiment herein, the step or process of determining the instantaneous position includes deriving a precise representation of the instantaneous absolute position of the entity using individual position information of multiple sensors provided by the position sensing unit based on exploiting known geometric relationships of the individual positions and their multi-dimensional spatial diversity.
[0041] According to one embodiment herein, the step or process of finding the absolute orientation includes constructing a set of eigenvectors that derive the orientation of the entity using time-averaged individual position information of multiple sensors provided by the position sensing unit and certain pre-defined point combinations of the entity, where these pre-defined point combinations have a known / pre-set angular relationship with the entity's absolute value.
[0042] These and other aspects of the embodiments of the present invention will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following description, while indicating preferred embodiments and numerous specific details thereof, is given by way of illustration and not by way of limitation. Many changes and modifications may be made within the scope of the embodiments herein without departing from the spirit thereof, and the embodiments of the present invention include all such modifications. [Brief description of the drawings]
[0043] Embodiments of the present invention will be better understood from the following detailed description taken in conjunction with the drawings, in which: [Figure 1] FIG. 1 illustrates a block diagram of a cost-effective system for autonomously navigating an entity between any two points in an indoor navigation space, according to one embodiment of the present disclosure. [Figure 2A] FIG. 2A shows a perspective view of an entity (robot) with a set of position sensors installed in multiple locations, according to one embodiment herein. [Figure 2B] FIG. 2B illustrates a top view of an entity (robot) with a set of position sensors installed in multiple locations, according to an embodiment herein. [Figure 3A] FIG. 3A illustrates a multi-stage navigation process performed by a system of navigation processes according to one embodiment of the present disclosure. [Figure 3B] FIG. 3B illustrates a multi-stage navigation process performed by the system of navigation processes according to one embodiment of the present disclosure. [Figure 3C] FIG. 3C illustrates a multi-stage navigation process performed by the system of navigation processes according to one embodiment of the present disclosure. [Figure 3D] FIG. 3D shows a flow chart illustrating a process of a multi-step navigation process, according to an embodiment of the present disclosure. [Figure 3E]FIG. 3E illustrates a flow chart illustrating a process of a multi-step navigation process, according to an embodiment of the present disclosure. [Figure 3F] FIG. 3F illustrates a simulated multi-step navigation process according to one embodiment of the present disclosure. [Figure 3G] FIG. 3G illustrates a chart showing the actual trajectory of an autonomously driven entity between two points of a line segment based on a multi-stage navigation process, according to an embodiment herein. [Figure 4] FIG. 4 shows a flowchart illustrating a method for autonomously navigating an entity between any two points spanning multiple line segments in a navigation space, according to an embodiment of the present disclosure. [Diagram 5] FIG. 5 illustrates a method for converting the angle correction into a differential speed applied to the drive wheels according to one embodiment herein. [Figure 6] FIG. 6 illustrates the importance of various parameters used to calculate angle correction factors as part of controlling an entity during navigation, according to an embodiment herein.
[0044] However, specific features of embodiments of the invention may be shown in some drawings and not in others. This is done for convenience only, since each feature may be combined with any or all other features in accordance with embodiments of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0045] In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which are shown by way of illustration specific embodiments which may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the embodiments, it being understood that other modifications may be made without departing from the scope of the embodiments. Thus, the following detailed description is not to be taken in a limiting sense.
[0046] The embodiments of the present invention and its various features and advantageous details will be more fully described with reference to the non-limiting embodiments shown in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as not to unnecessarily obscure the embodiments herein. The examples used herein are merely intended to facilitate an understanding of how the embodiments of the present invention may be implemented and to further enable those skilled in the art to implement the embodiments of the present invention. Thus, the examples should not be construed as limiting the scope of the embodiments of the present invention.
[0047] Various embodiments herein provide a method and system (100) for autonomously navigating through a time-varying indoor navigation space, enabling a cost-effective autonomous navigation entity (200) by only using indoor positioning sensors. In various embodiments, the method and system disclosed herein reliably performs autonomous navigation of the entity (200) between any two points in the navigation space using the entity's instantaneous absolute position and absolute orientation obtained from the absolute position unit (104) and absolute orientation unit (106), respectively. In various embodiments, the method and system disclosed herein divides the navigation path between two points into multiple line segments based on a navigation strategy guided by the navigation guidance unit (108), so as to avoid any uncontrollable violent fluctuations that may lead to a high probability that the entity will deviate from the predefined path, thus increasing the vulnerability of collisions, and for each such line segment, applies a multi-stage navigation mechanism to achieve smooth and graceful alignment with the predefined path. In various embodiments, the methods and systems disclosed herein perform multi-phase navigation based on the instantaneous absolute position of the entity obtained from the absolute position unit 104 and the instantaneous absolute orientation of the entity derived from the instantaneous absolute positions of the drive wheels obtained from the drive wheel control unit 112. The multi-phase navigation process provides at least one of: a) minimizing deviation from an ideal path; 2) fastest course correction and navigational following in a straight line; and 3) graceful arrival at the target in a straight line parallel to the predefined (ideal) path.
[0048] According to an embodiment of the present disclosure, a system for navigating an entity through a navigation space is disclosed. The system includes a position sensing unit (102) including a plurality of positioning sensors arranged on a plurality of predefined points in a multi-dimensional space on the entity (200) in a meaningful manner, thus enabling geometric inference of the entity (200), an absolute position unit (104) configured to determine an instantaneous position of the entity, an absolute orientation unit (106) configured to determine an absolute orientation of the entity used during initial alignment of the entity toward a target generally in a line segment, a navigation guidance unit (108) providing inherent attributes of a navigable layout identified in a navigation area, a navigation control unit (110) for performing navigation of the entity (200) between any two points in the navigation space based on a strategy guided by the navigation guidance unit (108) to successfully reach a desired target, and a drive wheel control unit (112) for controlling drive wheels of the entity (200) based on an instantaneous angle correction input received from the navigation control unit (110).
[0049] According to one embodiment herein, the position sensing unit (102) includes multiple positioning sensors arranged in a meaningful manner and configured to provide an approximate representation of the position of each individual sensor based on UWB (ultra-wideband), Bluetooth, Zigbee, ultrasonic technology, etc., with known inaccuracies and variations including multipath reflections and non-line-of-sight (NLOS) factors. The positions of the multiple sensors together with their known geometric relationships allow us to derive a highly accurate representation of the absolute position and orientation of the entity (200), two important parameters required to achieve autonomous navigation.
[0050] According to one embodiment herein, the absolute position unit (104) provides an instantaneous absolute position of the entity (200) with a precision that allows for the extraction of various derived parameters that play an important role in autonomously navigating the entity (200). The instantaneous absolute position of the entity (200) is derived from the positions of the individual sensors provided by the position sensing unit (102) based on exploiting their known geometric relationships and their multi-dimensional spatial diversity.
[0051] According to one embodiment herein, the absolute orientation unit (106) provides the absolute orientation of the entity (200) by only using the position sensing unit (102), helping to overcome the shortcomings of conventional orientation sensors that are highly susceptible to ambient magnetic fields. Using time-averaged individual position information of predefined points on the entity represented by the multiple sensors provided by the position sensing unit (102), a set of eigenvectors is constructed by connecting any two of these predefined points, or any two points representing a combination of such predefined points. Since each of these eigenvectors has a known angular relationship with a given axis of the entity (200), known as the heading or absolute orientation of the entity, performing an angular rotation of these vectors by applying a respective offset and then weighted averaging provides a reliable absolute orientation of the entity. Figure 2B shows a top view representation of such an embodiment, with the thick arrow indicating the absolute orientation of the entity and the multiple sensors (202A-202H) indicating a representation of predefined points with geometrical relationships.
[0052] According to an embodiment herein, the navigation guidance unit (108) provides specific attributes extracted from the desired navigable layout identified in the indoor navigation space enabling the navigation control unit (110). In addition to providing the context of the navigation layout, it also dynamically updates some of its own attributes based on the navigation experience of the entity (200) in the recent past. The entire navigation layout is divided into navigable line segments connected by nodes whose absolute coordinates are recorded in the map. All such line segments form part of a set of valid paths leading to a network of valid paths whose attributes such as cost, path width, speed limit, transition angles of intermediate nodes, angular offsets of nodes, node flags for special purposes, etc. are recorded in the map. During navigation, it helps the navigation control unit (110) to determine a navigation strategy by determining an optimal path in real time based on the current instantaneous absolute position of the entity (200) and the desired target destination. Any measurement offsets identified during navigation are captured and recorded in the map for future navigation. For example, the absolute orientation of the entity (200) initially obtained via the absolute orientation unit (106) obtains a precise representation during course navigation. The difference between the two representations provides the angular offset error of the absolute orientation unit (106). Such error is recorded in the map as a known angular offset at each such node while orienting towards the respective target. During subsequent navigation from the same starting node to the same target, this recorded known offset is applied to the absolute orientation of the entity (200). This step is repeated during every navigation of each line segment, and the angular offset for a given set of starting and ending nodes is continuously refined and dynamically updated in the map. The navigation guidance unit (108) may effectively record, share, and update multiple such attributes as well, which may be useful for enhancing the navigation experience. The list of such attributes is limited only by the designer's imagination.
[0053] According to an embodiment herein, the navigation control unit (110) plays a key role in autonomously driving the entity (200) using inputs from various other units. Based on a navigation strategy guided by the navigation control unit (108), the navigation control unit divides said navigation into multiple steps based on the line segments to be traveled. For each such line segment, the navigation control unit (110) applies a multi-step navigation mechanism to achieve smooth and graceful alignment with the predefined path, avoiding any uncontrollable violent fluctuations that may lead to a high probability of the entity deviating from the predefined path and thus increasing the vulnerability of collisions. During multi-step navigation on such a line segment, at each minimum step of navigation defined by the system's cycle time, the navigation control unit determines and applies an angular correction based on a weighted combination of various factors including: 1) the angular position of the entity from a start point relative to a predefined navigation path; 2) the angular position of the entity from an end point relative to the predefined navigation path; 3) the instantaneous orientation of the entity; 4) the instantaneous absolute position of the entity; and 5) the deviation of the entity as represented by the perpendicular distance of the entity (200) from the predefined navigation path.
[0054] According to an embodiment herein, the system also includes a drive wheel control unit (112) communicatively coupled to the navigation control unit and configured to control the drive wheels of the entity based on the multi-stage navigation. The drive wheel control unit is communicatively associated with at least one of the left motor and the right motor and controls the speed of the navigation of the entity. The drive wheel control unit (112) converts the instantaneous angle correction provided by the navigation control unit (110) into an instantaneous drive wheel differential speed using various parameters based on the physical characteristics of the entity (200) to physically realize the angle correction of the entity (200). The drive wheel control unit (112) monitors the absolute position of the drive wheels during the entire navigation process and inputs the monitored data to the navigation control unit (110), which provides the instantaneous angle correction to the drive wheel control unit (112) to derive the differential drive wheel speed for the next iteration. During the navigation process, the absolute position of the drive wheels is predicted based on 1) the current absolute drive wheel position, 2) the current maximum speed of the entity, 3) the cycle time of the system (100), 4) the width of the entity (200), and 5) the angular correction realized during the iteration. When the entity moves from the current position to the predicted position, the differential drive wheel speed is derived from the difference in the predicted angular displacement between the two drive wheels. To apply the required correction, depending on the direction of the entity's rotation, the outer wheel is applied at the current maximum speed and the inner wheel is applied at a speed less than the current maximum speed by a factor of the difference in the predicted angular displacement between the two drive wheels. An illustration of the conversion of the angular correction to the differential drive wheel speed is given in FIG. 5. Also, to avoid any undesirable erratic movement of the vehicle due to sudden increases in the speed difference between the two wheels, the drive wheel control unit (112) controls the wheels with greater precision, e.g., within one-tenth of the cycle time of the system (100), by time slicing the differential speed applied through the wheels to achieve a smooth transition and effectively apply the desired angle correction to the entity (200) before the arrival of the next repeat signal from the navigation control unit (110).
[0055] According to one embodiment herein, the steps of multi-stage navigation on a line segment include: a) starting navigation of the entity and amplifying the entity's velocity; b) once maximum velocity is reached, performing a course correction on the entity and compensating for residual angles to orient the entity along a predetermined path; c) performing stabilization of navigation of the entity to align the entity within deviation limits from the predetermined path; and d) ramping down the entity's velocity and stopping navigation once the entity's distance reaches within a predetermined limit from the destination point of the line segment.
[0056] According to one embodiment of the present specification, the step or process of initiating navigation includes: a) determining whether the entity's orientation is aligned within a predetermined target orientation range based on the absolute orientation of the entity (200) obtained from the absolute orientation unit (106); b) ramping up the entity's velocity without applying deviation correction as long as the entity's deviation from the ideal route is within an acceptable limit; c) when the entity's deviation from the ideal route exceeds (above) the acceptable (predetermined) limit, deriving a residual angle and then applying deviation correction according to the residual angle while continuing to ramp up the entity's velocity; and d) performing either only step 2 or a combination of steps b and c until a desired maximum velocity is reached.
[0057] According to one embodiment of the present specification, during ramp-up, the step / process of deriving the residual angle includes repeatedly finding / determining the slope value of a line connecting the bot position to the starting point at predetermined periodic intervals, averaging the slope values, and subtracting the averaged slope value from the absolute orientation of the entity (200) obtained from the absolute orientation unit (106) while starting the navigation process.
[0058] According to one embodiment of the present specification, the step / process of performing course correction includes using the residual angle estimated during the ramp-up phase to approach a predefined path representing the line segment, and applying the required angle correction for changing the course of the entity (200).
[0059] According to one embodiment of the present specification, the step / process of performing stabilization includes determining whether a first end condition is satisfied, and when the first end condition is satisfied, performing stabilization, where the first end condition is defined as a specific point where θ2 < k θ1, k is a predefined factor for determining the exact transition point, θ1 is the initial angle of the entity from the starting point with respect to the line segment, θ2 is the angle of the entity from the starting point with respect to the line segment, and when the entity moves towards a predefined path representing the line segment, it includes continuing to change during course correction, performing, or when the first end condition is not satisfied, repeating / continuing the course correction. Stabilization includes aligning the entity parallel to the predefined path and within the deviation limit while reversing the course correction, determining whether the deviation of the entity from the predefined path is within the deviation limit, and when the entity is within the deviation limit from the predefined path, aligning the entity along the predefined path. During the stabilization process, the sign of the angle correction factor is determined to keep the entity within the deviation limit on either side of the predefined path. In the case where the deviation of the entity exceeds the preset deviation limit, the course correction stage is repeated.
[0060] According to one embodiment herein, the ramping down step or process includes: 1) determining whether the deviation of the entity from the predefined path is within deviation limits; 2) determining whether a second termination condition is met when the deviation is within the preset deviation limits, the second termination condition being defined as a point where the remaining distance to the destination point of the line segment is within a predefined limit; 3) performing a process of ramping down the entity's velocity along with deviation correction to keep the entity along the predefined path when the second termination condition is met, or repeating the stabilization process when the second termination condition is not met; 4) determining whether the entity's distance to the destination point of the line segment is within a predefined limit based on the entity's instantaneous absolute position; and 5) continuing or repeating the ramping down process when the entity's distance from the target position is not within the predefined limit and stopping the entity's navigation when the entity's distance from the target position is within the predefined limit.
[0061] According to an embodiment of the present disclosure, a method for navigating an entity between any two points through a navigation space is disclosed. The method includes determining at least one of an instantaneous absolute position and absolute orientation of the entity (200), determining a navigation strategy that provides a combination of line segments to traverse to reach a final destination, and for each such line segment, determining and executing a multi-phase navigation of the entity based on the instantaneous absolute position and absolute orientation of the entity. The multi-phase navigation process on the line segment includes: a) starting navigation of the entity and ramping up the velocity of the entity; b) performing a course correction on the entity and compensating for residual angles when a maximum velocity is reached to direct the entity along a predefined path; c) performing stabilization of navigation of the entity to align the entity within a deviation limit from the predefined path; and d) ramping down the velocity of the entity and stopping navigation when the distance of the entity reaches a predefined limit from the destination point of the line segment.
[0062] According to an embodiment herein, FIG. 1 illustrates a block diagram of a system for navigating an entity in a navigation space. As illustrated in FIG. 1, the system 100 includes a position sensing unit 102, an absolute position unit 104, an absolute orientation unit 106, a navigation guidance unit 108, a navigation control unit 110, and a drive wheel control unit 112. For example, the entity may include a stationary object or a moving object (e.g., a mobile factory equipment or a vehicle, etc.). For example, the navigation space may include an enclosed space with a predefined boundary, such as a space inside a factory unit. The position sensing unit 102 is arranged on the entity in a meaningful manner and includes multiple sensors arranged on multiple positions on the entity based on UWB (ultra-wideband), Bluetooth, Zigbee, ultrasonic, etc. (as will be described in detail in conjunction with FIG. 2A-FIG. 2B) to provide an approximate representation of the position of each such sensor. The absolute position unit 104 is configured to determine an instantaneous absolute position, and the absolute orientation unit 106 is configured to determine an absolute orientation of the entity. According to one embodiment of the present invention, the course of the navigation guidance unit 108 provides a set of attributes to enable successful navigation in a given navigation space. According to one of the embodiments, the navigation control unit 110 uses the attributes provided by the navigation guidance unit 108 to perform navigation between any two points in the given navigation space. To perform navigation, the navigation path is divided into multiple line segments, and navigation on each such line segment is performed using a multi-stage navigation mechanism. Upon completing navigation of all such line segments and reaching the desired destination within a tolerance limit, the navigation is considered to be successfully completed.According to one embodiment of the present invention, the multi-stage navigation on the line segment includes: a) starting the navigation of the entity and ramping up the velocity of the entity, b) performing a course correction on the entity and compensating for residual angles when a maximum velocity is reached to orient the entity along a predefined path, c) performing stabilization of the navigation of the entity to align the entity within deviation limits from the predefined path, and d) ramping down the velocity of the entity and stopping navigation when the distance of the entity reaches a predefined limit from the destination point of the line segment. Physically, according to one embodiment of the present invention, the drive wheel control unit 112 converts the angle correction provided by the navigation control unit 110 into a differential velocity to be applied to the drive wheels.
[0063] According to one embodiment herein, Figure 2A illustrates a perspective view of an entity (robot) with a set of sensors installed at multiple locations. As shown in Figure 2A, entity 200 includes a front end 201 and a rear end 205. The set of sensors 202A-202H includes a forward set of sensors 202A-202D located at front end 201 and a rear set of sensors 202E-202H located at rear end 205 of the exemplary entity 200.
[0064] According to an embodiment herein, Fig. 2B shows a top view of an entity (robot) with a set of sensors installed at multiple locations. Fig. 2B shows a top view representation of the positioning of a set of sensors 202A-202H on an exemplary entity 200 in an XY plane 208. As depicted in Fig. 2B, points F1-F4 and points B1-B4 represent the positioning of sensors 202A-202D and 202E-202H, respectively. Sensors 202A-202H are positioned in a manner as shown in Fig. 2A to achieve three-dimensional spatial diversity. Sensors 202A-202H provide position information for each predefined location where each of these sensors is physically located. Using the time-averaged position information of the predefined points of the entity (200) obtained using the position sensing unit (102), we can construct a set of eigenvectors, each of which knows its angular relationship with a given axis of the entity (200) that represents the heading or absolute orientation of the entity in the XY plane 208.
[0065] According to one embodiment herein, the absolute orientation unit (106) constructs a combination of vectors, each of which has a known angular relationship with a given axis of said entity (200), represented by the thick arrow, which is the heading or absolute orientation of the entity, as shown in Figure 2B. Each such vector is constructed by connecting any two of said predefined points, or any two points representing a combination of such predefined points. Example vector constructions and their associated angular offsets with respect to the entity's absolute orientation are given below: a) Vectors B1B4 and F1F4 have an angular offset of 90 degrees. b) Vectors B1F1 and B4F4 have an angular offset of 90 degrees. c) Vectors B1F4 and B4F1 have the same angular offset as the diagonal, but averaging them negates the offset and gives a direct representation of the absolute orientation of entity (200). d) A vector can also be formed by connecting two points, one being the average position representation of B1B2B3B4 and the other being the average position representation of F1F2F3F4. This vector can have an angular offset of zero. An infinite number of such combinations of vectors having an angular relationship to the entity's absolute orientation can be constructed. The absolute orientation of each such vector, along with its sense of direction, provides a known angular offset to the measure of the desired absolute orientation of the entity (200). Applying a respective known offset to the orientation of each such vector provides a unique representation of the entity's (200) absolute orientation. A weighted average of all such angles provides a reliable absolute orientation of the entity (200).
[0066] According to an embodiment of the present specification, the course of Figures 3A-3C shows a multi-phase navigation process performed by the system of the navigation process. More specifically, Figure 3A depicts a curve 300 representing the multi-phase navigation performed by the system 100 of the present technology. According to an embodiment of the present invention, the multi-phase navigation includes a ramp-up phase 302, a course correction phase 304, a stabilization phase 306, and a ramp-down phase 308. In the ramp-up phase 302, the navigation of the entity 200 is started. It is determined whether the orientation of the entity 200 is aligned within a predetermined target orientation range. Ramping up the velocity of the entity is initially started without applying deviation correction as long as the deviation of the entity from the ideal path is within the tolerance limit. If the deviation of the entity from the ideal path exceeds the tolerance limit, deviation correction is applied along with the ramp-up based on the residual angle (θ) 310. During the course correction phase 304, with a better understanding of the entity's heading from the handoff point of the ramp-up phase, angle corrections are applied to change the entity's course to move closer to the predefined path 311.
[0067] FIG. 3B shows a curve depicting a course correction step 304 in which the residual angle changes from θ1312 to θ2314 as a result of the course correction. The course correction is stopped at a first end condition. The first end condition is defined as a specific point where θ2 < k θ1, where k is a predefined factor that determines the exact transition point, θ1 is the initial angle of the entity from the starting point with respect to the line segment, and θ2 is the angle of the entity from the starting point with respect to the line segment, and it continues to change during the course correction as the entity moves towards a predefined path representing the line segment. During the stabilization step 306, the stabilization is performed by reversing the course correction while aligning the entity 200 parallel to the predefined path 311 and within the deviation limit. It is determined whether the deviation of the entity 200 from the predefined path 311 is within the deviation limit, and the entity 200 is aligned within the deviation limit from the predefined path 311 along the predefined path 311. During the process of the stabilization step 306, the trajectory tendency of the entity (200) is tracked, and the sign of the angle correction factor is changed to maintain the entity within the deviation limit on either side of the predefined path.
[0068] FIG. 3C shows a curve depicting the stabilization step 306. As depicted in FIG. 3C, the residual angle tends from θ2314 to zero, and the entity 200 approaches the predefined path 311 as a result of the stabilization. During the ramp-down step 308, the speed of the entity 200 is ramped down with a deviation correction to maintain the entity along the predefined path. FIG. 3C shows a curve depicting the ramp-down step 308. The multi-step navigation process is further described with FIGS. 3D and 3E.
[0069] According to one embodiment of the present specification, FIGS. 3D - 3E show a flowchart explaining the process of a multi - step navigation process in a line segment. According to one embodiment, FIGS. 3D - 3E depict a process flow diagram showing the process of multi - step navigation executed by system 100. In one embodiment, at step 320, the navigation of entity 200 is started. At step 322, the absolute orientation of entity 200 is determined using absolute orientation unit 106. At step 324, it is determined whether the orientation of entity 200 is aligned within a predetermined error limit. At step 326, if the orientation is not within the predetermined error limit, the entity is rotated to correct its orientation towards the destination point of the line segment, thus reducing the error. Steps 322 to 324 are repeated until the entity is oriented towards the target within the predetermined error limit. At step 328, when the deviation of entity 200 from the predetermined path 311 is within a predetermined deviation limit, the speed of the entity is ramped up without applying a deviation correction. At step 330, it is determined whether the maximum speed is achieved. If the maximum speed is not achieved, at step 332, it is determined whether the deviation is within the limit. If the deviation is within the limit, steps 328 to 332 are repeated. If the deviation is not within the limit, at step 334, the speed of the entity is ramped up with a deviation correction. At step 336, it is determined whether the maximum speed is achieved. If the maximum speed is not achieved, steps 334 and 336 are repeated. When the maximum speed is achieved, at step 338, a course correction is executed to direct the entity along the predetermined path 311 while compensating for the residual angle. At step 340, it is determined whether a first end condition is met, and the first end condition is defined as a specific point where θ2 < kθ1, k is a predetermined factor that determines the exact transition point, and θ1 is the initial angle of the entity from the starting point with respect to the line segment.θ2 is the angle of the entity from the starting point relative to the line segment and continues to change during the course correction as the entity moves toward the predefined path representing the line segment. If the first exit condition is not met at step 340, then step 338 is repeated. If the first exit condition is met at step 340, then stabilization is performed on the entity. During stabilization, the course correction is reversed while aligning the entity parallel to and within the deviation limits of the predefined path 311, and it is determined whether the deviation of the entity from the predefined path 311 is within the deviation limits, and the entity is aligned along the predefined path 311 and within the deviation limits from the predefined path 311.
[0070] In step 344, it is determined whether the deviation is within the deviation limit. If the deviation is within the limit, in step 346, it is determined whether a second exit condition is met, the second exit condition being defined as a point where the remaining distance to the destination point of the line segment is within a predefined limit. If the deviation is not within the limit, steps 338 to 344 are repeated. If the second exit condition is met in step 346, the velocity of the entity is ramped down with the deviation correction in step 348. Otherwise, if the second exit condition is not met in step 346, steps 342 to 346 are repeated. In step 350, it is determined whether the destination is reached. If the destination is reached in step 350, then in step 352, navigation stops. Otherwise, if the maximum speed is not achieved, steps 348 to 350 are repeated.
[0071] According to one embodiment herein, Fig. 3F shows a chart illustrating a multi-phase navigation process. As depicted in Fig. 3F, a simulated trajectory 352 is a graph obtained by plotting the distance (in millimeters) of the entity's movement along the X-axis 354 against the deviation (in millimeters) from the predefined path 311 along the Y-axis 356. The simulated trajectory 352 includes a ramp-up phase 360, a course correction phase 362, a stabilization phase 364, and a ramp-down phase 366. As can be observed from the simulated trajectory 322, the maximum deviation in this case is comprised below 20 centimeters and the entity is not allowed to traverse to the other side.
[0072] According to one embodiment of the present specification, Figure 3G shows a chart showing the actual bot's trajectory based on the absolute position unit 104 for a multi-stage navigation process on a line segment. The trajectory 368 includes an ideal path 370 and an initial direction 372 with a residual angle θ. Also, the stabilized path after course correction toward the destination point of the line segment is represented by 374.
[0073] According to an embodiment herein, FIG. 4 shows a flow chart illustrating a method for navigating an entity along a predefined path in a navigation space. In step 402, at least one of the instantaneous absolute position and absolute orientation of the entity is determined and navigation between any two points is initiated. In step 403, all line segments to navigate are identified to optimally reach from the start to the final destination. In step 404, multi-phase navigation of the entity on the line segments is performed based on the instantaneous absolute position and instantaneous absolute orientation of the entity. In sub-step 404a of the multi-phase navigation, navigation of the entity is initiated and the velocity of the entity is ramped up. In sub-step 404b, a course correction is performed on the entity to orient the entity along the predefined path upon reaching a maximum velocity, compensating for residual angles. In sub-step 404c, stabilization of the entity's navigation is performed to align the entity within a deviation limit from the predefined path. In sub-step 404d, once the entity's distance reaches within a predetermined limit of the line segment's destination point, the entity's speed is ramped down and the entity's navigation is halted. Steps 404a through 404d for each line segment identified in 403 are repeated until all line segments have been navigated and reached their destination.
[0074] FIG. 5 shows the mechanism used by the drive wheel control unit to convert the instantaneous angle correction provided by the navigation control unit (110) into an instantaneous differential drive wheel speed using various parameters based on the physical characteristics of the entity (200) to physically realize the angular correction of the entity (200). The drive wheel control unit (112) monitors the absolute position of the drive wheels throughout the navigation to derive the differential drive wheel speed for the next iteration based on the instantaneous angle correction received from the navigation control unit (110). In FIG. 5, from the initial position 501 of the entity (200), together with the angle correction θ, the entity can reach an updated position 502. This angle correction θ derives a differential angular displacement between the outer wheel 503 and the inner wheel 504, which is a function of θ and the width 'w' of the entity. As shown in FIG. 5, the speed of the inner wheel is obtained by subtracting w*θ from the speed of the outer wheel. Applying the current maximum speed of the entity to the outer wheel, the reduced speed of the inner wheel can be derived.
[0075] According to one embodiment of the present disclosure, Figure 6 illustrates the importance of various parameters used to calculate angle correction factors as part of controlling an entity during navigation. Exemplary usage of combinations of these parameters during different stages of a multi-stage navigation of an entity is also illustrated.
[0076] Various embodiments of the system and process for realizing and navigating a cost-effective autonomous entity in a time-varying indoor navigation space disclosed herein facilitate navigating between any two points in the navigation space by dividing the navigation path into multiple line segments, orienting the starting angle of the entity for each such line segment to be navigated within an accuracy limit of, for example, 5 degrees, and then initiating a multi-stage navigation mechanism to ensure stabilization control of the entity, maintaining the entity's trajectory along the ideal path defined by the line segment until the destination point of the line segment is reached, and the same is repeated until every such line segment reaches the final goal. Furthermore, the multi-stage navigation process of the present technology facilitates achieving at least one of: 1) minimizing deviation from the ideal path, 2) fastest course correction and following via navigation in a straight line, and 3) graceful arrival at the target in a straight line parallel to the ideal path. During the course of navigation, any external factors such as uneven floor surfaces, floor friction, multipath radio signal degradation, etc., that lead to deviations of the entity beyond acceptable limits are carefully monitored and the navigation strategy is dynamically modified to successfully reach the target, including deciding on multi-stage navigation course corrections and initiating new cycles based on an assessment of the dynamically experienced conditions and thus the instantaneous absolute position and orientation of the entity.
[0077] The foregoing description of the specific embodiments may fully clarify the general nature of the embodiments of the present specification, so that others may easily modify and / or adapt such specific embodiments to various applications without departing from the general concept by applying current knowledge, and therefore such adaptations and modifications should be understood and intended within the meaning and equivalent range of the disclosed embodiments. It should be understood that the language or terminology employed in the present specification is for the purpose of description and not for the purpose of limitation. Thus, the embodiments of the present specification have been described in terms of preferred embodiments, and those skilled in the art will recognize that the embodiments of the present specification can be practiced with modifications within the spirit and scope of the appended claims.
[0078] While the embodiments herein have been described in various specific embodiments, it will be apparent to those skilled in the art to practice the embodiments herein with modifications.
Claims
1. A system (100) for navigating an entity (200) through a time-varying indoor navigation space, comprising: a position sensing unit (102) having a number of position sensors arranged in a preset manner; an absolute position unit (104) for providing an instantaneous absolute position of the entity (200) based on an output from the position sensing unit (102); an absolute orientation unit (106) for providing an absolute orientation of the entity (200) based on an output from the position sensing unit (102); a navigation guidance unit (108) that provides specific attributes based on a desired navigable layout specified in a navigation area to navigate the entity (200) toward a desired target location; a navigation control unit (110) for autonomously controlling / adjusting navigation of the entity (200) between any two points in the time-varying indoor navigation space based on the instantaneous absolute position of the entity (200) provided by the absolute position unit (104), the absolute orientation of the entity (200) provided by the absolute orientation unit (106), and a plurality of navigation attributes provided by the navigation guidance unit (108); and a drive wheel control unit (112) communicatively coupled to the navigation control unit (110) and configured to control a plurality of drive wheels of the entity (200) by applying an instantaneous angle correction to the entity (200), the instantaneous angle correction to be applied to the entity (200) being obtained from the navigation control unit (110) and converted into an instantaneous differential speed for driving the plurality of wheels based on a drive wheel parameter, the drive wheel control unit (112) being configured to control the speed of the drive wheels during a complete navigation including ramp up and ramp down; Including, The navigation guidance unit (108) is configured to provide the intrinsic attributes, the intrinsic attributes being extracted from the desired navigable layout identified in the indoor navigation space and enabling the navigation control unit (110) to associate with the context of the desired navigable layout, one or more of the intrinsic attributes being dynamically updated as learning / feedback obtained from a navigation history of the entity (200), the entire desired navigable layout being divided / separated into a plurality of navigable line segments connected by nodes whose absolute coordinates are recorded in a map, the plurality of navigable line segments forming part of a set of effective paths leading to a network of effective paths, attributes of the network of effective paths being recorded in the map, the attributes of the network of effective paths being selected from a group including cost, route width, speed limit, transition angles of intermediate nodes, angular offsets of nodes, and node flags for special purposes, and a given navigational attribute between any two points is provided. an optimal path for a navigation is arrived at in real time based on a minimum total cost including the cost of traversing through a combination of nodes to reach the desired target location, the distance between the entity (200) and one of the nearest such nodes, and a penalty cost for any intermediate nodes visited; any measurement error in the absolute orientation of the entity (200) at a particular node is estimated by the navigation control unit (110) during the course of the navigation starting from the node, the estimated error is recorded in the map as a known angular offset at each such node while orienting towards the respective target node, the recorded known angular offset is applied to the absolute orientation of the entity (200) during subsequent navigation from the same start node to the same target node; this process is repeated during the navigation process for each line segment, and the angular offset for a given pair of start and end nodes is continuously refined and dynamically updated in the map.
2. 2. The system (100) of claim 1, wherein the position sensing unit (102) includes a plurality of positioning sensors installed in a preset manner on a plurality of predefined points in a multi-dimensional space on the entity (200), thereby enabling geometric inference of the entity (200) based on position information provided by each sensor of the position sensing unit (102).
3. 2. The system of claim 1, wherein the absolute position unit is configured to provide a precise, instantaneous, absolute position of the entity based on input received from the position sensing unit and predefined geometric relationships between the multiple sensors in the position sensing unit, and position information of multiple predefined points of the entity is obtained / determined from the position sensing unit.
4. The absolute orientation unit (106) is configured to provide a precise representation of the absolute orientation of the entity (200), the precise representation of the absolute orientation of the entity (200) being derived using individual positions of the predefined points provided by the position sensing unit (102) based on the absolute orientations of predefined points and a set of eigenvectors constructed using a combination of the absolute orientations of the entity (200) and their known relationships, the set of eigenvectors having a known angular relationship with a given axis of the entity (200) being constructed using time-averaged position information of the predefined points of the entity (200), the time-averaged position information of the predefined points of the entity (200) being provided by the position sensing unit (102). 02), a set of eigenvectors having the known angular relationship with a given axis of the entity (200) represent a direction or the absolute orientation of the entity with a known angular offset, each such vector being constructed by connecting any two points representing any two of the predefined points, or a combination of such predefined points, the absolute orientation of each such vector together with the direction providing a measure of a desired absolute orientation of the entity (200) with a known angular offset, the respective known offsets being applied to the orientation of each such vector to provide a unique representation of the absolute orientation of the entity (200), and a weighted average of all such angles providing a precise representation of the absolute orientation of the entity (200).
5. The navigation control unit (110) is configured to perform navigation of the entity (200) between any two points in the indoor navigation space based on a strategy guided by the navigation guidance unit (108) to reach a desired goal, the navigation process being divided / split into a number of steps based on the number of line segments involved to optimally reach the desired goal, each such line segment being navigated using a multi-stage navigation mechanism to maintain the navigation of the entity (200) along a path defined by said line segments, the multi-stage navigation mechanism navigating the entity (200) as close as possible to a destination point of said line segments within a tolerance limit based on the absolute orientation provided by the absolute orientation unit (106).
2. The system of claim 1, further comprising: initially orienting the entity and then navigating the entity through a number of stages / sub-processes including ramping up a velocity of the entity; and, once a maximum velocity is reached, performing a course correction on the entity and compensating for residual angles to direct the entity along a predetermined path; performing stabilization of navigation of the entity to align the entity within a deviation limit from the predetermined path; and, once a distance of the entity from a destination point of the line segment reaches a predetermined limit from a target position, ramping down the velocity of the entity and ceasing navigation.
6. A ramp-up phase / process step is to estimate a better representation of the orientation of the entity (200) in addition to ramping up the velocity of the entity by averaging the slope of a line connecting a bot position to a starting point, repeated at predetermined periodic intervals, to determine a residual angle caused in the absolute orientation of the entity due to multipath reflections, the residual angle being determined by subtracting the averaged slope value from the absolute orientation of the entity (200) obtained from the absolute orientation unit (106) during the start of navigation, the residual angle being the angle caused by a given starting node when oriented towards a particular target node.
2. The system of claim 1, further comprising: estimating a velocity of the entity in a straight line until a desired maximum velocity is reached or when deviations from an ideal path exceed a tolerable limit, whichever occurs first; and ...
7. 6. The system (100) of claim 5, wherein a step of the course correction phase / process includes applying an angular correction to change the course of the entity to move the entity closer to a predefined path representing the line segment, the angular correction being acted upon or implemented by the drive wheel control unit (112), which converts the angular correction into a differential drive wheel speed.
8. 2. The system of claim 1, wherein steps of the stabilization phase / process include forcing / moving the entity to align with a trajectory of a predefined path and applying a reverse correction to avoid crossing over of the entity (200) to the other side of the predefined path as the course correction process continues, thereby gradually stabilizing the entity to reach the destination point of the line segment; the trend of the trajectory of the entity (200) is tracked / monitored during the stabilization process and changing the sign of an angle correction factor to keep the entity within deviation limits on either side of the predefined path; when the position of the entity deviates from the predefined path (311) during the stabilization process by more than a tolerable threshold level due to any uncontrollable non-linear factors including floor defects, mechanical defects, measurement inaccuracies, the course correction process is repeated to correct the deviation, and the stabilization process is continued.
9. 2. The system (100) of claim 1, wherein the steps of the ramp-down phase / process include ramping down the speed and maintaining the heading of the entity until the entity reaches a point within a predetermined limit from the destination point of the line segment, and wherein the drive wheel speed is gradually ramped down during the ramp-down process with any needed corrections until the entity arrives near the destination point of the line segment within an acceptable error limit.
10. 2. The system of claim 1, wherein the navigation control unit (110) is configured to derive an instantaneous orientation of the entity (200) by tracking or monitoring an angle of a line segment connecting the driving wheels of the entity (200) having a fixed angular offset with the heading of the entity (200), a start angle of the line segment being derived from the absolute heading of the entity at the start of the navigation provided by the absolute heading unit (106), the instantaneous orientation of the line segment being derived / estimated during the course of the navigation using the absolute position of the driving wheels provided by the driving wheel control unit (112), and the instantaneous orientation of the entity being obtained / estimated by applying the fixed angular offset to the instantaneous orientation of the line segment.
11. 2. The system of claim 1, wherein the navigation control unit (110) calculates and applies angular corrections to the entity (200) repeatedly at predetermined periodic intervals during each stage of multi-stage navigation to achieve smooth and perfect alignment of the entity (200) along a predetermined path, the angular corrections being calculated based on a weighted combination of various parameters including: (1) an angular position of the entity from a start point relative to a predefined navigation path, (2) the angular position of the entity from an end point relative to the predefined navigation path, (3) an instantaneous orientation of the entity, (4) the instantaneous absolute position of the entity, and (5) a deviation of the entity represented by a perpendicular distance of the entity (200) from the predefined navigation path, and an angular correction factor to be applied at each stage of the multi-stage navigation limits is derived or estimated based on the weighted combination of the parameters.
12. 2. The system of claim 1, wherein the navigation control unit is configured to continuously monitor the instantaneous absolute position and trajectory of the entity repeatedly at predetermined periodic intervals and dynamically determine a navigation strategy by either continuing the ongoing course of navigation or performing a multi-stage navigation orientation correction for a given line segment followed by a new cycle, and wherein any deviation of the entity beyond a tolerable limit due to an uneven floor surface leading to wheel slippage, multi-path reflections leading to signal degradation triggers a multi-stage navigation orientation correction and initiation of a new cycle, and wherein the orientation correction and initiation of a new cycle of multi-stage navigation is triggered as a preventive measure by considering a future trajectory even when the actual deviation is within a tolerable limit, and wherein the entity starts a navigation cycle with an orientation with a large residual angle due to multi-path reflections that is not properly reported by the absolute orientation unit, thereby leading to deviation from a desired path and moving towards an obstacle including a wall adjacent to the navigation path.
13. The drive wheel control unit (112) is configured to convert or translate the instantaneous angle correction provided by the navigation control unit (110) into an instantaneous differential drive wheel speed using a plurality of parameters based on the physical characteristics of the entity (200) to physically realize the angle correction of the entity (200), and the drive wheel control unit (112) monitors the absolute position of the drive wheels throughout the navigation process and transmits the monitored absolute position of the drive wheels to the navigation control unit (110). and the navigation control unit (110) provides the instantaneous angle correction to the drive wheel control unit (112) to derive the instantaneous differential drive wheel speed for the next iteration, the absolute position of the drive wheel being derived at the start of the navigation from the instantaneous absolute position of the entity provided by the absolute position unit (104) and the absolute orientation of the entity provided by the absolute orientation unit (106), and during the course of the navigation, the absolute position of the drive wheel is calculated based on the current absolute drive wheel speed. The instantaneous differential drive wheel speed is predicted or determined based on the position, a current maximum speed of the entity, a period of an iteration, a width of the entity (200), and the angular correction realized during the iteration, and the instantaneous differential drive wheel speed is derived or estimated from the difference in estimated angular displacement between two drive wheels as the entity moves from the current position to an estimated position, and depending on the direction of rotation of the entity, an outer wheel is adapted to move at the current maximum speed and an inner wheel is adapted to move at a speed lower than the current maximum speed by a factor of the difference in estimated angular displacement between the two drive wheels.
2. The system (100) of claim 1, wherein the instantaneous differential drive wheel speed applied via the wheel is smaller than the vehicle speed applied via the navigation control unit (110) and the drive wheel control unit (112) controls the wheel by time slicing the instantaneous differential drive wheel speed applied via the wheel and applying the difference in steps to provide a smooth transition and effectively apply a desired angular correction to the entity (200) before the arrival of the next iteration signal from the navigation control unit (110) to avoid any undesirable erratic movement of the vehicle due to a sudden increase in the speed difference between the two wheels.
14. A method for navigating an entity (200) through a navigation space, comprising: determining (402) at least one of an instantaneous absolute position and an absolute orientation of the entity (200); Identifying (403) a line segment to navigate from a start to an end based on a strategy provided by a navigation guidance unit (108); For each such line segment, performing (404) a multi-phase navigation of the entity (200) based on the instantaneous absolute position and the absolute orientation of the entity (200), the multi-phase navigation comprising: a) initiating navigation of the entity (404a) and ramping up a speed of the entity; b) once a maximum velocity is reached, performing a course correction on the entity to direct the entity along a predetermined path (404b) to compensate for residual angles; c) performing stabilization of navigation of the entity to align the entity within deviation limits from the predetermined path (404c); d) ramping down (404d) the velocity of the entity and ceasing navigation when the distance of the entity reaches within a predetermined limit of the destination point of the line segment; e) repeating steps 404a through 404d for each line segment identified in (403) until all line segments have been navigated and reach the goal; The said executing Including steps, The navigation guidance unit (108) is configured to provide intrinsic attributes based on a desired navigable layout identified in a navigation area for navigating the entity (200) towards a desired target location, the intrinsic attributes being extracted from the desired navigable layout identified in the navigation space, one or more of the intrinsic attributes being dynamically updated as learning / feedback obtained from a navigation history of the entity (200), the entire desired navigable layout being divided / separated into a plurality of navigable line segments connected by nodes whose absolute coordinates are recorded in a map, the plurality of navigable line segments forming part of a set of effective paths leading to a network of effective paths, the attributes of the network of effective paths being recorded in the map, the attributes of the network of effective paths being grouped into a set of attributes including cost, route width, speed limit, transition angles of intermediate nodes, angular offsets of nodes, and node flags for special purposes. a map of known angular offsets for each of the nodes in the map, the map being updated periodically to determine if the node is a known angular offset; a map of known angular offsets for each of the nodes in the map being updated periodically to determine if the node is a known angular offset; a map of known angular offsets for each of the nodes in the map being updated periodically to determine if the node is a known angular offset; a map of known angular offsets for each of the nodes in the map being updated periodically to determine if the node is a known angular offset; a map of known angular offsets for each of the nodes in the map being updated periodically to determine if the node is a known angular offset;
15. The step of initiating the navigation includes: determining and fine-tuning an orientation of the entity (200) upon initiating navigation of the entity (200) to ensure that the orientation of the entity (200) is aligned with a line segment target within a predetermined error margin based on the absolute orientation of the entity (200); ramping up the velocity of the entity (200) and applying a deviation correction to the entity (200) according to a residual angle if the deviation of the entity (200) from the predetermined path (311) is not within a predetermined deviation limit, or ramping up the velocity of the entity (200) without applying the deviation correction if the deviation of the entity (200) from the predetermined path (311) is within a predetermined deviation limit.
15. The method of claim 14, comprising:
16. executing the course correction determining whether a maximum ramp-up rate is reached; applying an angle correction to change the course of the entity to bring it closer to a predefined path representing the line segment; Continue applying the angle correction in the same direction as long as the first termination condition is not met.
15. The method of claim 14, comprising:
17. performing the stabilization step determining whether a first termination condition is met, the first termination condition being defined as a particular point where θ2<kθ1, where k is a predefined factor that determines an exact transition point, θ1 being an initial angle of the entity from a start point relative to the line segment, and θ2 being an angle of the entity from the start point relative to the line segment, which continues to change during course correction as the entity moves towards a predefined path that represents the line segment; and executing a stabilization process when the first termination condition is met, the stabilization comprising: reversing the course correction while aligning the entity (200) parallel to the predetermined path (311) and within deviation limits; determining whether a deviation of said entity (200) from said predetermined path (311) is within deviation limits; aligning said entity (200) along said predetermined path (311) within said deviation limit from said predetermined path (311); repeating the course correction if the first termination condition is not met. said performing 15. The method of claim 14, comprising:
18. The ramping down comprises: determining whether a deviation of the entity (200) from the predetermined path is within deviation limits; determining whether a second termination condition is satisfied if the deviation is within the deviation limit, or repeating the course correction if the deviation exceeds the deviation limit, the second termination condition being defined as a point at which a remaining distance of the line segment to the destination point is within a predetermined limit; performing a process of ramping down the velocity of the entity (200) together with deviation corrections to keep the entity (200) along the predetermined path (311) if the second termination condition is met, or repeating the stabilization if the second termination condition is not met; determining whether a distance of the entity (200) to the destination point of the line segment is within a predetermined limit based on the instantaneous absolute position of the entity (200); repeating ramping down when the distance of the entity (200) from a target position is not within a predetermined limit; stopping navigation of the entity (200) when the distance of the entity (200) from the destination point of the line segment reaches the predetermined limit; 15. The method of claim 14, comprising:
Citation Information
Patent Citations
Steering control device for vehicle
JP2008143293A
Travel guide system
JP2014102750A
