armarx::navigation::server Namespace Reference

This file is part of ArmarX. More...

Namespaces

namespace  scene_provider
 

Classes

class  ArvizIntrospector
 
class  DrawerInterface
 
class  DummyExecutor
 Executor that doesn't do anything. More...
 
class  EmergencyStopInterface
 The robot's software emergency stop, as far as navigation needs to know it. More...
 
class  EventPublishingInterface
 A publisher the server navigator will use to notify others about events. More...
 
class  ExecutorInterface
 An executer the server navigator will use to send its control commands to. More...
 
struct  GlobalPathSubdivision
 
class  GoalReachedMonitor
 
class  GraphBuilder
 
class  IceEmergencyStop
 EmergencyStopInterface over the emergency-stop master. More...
 
class  IntrospectorInterface
 
class  MemoryIntrospector
 
class  MemoryParameterizationService
 
class  MemoryPublisher
 
struct  NavigationStack
 
class  Navigator
 
struct  ParametrizationRecord
 One navigation request's velocity profile, before and after parametrization. More...
 
class  PlatformControllerExecutor
 The PlatformUnitExecutor class. More...
 
class  PlatformUnitExecutor
 The PlatformUnitExecutor class. More...
 
struct  StackResult
 

Typedefs

using GoalReachedMonitorConfig = core::GoalReachedConfig
 
using GraphPath = std::vector<semrel::ShapeID>
 

Functions

armarx::PackagePath asPackagePath (const std::string &absfilepath)
 
GraphPath findShortestPath (core::Graph graph, const core::Graph::ConstVertex &startVertex, const core::Graph::ConstVertex &goalVertex)
 
bool operator== (const core::Graph::VertexAttrib &lhs, const core::Graph::VertexAttrib &rhs)
 
void writeParametrizationDump (const ParametrizationRecord &record, const std::string &path)
 Write record as JSON, for offline rendering with plot-navigation-request.
 

Variables

const core::arondto::Edge ARON_UNSET_EDGE_VALUES
 

Detailed Description

This file is part of ArmarX.

ArmarX is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

ArmarX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Author
Fabian Reister ( fabian dot reister at kit dot edu )
Date
2021

ArmarX is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

ArmarX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Author
Niklas Arlt ( niklas dot arlt at kit dot edu )
Date
2025

ArmarX is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

ArmarX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Author
Fabian Reister ( fabian dot reister at kit dot edu )
Christian R. G. Dreher ( c dot dreher at kit dot edu )
Date
2021

ArmarX is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

ArmarX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Author
Fabian Reister ( fabian dot reister at kit dot edu )
Date
2026

Typedef Documentation

◆ GoalReachedMonitorConfig

◆ GraphPath

using GraphPath = std::vector<semrel::ShapeID>

Definition at line 401 of file Navigator.cpp.

Function Documentation

◆ asPackagePath()

armarx::PackagePath asPackagePath ( const std::string & absfilepath)
inline

Definition at line 92 of file ArvizIntrospector.cpp.

+ Here is the call graph for this function:

◆ findShortestPath()

GraphPath findShortestPath ( core::Graph graph,
const core::Graph::ConstVertex & startVertex,
const core::Graph::ConstVertex & goalVertex )

Definition at line 404 of file Navigator.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator==()

bool operator== ( const core::Graph::VertexAttrib & lhs,
const core::Graph::VertexAttrib & rhs )

Definition at line 111 of file GraphBuilder.cpp.

◆ writeParametrizationDump()

void writeParametrizationDump ( const ParametrizationRecord & record,
const std::string & path )

Write record as JSON, for offline rendering with plot-navigation-request.

The navigator writes data, never pixels: plotting would put matplotlib into the process that drives the robot, and the embedded interpreter is in any case private to the algorithms target.

Writes path and a timestamped sibling, so the latest is always at a predictable location while a sequence of requests remains available for comparison.

Never throws: a debugging aid must not be able to abort a navigation request. Failures are logged and swallowed.

The schema deliberately reuses the key names of global_planning_analysis's result.json where the two overlap, so the same plotting functions read both.

Definition at line 112 of file ParametrizationDump.cpp.

+ Here is the call graph for this function:

Variable Documentation

◆ ARON_UNSET_EDGE_VALUES

const core::arondto::Edge ARON_UNSET_EDGE_VALUES
Initial value:
= []()
{
core::arondto::Edge edge;
edge.sourceVertexID = -1;
edge.targetVertexID = -1;
return edge;
}()

Definition at line 23 of file GraphBuilder.cpp.