Navground

Latest version: v0.2.2

Safety actively analyzes 681775 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.2.2

Added

- Added to `core::Pose2` methods related to rigid transform.
- Exported `NAVGROUND_USES_DOUBLE` cmake option.

Fixed

- Python plugins are now correctly loaded in the CLI.
- Fixed errors in the documentation.

Changed

- Separated `Vector2Like` and `Vector2` in the Python stubs

Removed

0.2.1

Added

- `get_step_to_collision` method to `ExperimentalRun` and `RecordedExperimentalRun`

Fixed

- The scenario YAML encoding now uses the walls schema like the decoder, and not the line schema.

- Installing `navground_{core|sim}_py` without `ament` now include packages files.

- `Dataset::as_tensor` now returns a tensor view and no more a copy.

Changed

- It is now possible to set the stroke color of the Agents' SVG via a decorator.

Removed

0.2.0

Added

- Targets now have an optional path to follow to reach a pose or position. Behaviors support this path be defining a new virtual method `cmd_twist_along_path` whose default implementation is a form of carrot planner that uses two new parameters `path_tau` (over which time length to converge to the path), and `path_look_ahead` (how far ahead to look when following the path). The equivalent controller actions now have an additional parameter `along_path`.

- Added `PathTask` Python class to follow a path composed by a list of points.

- Behaviors can now overwrite a new virtual method `cmd_twist_towards_pose` to implement more specific control strategies to reach a pose. The default implementation moves straight to the pose and then rotates in place.

- Added functions `to_{relative|absolute}_point` to `core/common.h` to convert the frame of reference of points (not just vectors).

- Exposed additional `core/common.h` functions to Python

- `Buffer` exposes the stride of their multi-dimensional arrays.

- Added `name` to prefix all fields of the data updated by a `Sensor`

- Added wheels for Python 3.13

- Added `no-plugins` option to the CLI commands to disable loading plugins.

- Added `echo` command to load from YAML and then print the YAML representation of an object.

- Added `plugins` command to list loaded plugins.

- Added `OdometryStateEstimation` sensor.

- Added simple `LimitTwistModulation` modulation to clip the twist command.

- Added manual control mode using `follow_manual_command`: the controller will ignore the actual behavior and return the manual command.
Fixed

- Resetting a sampler with `once=true` now correctly sets its index to 0.

- Recording keys associated to agents (for tasks and sensing) do now correctly make use of the config `use_agent_uid_as_key`.

Changed

- Renamed `normalize` to `normalize_angle`

- All kinematics now have default values in their constructors and uses infinite to represent unconstrained values, like, e.g., maximal angular speed. Negative values are also interpreted as unconstrained.

- `TwoWheelsDifferentialDriveKinematics` now supports additional (control) limitation in angular, forward and backward speed. It also supports moving backwards, although it is disabled by default for back compatibility.

- Removed const-ness from `Task::prepare`

- Removed const-ness from `StateEstimation::prepare` and `StateEstimation::update`.

- `LidarStateEstimation` is now more realistic, supporting offset positions and (normal) rangings errors.

Removed

0.1.0

Added

- This is the first version with wheels **released on PyPi** and github
- Core: add `__main__` to `navground.core` similar to `navground.sim`

Fixed

Changed

- Docs and docker files reflect now the different ways we have to install navground (pip and/or build from source) and the different ways the CLI commands are exposed.
- Binder now uses a `requirement.txt` file instead of an custom docker image.
- `navground_py` and `navground` CLI are now more similar.

Removed

0.0.6

Added

- The `navground` executable that groups together all `navground_sim` commands.
- The `navground_py` executable that groups together all `navground_sim_py` commands.
- Github actions to build the packages and distribute wheels.

Fixed

- Switched from the deprecated `pkg_resources` to `importlib`.
- Compilation on Linux by linking to `Threads`
- Docstrings generation now works in Windows too and from virtual envs.
- Avoided that missing docstrings break the whole build.
- Core:
- behaviors do now make use of agent id when computing the social margin
- Sim:
- now handle empty datasets correctly.
- videos frame are now constrained to have even dimensions as required to correctly render them.
- recorded experiment now report collisions correctly.
Changed

- Separated the python package `navground_sim_py` from the C++ package `navground_sim`.
- Changed package name from `navground_py` to `navground_core_py`.
- Ament is now optional.
- Update the installation instructions.
- All Python dependencies but `numpy` are now optional for `navground_sim_py`.
- Replaced of C math functions with their C++ stdlib equivalent.
- Core:
- speeded up collision computation, avoiding unnecessary conversions.
- Sim:
- recording the initial state of the world (as YAML) is now optional
- using `multiprocessing` is now an opt-in.

Removed

0.0.5

Added


- Core:

- algebraic and geometric operators to Disc and Neighbor
- added custom YAML serialization/deserialization to registered subclasses (C++ and Python)
- behavior modulations
- acceleration limiting modulation
- motor PID modulation
- behavior tag manipulation from Python
- dynamic two-wheeled diff drive kinematics

- Sim:

- Eigen tensor view of datasets
- jumping to time steps in recorded runs
- user customizable World termination criteria
- `World` bounds property
- grid, agent following, rotation and trimming to visualization/videos
- support to make videos from simulated runs
- python (sub) modules for notebook and pyplot
- exposed random generator (seed) in Python
- sensor combination and boundary sensor
- recording sensor readings and neighbors
- experiment init callback
- method to extract collision "events"

- Python:
- stubs for core and sim
- increased pickle support

Fixed

- Corrected (registered) Python sub-classes pickling
- Lines were sometimes ignored by ORCA
- Replaced implicit zero eigen vectors with explicit `Vector2::Zero()`` calls

Changed

- Core:

- improved ORCA: switched to most recent library version, new options, exposed ORCA lines, neighbor computation aligned to RVO2 implementation
- improved HRVO: new options and cleaned up
- improved SocialForce: exposed options
- it is now possible to instantiate "empty" behaviors from YAML
- refactored `Behavior::compute_cmd` into public not virtual class and protected virtual internal implementation

- Sim:

- group number is now a random variable
- function to sample discs
- lattice implementation does not use ghosts anymore
- refactored World preparation and validity checks
- requires now `multiprocess` instead of `multiprocessing`
- added option to report nearest point instead of center and id to `DiscsStateEstimation`
- wall/obstacle YAML include Line/disc as an child now
- corrected collision with walls
- scenario properties are now random variables too.
- experiments now stores Python probes
- samplers reset seed is now optional

Removed

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.