The present disclosure relates generally to a blockchain-based distributed ledger, and more specifically, to exemplary embodiments of an exemplary system method and computer-accessible medium for blockchain-based distributed ledger for analyzing and tracking environmental-targets, e.g., in decentralized robot swarms.
Multiple Robot System (“MRSs”) and swarm robotics research has attracted significant attention in the past decade (see, e.g., References 1 and 2) opening diverse application avenues. (See, e.g., References 3 and 4). For example, MRSs have been developed and implemented in industry, warehouse, security, education, and entertainment sectors. (See, e.g., References 5-13). Human-MRS interaction is important for such systems to establish and provide a global objective, identify faults, and monitor progress. (See, e.g., References 14-16). Many of these systems are centralized in nature because of the simplicity of centralization. In a centralized multi-robot system (“CMRS”), to accomplish a goal, the central-node provides instructions to the agents without having to reveal the global objective to each agent. This mode of operation of the CMRS permits complete supervision and control of individual agents, and facilitates each agent to be aware of the overall system state by querying the central-node. However, a communication disruption between the central-node and agents can lead to the failure of the entire system. (See, e.g., Reference 17). The CMRS also suffers from a physical limit on the number of agents connected to the central node. That is, for a reliable operation, the CMRS restricts secure connection to a limited number of agents. Moreover, in the CMRS, agents commonly rely on supervision and sensor feedback provided by an external sensor node, which is common to all agents. While such sensing methodology reduces the cost of overall system, it often restricts the workspace of the agents, and increases the burden on the central node. (See, e.g., Reference 18). Despite its simplicity and transparency, the above-described limitations of the CMRS make it inefficient and undesirable for applications that utilize large number of agents scattered in a large region; for example, in space exploration, search and rescue missions, among others. A decentralized multi-robot system (“DMRS”) is increasingly being explored to address the drawbacks of the CMRS, and constitutes a viable alternative for such scenarios. (See, e.g., References 19-21).
In DMRS, the agents rely on the on-board computational and sensing resources of the agent. Moreover, agents coordinate with neighbors on local tasks to collectively accomplish the global goal. (See, e.g., References 22 and 23). Since DMRS does not utilize a central-node, it is robust to a single-point failure and can be scaled to large number of agents. Additionally, DMRS is robust in adapting to changes in the MRS's scale. However, unlike centralized systems, decentralized systems do not permit complete real-time supervision of agents from a central-node, nor do they facilitate any agent to gain awareness of the states of other agents in the MRS. Although the failure of a subgroup of agents in DMRS does not affect the performance of other agents in the same system, it can result in a global task remaining incomplete even if multiple local tasks are completed. Such behavior is undesirable in an ideal MRS since the system's overall progress needs to be tracked and agents need to be reassigned to service any incomplete tasks. Moreover, since an agent in DMRS relies on its on-board controller and sensors, it becomes incrementally expensive to accommodate high resolution imaging and ranging systems for accurate analysis of surroundings with a large number of neighboring agents. (See, e.g., Reference 24).
Thus, it may be beneficial to provide an exemplary system, method and computer-accessible medium for a blockchain-based distributed ledger so as to analyze and track environmental-targets in decentralized robot swarms which can overcome at least some of the deficiencies described herein above.
An exemplary multi-robot system can include, for example, a first robot(s), which can include a communication arrangement and a sensor arrangement configured to detect a presence of an object(s) within a predetermined distance from the first robot(s), and determine a distance from the first robot(s) to the object(s), where the first robot(s) can broadcast a query to the object(s) using the communication arrangement, identify the object(s) as a second robot(s) or a non-robot based on a response received from the object(s). The sensor arrangement can be a Light Detection and Ranging (LiDAR) sensor arrangement. The LiDAR sensor arrangement can be a two-dimensional LiDAR sensor arrangement.
In some exemplary embodiments of the present disclosure, the first robot(s) can be an autonomous robot. The distance can be a Euclidean distance. The first robot(s) can identify the object(s) as the second robot(s) if a response is received from the object(s). The response can include a first unique identification number for the second robot(s), a second unique identification number of the first robot(s), a response to the distance, a replying query number and a robot state. The robot state can include of idling, exploring, charging, servicing, foraging, low-battery, inactive, or excavating. The first robot(s) can identify the object(s) as the non-robot if no response is received from the object(s).
In certain exemplary embodiments of the present disclosure, the first robot(s) can include a unique identification number, and the query can include the unique identification number. The query can include (i) a unique identification number of the first robot(s), (ii) the distance, (iii) an angle, and (iv) a query number. The first robot(s) can be configured to store an identity of the second robot(s) if the response is received. The first robot can be configured to generate first map information, receive second map information from the second robot(s), and generate a combined map based on the first and second map information.
Additionally, an exemplary system, method and computer accessible medium for communicating within a multi-robot system, can include, for example, receiving first information related to a presence of an object(s) within a predetermined distance using a sensor arrangement, transmitting a query to the object using(s) a communication arrangement, and identifying the object(s) (i) as a robot(s) if a response is received from the object(s) or (ii) as a non-robot if no response is received from the object(s). The sensor arrangement can be a two-dimensional Light Detection and Ranging (LiDAR) sensor arrangement. The distance can be a Euclidean distance. The query can include a unique identification number of a robot configured to run the computer-accessible medium. The system can be a decentralized multi-robot system (DMRS). In some exemplary embodiments of the present disclosure, first map information can be generated, second map information can be received from the second robot(s), and a combined map can be generated based on the first and second map information.
An exemplary system for communicating within a multi-robot system, can include, for example, a sensor arrangement configured to detect a presence of an object(s) within a predetermined distance, a communication arrangement configured to transmit a query to the object(s), and a computer hardware arrangement configured to identify the object(s) (i) as a robot(s) if a response is received from the object(s) using the communication arrangement or (ii) as a non-robot if no response is received from the object(s).
These and other objects, features and advantages of the exemplary embodiments of the present disclosure will become apparent upon reading the following detailed description of the exemplary embodiments of the present disclosure, when taken in conjunction with the appended claims.
Further objects, features and advantages of the present disclosure will become apparent from the following detailed description taken in conjunction with the accompanying Figures showing illustrative embodiments of the present disclosure, in which:
Throughout the drawings, the same reference numerals and characters, unless otherwise stated, are used to denote like features, elements, components or portions of the illustrated embodiments. Moreover, while the present disclosure will now be described in detail with reference to the figures, it is done so in connection with the illustrative embodiments and is not limited by the particular embodiments illustrated in the figures and the appended claims.
The present disclosure relates generally to a blockchain-based distributed ledger, and more specifically, to exemplary embodiments of an exemplary system method and computer-accessible medium for blockchain-based distributed ledger for analyzing and tracking environmental-targets, e.g., in decentralized robot swarms. The exemplary system, method and computer-accessible medium, according to an exemplary embodiment of the present disclosure, can also be used for autonomous surveillance as well.
A dark-room exchange (“DRE”) can be based on the visualization of two individuals (e.g., A and B) and a life-sized statue in a dark room. As shown in the diagrams of
In the above two scenarios, A may only perceive the presence of an entity in the dark room. By posing a simple query, in the first scenario the receipt of a response facilitates A to establish the presence of B in the room, and in the second scenario the lack of a response facilitates A to establish the presence of a non-living object in the room.
In the exemplary DRE-DMRS, each robot can perceive unidentified entities in its neighborhood (“NBHD”) by using only the two-dimensional (“2D”) LiDAR range data in real-time. Having perceived entities in its NBHD, a robot can utilize the Euclidean distance (“ED”) to the unknown objects for probing and verifying their identities. Using a query-reply conversation model, the robots can hold conversations to verify each other's identities as well as non-robot obstacles. Each robot can be assigned a unique ID, which the robots can add to queries and responses. Both query and response messages can use packaging characters to construct a single string message containing the utilized information.
As shown in the exemplary diagram of
The following exemplary identification scenarios can be used for an exemplary procedure to identify neighbors in DRE-DMRS robots. All agents in the swarm can broadcast queries and respond to received queries.
When a robot comes in the vicinity of an unknown object, it can broadcast a query with its own identity and its ED from the unknown object, and wait for any replies. If the unknown object can be another robot, it can receive the query, establish that the querying robot can be at the same ED, and thus respond positively to the query along with its own identity. After receiving the response, the querying robot can assign the responding robot's identity to the unknown object. For example, the diagram shown in
As shown in the exemplary diagram of
A robot in the exemplary DRE-DMRS can send a query with multiple EDs if it encounters multiple unidentified objects as illustrated in
A querying robot can encounter an entity at ED d that also happens to be the ED between another robot and some entity. For example, as shown in the diagram of
If the robot replies positively to multiple EDs from a same query, the querying robot discards both EDs and performs a small random motion before re-querying only the responding robot. This exemplary scenario can be called single-robot duplicate (“SRD”), and is shown in
Additionally, the presence of multiple entities at similar EDs can result in conversations with SRDs and MRDs. The procedure to identify SRD and MRD scenarios in the exemplary DRE-DMRS is described below.
TurtleBot, based on the Robot Operating System (“ROS”) (see, e.g., Reference 25) is an exemplary affordable mobile robot platform that is extensively used in robotics research and education. TurtleBot3, (see, e.g., Reference 25) the third generation of this platform, hosts an array of features such as a modular assembly, 360° LiDAR, Dynamixel smart actuators, Raspberry-Pi3 single-board computer (“SBC”), 9-axis IMU, etc. DRE-DMRS swarm system of the exemplary embodiments of the present disclosure solely utilizes the LiDAR for sensing. The simulated environment includes a network of TurtleBot3 robots operating in a decentralized manner. Gazebo robot simulation software (see, e.g., Reference 25) and the ROS environment can be used to perform real-time simulation of the TurtleBots.
The scan processing node 610 executing on a robot can extract the 2D range data from the on-board LiDAR and process the data to identify objects of interest in the robot's NBHD. The LiDAR can have detection range of up to 300 cm and 1° resolution at 5 Hz. The laser range data acquired in the polar coordinate form {(ri, φi), i=0, . . . , 359°} can be converted to the Cartesian coordinate form {(x, y)i(xi, yi)=(ri cos φi, ri sin φi)}. The range data can be segmented into clusters based on the ED between two consecutive points. Two points belong to the same cluster if, for example:
||(x, y)i−(x, y)i−1||<σ,
where ||⋅|| can denote that ED and σ can be the maximum allowable distance between consecutive points belonging to the same cluster. σ=5 cm was deemed to yield acceptable clustering results for segmenting disjointed entities. Average cluster position (Xi,Yi) for each cluster with p points can be calculated as, for example:
The scan processing node 610 can package the average position, cluster size, and the cluster's distance from the robot for k detected clusters as {(Xi, Yi, pi, di), i=1, . . . , k}, where di=||(Xi, Yi)||, and publishes to the “scan_proc” topic.
The tracking node 615 can subscribe to the scan_proc topic to track detected clusters in real-time. Each cluster can be assigned a unique tracking ID. The comparison between a set of clusters detected at time t, namely kt and the set of clusters detected previously at time t−1, namely kt-1, can be viewed as a linear assignment problem. Using an exemplary Munkres procedure for minimal distance assignment, (see, e.g., Reference 26) the clusters in the newly detected cluster-set can be assigned corresponding tracking IDs from the previous cluster-set. Tracking node 615 can appends the unique tracking ID b to each detected cluster as {(Xi, Yi, pi, di, bi), i=1, . . . , k} and publish the information to the “scan_trac” topic. Tracking can be limited to 100 cm due to the limited resolution offered by Turtlebot3 LiDAR and poor quality of detection of small objects, such as another Turtlebot3, at distances greater than 100 cm.
The exemplary communication network can be important in the functioning of a DMRS. In the exemplary DRE-DMRS simulation, communication channels can be modeled based on a 2-way radio. As illustrated in
The parsing node 625 can be execute internally on each robot, and can be responsible for subscribing to the q_channel and r_channel pipes (through reply parser 630 and Query parser 635) for parsing and routing data to query and reply nodes, respectively. The Parser node 625 can decode the query and response messages by removing packaging characters and extracting relevant information. The parser node 625 can filter out the responses to the queries that were not sent by the robot running the parser node 625.
The reply node 640 running on a robot can subscribe to the scan_trac topic and listen to incoming queries from other robots through the parser node 625. Once a query can be received, the reply node 640 can compare the query distance dq with distances {di, i=1, . . . , k} of k clusters detected and tracked by the scan procedure node 610 and the tracking node 615, respectively. The comparison can include the calculation of a confidence rating ci based on a Gaussian distribution with standard deviation σr=3.16 cm and scaling factor β=2505 as, for example,
Note that the above values of σr, and β were determined experimentally. For ci>95%, the reply node responds “True” to the query, else a “False” can be broadcast through the r_channel. State node 645 can be an independent node which monitors the current state of the robot and publishes the state identifier to the “state_info” topic. Additionally, the reply node 640 can subscribe to the state_info topic and appends the current state identifier to the reply message.
The query node 620 on a robot can subscribe to the scan_trac topic and can be responsible for identifying the objects in its NBHD by initiating a conversation. Every new unidentified object that can be passed to the query node 620 by the tracking node 615 can be given an initial identity of 99. Following the initial ID assignment, the query node 620 can publish a query on the q_channel with the ED corresponding to the detected objects with ID 99. Post-query, the query node 620 can wait 0.5 seconds for any robots in the NBHD to respond to the query. After the wait time, the query node 620 can inspect incoming data to check for positive responses. If a positive response is received, the ID 99 of the unidentified object can be replaced by the ID of the positively responding robot. If none of the responses can be positive, the query node 620 can automatically classify the unidentified object by assigning it the ID 999, which can indicate that the unidentified object can be declared as a non-robot.
A query published by query node 620 can contain multiple EDs corresponding to multiple unidentified objects. This can usually arise during the start-up, or when a robot encounters a new group of robots or obstacles. Multiple robots can respond positively to a query distance leading to MRD or a single robot can respond positively to multiple EDs within the same query causing SRD. To overcome these situations, the following exemplary procedure can be implemented to analyze the incoming responses to detect the presence of MRD and/or SRD. For example,
For m unidentified objects in the querying robot's NBHD, an incoming response data set can be represented by {ri,u, i=1, . . . , p and u=1, . . . , m} where ri,u can be the ith robot's Boolean response to the uth query distance du. For the querying robot, consider its response verification matrix R below, which can be a p×m matrix, where p can denote the number of responding robots,
Next, a single-robot duplicate check vector S, given below, can inspect if a response includes multiple positives
Similarly, a multi-robot duplicate check vector M, given below, can inspect if multiple robots responded positively to a specific CD within the same query
Using Eqs. (2) and (3), an output vector Γ can be computed below, which can indicate the validity of each of the p responses. Thus, for example:
Γ={Γi}, Γi=Σj=1mri,jSiMj, i=1, . . . , p. (4)
The appearance of a zero at an index g in the Γ vector (e.g., Γg=0) can correspond to the presence of a MRD and/or a SRD in the response stored at rg,:. Such exemplary responses can be discarded and the identity of the corresponding robot can be recorded into a vector A for re-verification. Clean responses that do not contain duplicates can be processed by assigning the responding robot's ID to the unidentified object detected at the positively identified query distance. After assignment of clean responses, if A contains robots for re-verification, the querying robot can rotate to a random angle between −180° to 180° and move linearly for 15 cm. Following a random movement, the robot can re-initiate the query process, now only requesting responses from robots whose IDs can be in the vector Λ. This process can be repeated until no duplicates can be present. The identity of detected robots in the neighborhood can be published by the query node to the “robot_detections” topic.
The DL node 650 can run as a parallel process on each robot, and can subscribe to the “robot_detections” topic published by the query node 620. On each robot, the DL node 650 can create and updates two ledgers, local (“LL”) and global (“GL”), with the former containing the NBHD information of the local robot and the latter containing the NBHD information shared by other robots. Ledger entries can be populated with detection information, time stamp, and neighboring robot state. Similar to the DRE query-response structure, the DL entries can be encoded into a string using packaging characters as shown in Table I below.
The DL update process for merging and separating a robot with an MRS is shown in
As shown in the diagram of
The DL node further subscribes to the state_info topic to acquire the current state identifier of the robot. In addition to identifying a robot's state when it merges with the MRS, DLs can permit or facilitate the MRS to update the robot state information in real-time. As shown in
The graphing node 655 can run in series with the DL node 650 on each robot and can be responsible for generating the network graph of the DMRS. The graphing node 655 can merge the GL and LL entries and sort them in chronological order. The sorted list of entries can be used to generate a real-time network graph. The graph can be refreshed at every DL update instance. Although the graphing node 655 can iterate through the entire sorted ledger entries during every DL update instance, it can be a vital process to ensure that the neighborhood can be accurately updated. For example, if a new robot merged with the DMRS, it can contain ledger entries with time stamps that precede ledger entries of the DMRS. The graphing node 655 can therefore sort the merged ledger entries chronologically and process the entire ledger to generate the network graph. The graphing node 655 can provide an intuitive mechanism to impart a human operator full awareness of the MRS.
For an MRS include n robots, a single query by a robot can receive n−1 responses, thus n queries can receive n(n−1) responses, for example, as the number of robots in the MRS can increase the processing time can increase.
Regardless of the number of unidentified entities in the DSS, the querying robot can automatically identify any non-responding entity as a non-robot. Thus, the average identification time for a non-robot obstacle does not change with the number of non-robots. However, a querying robot's ED tie with a non-robot and a responding robot can cause the responding robot to reply with a SRD, triggering the querying robot to perform a random motion to break the ED symmetry. The delay associated with this scenario can be similar to MRD/SRD correction time shown in
According to an exemplary embodiment of the present disclosure, two or more independent robots can be tasked to explore and map separate sections of an unexplored area. Upon completing their assigned exploration task, each robot can converge at a common location (e.g., which can be predetermined ahead of time or which can be set ad hoc after completing the assigned exploration task). After identifying each other, the robots can then share their respective maps with peers. Further, each robot can merge the maps transmitted by peers with its own acquired map to produce a new map of the entire area (e.g., which can include a larger area than for each robot individually).
In order to generate a distributed map, the exemplary system, method and computer-accessible medium can share an occupancy grid map (“OGM”) via a peer-to-peer (“P2P”) network without loss by encrypting the OGM to a string message on the sender side and decrypting on the receiver side.
During the merging of a map from different robots, the exemplary system, method and computer-accessible medium can, e.g., crop a region of interest (“ROI”) using a circular region around the current position of the robots. Each robot can then estimate several approximate poses (e.g., positions and orientations) of the sending robot and use these poses to perform an iterative closest point (“ICP”) procedure to ensure the most optimal registration.
In order to generate a combined map, according to one example, the exemplary robots can utilize the exemplary DRE procedure, for example, as described herein, to identify each other during initial contact. Using the exemplary DRE, the robots can acquire the approximate pose of the sending robot relative to itself. This information can then be utilized to perform a map merging procedure, which can scatter multiple random poses (e.g., 10, 20, 30, 40, etc.) in close proximity (e.g., a 5 cm, a 10 cm, a 15 cm radius, etc.) to the initial estimate. The estimated points can then be used as initial points for the exemplary ICP procedure.
After merging the maps, the robots can store the received map locally in its distributed ledger. This information can be tagged with a timestamp and the identity and the approximate pose of the robot that provided it. This entry can facilitate another robot in the future to merge this information to its own map by calculating the relative pose with respect to itself.
The exemplary DRE can be used to identify and localize neighbors in a decentralized multi-robot system. This can provide a human operator a novel and intuitive interface for monitoring the neighborhoods and states of the MRS agents. As shown in the diagram of
In addition to storing the network graph information, the ledger can be used to identify and update the current state of all agents of the MRS in real-time. For example, agents in the MRS can be used to share intent and cast a vote for collective decision making. Moreover, objects in another object's shadow cannot be tracked or detected by the current tracking methodology. In some exemplary embodiments of the present disclosure, a Kalman filter based multi-target tracking can be included for improved object tracking. The exemplary system can be implemented for agent-to-agent cooperation by communicating state and intent messages in a swarm of self-driving vehicles via direct short-range communication (“DSRC”). Additionally, encrypted conversations between the robots can be utilized, creating a secure and immutable distributed ledger.
As shown in
Further, the exemplary processing arrangement 1805 can be provided with or include an input/output ports 1835, which can include, for example a wired network, a wireless network, the internet, an intranet, a data collection probe, a sensor, etc. As shown in
The foregoing merely illustrates the principles of the disclosure. Various modifications and alterations to the described embodiments will be apparent to those skilled in the art in view of the teachings herein. It will thus be appreciated that those skilled in the art will be able to devise numerous systems, arrangements, and procedures which, although not explicitly shown or described herein, embody the principles of the disclosure and can be thus within the spirit and scope of the disclosure. Various different exemplary embodiments can be used together with one another, as well as interchangeably therewith, as should be understood by those having ordinary skill in the art. In addition, certain terms used in the present disclosure, including the specification, drawings and claims thereof, can be used synonymously in certain instances, including, but not limited to, for example, data and information. It should be understood that, while these words, and/or other words that can be synonymous to one another, can be used synonymously herein, that there can be instances when such words can be intended to not be used synonymously. Further, to the extent that the prior art knowledge has not been explicitly incorporated by reference herein above, it is explicitly incorporated herein in its entirety. All publications referenced are incorporated herein by reference in their entireties.
The following references are hereby incorporated by reference in their entireties.
https://www.intel.com/content/www/us/en/sports/olympic-games/drones.html.
This application relates to and claims priority from U.S. Patent Application No. 62/665,257, filed on May 1, 2018, the entire disclosure of which is incorporated herein by reference.
This invention was made with government support under grant numbers EEC-1542286, ITEST grant DRL-1614085, and DRK-12 grant DRL-1417769, awarded by the National Science Foundation. The government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
62665257 | May 2018 | US |