Swarm-SLAM  1.0.0
C-SLAM Framework
cslam.neighbors_manager.NeighborManager Class Reference

Public Member Functions

def __init__ (self, node, params)
 
def check_neighbors_in_range (self)
 
def local_robot_is_broker (self)
 
def select_from_which_kf_to_send (self, latest_local_id)
 
def select_from_which_match_to_send (self, latest_local_match_idx)
 
def useless_descriptors (self, last_kf_id)
 
def useless_matches (self, last_match_id)
 
def update_received_kf_id (self, other_robot_id, kf_id)
 
def get_unknown_range (self, descriptors)
 
def get_current_neighbors_callback (self, msg)
 

Public Attributes

 node
 
 params
 
 robot_id
 
 max_nb_robots
 
 neighbors_monitors
 
 subscriber
 
 neighbors_publisher
 

Detailed Description

Manage neighbors to keep track of which other robots are in communication range

Definition at line 8 of file neighbors_manager.py.

Constructor & Destructor Documentation

◆ __init__()

def cslam.neighbors_manager.NeighborManager.__init__ (   self,
  node,
  params 
)

Definition at line 11 of file neighbors_manager.py.

Member Function Documentation

◆ check_neighbors_in_range()

def cslam.neighbors_manager.NeighborManager.check_neighbors_in_range (   self)
Check which neighbors are in range

Definition at line 31 of file neighbors_manager.py.

Here is the caller graph for this function:

◆ get_current_neighbors_callback()

def cslam.neighbors_manager.NeighborManager.get_current_neighbors_callback (   self,
  msg 
)
Publish the current neighbors in range

Args:
    msg (String): Empty

Definition at line 171 of file neighbors_manager.py.

Here is the call graph for this function:

◆ get_unknown_range()

def cslam.neighbors_manager.NeighborManager.get_unknown_range (   self,
  descriptors 
)
_summary_

Args:
    descriptors (list): list of descriptors with ids info

Returns:
    range: indexes in list to process

Definition at line 147 of file neighbors_manager.py.

Here is the call graph for this function:

◆ local_robot_is_broker()

def cslam.neighbors_manager.NeighborManager.local_robot_is_broker (   self)
This method check if the local robot (that runs this node), is the
default broker based on its current neighbors.

Returns:
    bool: is the local robot the default broker 
    among the robots in range

Definition at line 48 of file neighbors_manager.py.

◆ select_from_which_kf_to_send()

def cslam.neighbors_manager.NeighborManager.select_from_which_kf_to_send (   self,
  latest_local_id 
)
This function finds the range of descriptors to send
so that we do not loose info

Definition at line 66 of file neighbors_manager.py.

◆ select_from_which_match_to_send()

def cslam.neighbors_manager.NeighborManager.select_from_which_match_to_send (   self,
  latest_local_match_idx 
)
This function finds the range of matches to send
so that we do not loose info

Definition at line 87 of file neighbors_manager.py.

◆ update_received_kf_id()

def cslam.neighbors_manager.NeighborManager.update_received_kf_id (   self,
  other_robot_id,
  kf_id 
)
Keep monitors up to date with received keyframes

Args:
    other_robot_id (int): other robot id
    kf_id (int): keyframe id

Definition at line 138 of file neighbors_manager.py.

Here is the caller graph for this function:

◆ useless_descriptors()

def cslam.neighbors_manager.NeighborManager.useless_descriptors (   self,
  last_kf_id 
)
Determines which descriptors are not useless and can be deleted

Args:
    last_kf_id (int): last keyframe id in the list of descriptors
Returns:
    int: the id of the first descriptor that is not useless

Definition at line 108 of file neighbors_manager.py.

◆ useless_matches()

def cslam.neighbors_manager.NeighborManager.useless_matches (   self,
  last_match_id 
)
Determines which matches are not useless and can be deleted

Args:
    last_match_id (int): last match id in the list of matches
Returns:
    int: the id of the first match that is not useless

Definition at line 123 of file neighbors_manager.py.

Member Data Documentation

◆ max_nb_robots

cslam.neighbors_manager.NeighborManager.max_nb_robots

Definition at line 15 of file neighbors_manager.py.

◆ neighbors_monitors

cslam.neighbors_manager.NeighborManager.neighbors_monitors

Definition at line 16 of file neighbors_manager.py.

◆ neighbors_publisher

cslam.neighbors_manager.NeighborManager.neighbors_publisher

Definition at line 28 of file neighbors_manager.py.

◆ node

cslam.neighbors_manager.NeighborManager.node

Definition at line 12 of file neighbors_manager.py.

◆ params

cslam.neighbors_manager.NeighborManager.params

Definition at line 13 of file neighbors_manager.py.

◆ robot_id

cslam.neighbors_manager.NeighborManager.robot_id

Definition at line 14 of file neighbors_manager.py.

◆ subscriber

cslam.neighbors_manager.NeighborManager.subscriber

Definition at line 25 of file neighbors_manager.py.


The documentation for this class was generated from the following file: