armarx::navigation::skills Namespace Reference

Namespaces

namespace  constants
 This file is part of ArmarX.
 
namespace  detail
 
namespace  skill_ids
 

Classes

class  GuideHumanToRoom
 
struct  LocationNameResolverServices
 Everything needed to turn a spoken place into a location. More...
 
class  MoveRelativePlanar
 
class  MoveXMeters
 
class  NavigateRelativeSkill
 
class  NavigateTo
 
class  NavigateToAlternatives
 
class  NavigateToChargingStation
 Navigate to the charging station location and initiate charging. More...
 
class  NavigateToLocation
 
class  NavigateToNamedLocation
 Resolve a named location and navigate to it. More...
 
class  NavigatingSkillHelper
 
struct  ResolvedLocation
 A location in the navigation memory, identified the way the memory identifies it. More...
 
class  RotateTowards
 
class  RotateTowardsLocation
 Resolve a named location and rotate towards it. More...
 
class  RotateXDegrees
 

Functions

template<typename R>
bool is_ready (std::future< R > const &f)
 True if f holds a result (or has none to wait for). A deferred task is started here.
 
std::optional< ResolvedLocationresolveLocationName (const std::string &locationName, const LocationNameResolverServices &services, double minMatchRatio, bool useObjectLocations)
 Resolve a human-readable place onto a location, the way NavigateToNamedLocation does.
 

Function Documentation

◆ is_ready()

template<typename R>
bool is_ready ( std::future< R > const & f)

True if f holds a result (or has none to wait for). A deferred task is started here.

Definition at line 62 of file NavigatingSkillHelper.h.

+ Here is the caller graph for this function:

◆ resolveLocationName()

std::optional< ResolvedLocation > resolveLocationName ( const std::string & locationName,
const LocationNameResolverServices & services,
double minMatchRatio,
bool useObjectLocations )

Resolve a human-readable place onto a location, the way NavigateToNamedLocation does.

Two stages, in this order:

  1. Objects: if useObjectLocations, the name is compared (exactly, case-insensitively) against the recognized names of the classes of the objects currently in the object pose memory. A match is turned into the location <ClassID>/inFrontOf, or its :<instance> variant where one exists.
  2. Locations: otherwise the name is fuzzy-matched against every location's entity name and its names.recognized, accepting the best match at or above minMatchRatio.

This lives on its own so that the skills which have to agree on what a place is – NavigateToNamedLocation and NavigateWithCart – cannot drift apart.

Returns
The resolved location, or nullopt if neither stage matched.

Definition at line 200 of file LocationNameResolver.cpp.