Skip to main content
Ctrl+K

navground 0.7.0.dev documentation

Contents:

  • Introduction
  • Installation
    • PyPi
    • Github release
    • Docker
    • Building from source
    • Step-by-step Instructions
    • Setup a development environment
    • Troubleshooting
  • First Steps
  • Command Line Interface
  • A tour of navground
  • Packages
    • navground_core
    • navground_core_py
    • navground_sim
    • navground_sim_py
    • navground_examples
    • navground_examples_py
    • navground_examples_yaml
    • navground_demos
    • navground_minimal_plugin_cpp
    • navground_minimal_plugin_py
  • Tutorials
    • Designing an experiment
    • Running and analysing experiments (in memory)
    • Running and analysing experiments (HFD5)
    • Visualize a simulation
    • Load and playing back recorded experiments
    • Deadlocks and Collisions
    • Behavior Modulations
    • Sensors
    • World attributes
    • Scenarios generate worlds
  • Guides
    • How to extend navground
      • How to integrate a C++ component
      • How to integrate a Python component
      • Behaviors
      • Behavior groups
      • Behavior modulations
      • Kinematics
      • State Estimations
      • Tasks
      • Scenarios
    • How to parallelize the execution of an experiment
    • How to record custom data in experiments
    • How to build without the ROS build tools
    • How to validate code
  • Components
    • Behaviors
      • Dummy
      • Optimal Reciprocal Collision Avoidance (ORCA)
      • Hybrid Velocity Obstacle (HRVO)
      • Human-like (HL)
      • Social Force
    • Behavior Modulations
      • Limiting the acceleration
      • Limiting the twist
      • Motorized Wheels PID
      • Relaxation
    • Kinematics
      • Omni-directional
      • Ahead
      • Two-wheeled differential drive
      • Two-wheeled differential drive with limited torque
      • Four-wheeled omnidirectional drive
      • Bicycle
    • State Estimations
      • Geometric with limited range
      • Discs
      • Odometry
      • Lidar
      • Boundary
      • Local GridMap
      • Marker
    • Tasks
      • Direction
      • Waypoints
      • GoToPose
      • Path
    • Scenarios
      • Antipodal
      • Corridor
      • Cross
      • Cross Torus
  • Background Information
    • Two-wheeled kinematics
    • Accessors
    • Attributes vs Properties
  • Reference
    • Core
      • C++ API
        • Types
        • Geometry
        • Auto registration
        • Attributes
        • YAML
        • Kinematics
        • Target
        • Behaviors
        • Environment State
        • Computing collisions
        • Social margin
        • Behavior Modulations
        • Controller
        • Helpers
        • Build info
      • Python API
        • Geometry
        • Auto registration
        • Attributes
        • YAML
        • Kinematics
        • Target
        • Behaviors
        • Environment State
        • Computing collisions
        • Social margin
        • Behavior Modulations
        • Controller
        • Build info
      • YAML Schemas
        • Geometry
        • Registered components
        • Attributes
        • Kinematics
        • Social margin
        • Behavior Modulation
        • Environment State
        • Behavior
    • Simulation
      • C++ API
        • World
        • Agent
        • State estimations
        • Tasks
        • Sampling
        • Scenarios
        • Experiments
        • YAML
      • Python API
        • World
        • Agent
        • State estimations
        • Tasks
        • Sampling
        • Scenarios
        • Experiments
        • YAML
        • Plugins
        • Helpers
        • Visualization
      • YAML Schemas
        • Agent
        • Task
        • State estimation
        • World
        • Sampling
        • Scenario
        • Experiment
  • .rst

navground_examples

Contents

  • Behaviors
    • Basics
    • Group
    • Benchmark
    • YAML
  • Behavior component
  • Collisions
    • Basics
    • Cache
  • Controllers
    • Basics
    • Three dimensional
    • Asynchronous
  • Scenarios
    • Register
    • YAML
    • Groups
    • Benchmark
  • Scenario component
  • World
    • Component
    • Register
    • YAML
  • Custom recordings

navground_examples#

A packages with examples of using navground from C++.

Behaviors#

directory:

src/behavior

Rely only on navground_core.

Basics#

file:

behavior.cpp

How to instantiate and apply a behavior to avoid a circular obstacle.

Group#

file:

behavior_group.cpp

How to define and instantiate behaviors groups.

Benchmark#

file:

benchmark.cpp

Measures the computation time is requires to move 20 agents in a crossings for 1000 steps.

YAML#

file:

echo_yaml.cpp

How to load a behavior from YAML and how to dump it to YAML back.

Behavior component#

directory:

behavior_plugin

Shows how to define and register a new behavior and a new behavior group.

Collisions#

directory:

collision

Rely only on navground_core.

Basics#

file:

collision.cpp

How to compute free distance to collision with a set of obstacles.

Cache#

file:

cached_collision.cpp

How to compute free distance to collision with a set of obstacles and save it to a cache.

Controllers#

directory:

controller

Rely only on navground_core.

Basics#

file:

controller.cpp

How to use the controller API to move to a target point.

Three dimensional#

file:

controller_3d.cpp

How to use the 3D controller API to move to a 3D target point.

Asynchronous#

file:

controller_async.cpp

How to use the action callbacks to move back and forth between two way-points.

Scenarios#

directory:

scenario

Rely on navground_core and navground_sim.

Register#

file:

scenario_registered.cpp

How to list registered scenarios and load one of them, and use it to sample a world.

YAML#

file:

scenario_from_yaml.cpp

How to load a scenario from YAML and use it to sample a world.

Groups#

file:

scenario_with_group.cpp

How to define a scenario with groups.

Benchmark#

file:

benchmark_sim.cpp

Measures the computation time is requires to move 20 agents in a crossings for 1000 steps in simulation.

Scenario component#

directory:

scenario_plugin

Shows how to register a new scenario.

World#

directory:

world

Rely on navground_core and navground_sim.

Component#

file:

world.cpp

How to instantiate a world with walls, obstacles and agents, and perform some simulation steps.

Register#

file:

world_from_yaml.cpp

How to load a world from YAML and perform some simulation steps.

YAML#

file:

world_with_groups.cpp

How to instantiate a world using groups.

Custom recordings#

file:

experiment_with_custom_probes.cpp

file:

run_with_custom_probes.cpp

How to use the experiment API to record custom data.

previous

navground_sim_py

next

navground_examples_py

Contents
  • Behaviors
    • Basics
    • Group
    • Benchmark
    • YAML
  • Behavior component
  • Collisions
    • Basics
    • Cache
  • Controllers
    • Basics
    • Three dimensional
    • Asynchronous
  • Scenarios
    • Register
    • YAML
    • Groups
    • Benchmark
  • Scenario component
  • World
    • Component
    • Register
    • YAML
  • Custom recordings

By Jérôme Guzzi, IDSIA

© Copyright 2023, Jérôme Guzzi, IDSIA.