Skip to content

Releases: jtebert/gridsim

Gridsim v0.4

20 Aug 19:44

Choose a tag to compare

Gridsim v0.4 Pre-release
Pre-release

See all changes in the documentation Changelog (with links to relevant methods and classes).

Added

  • You can now set the contents of a Message by key, without needing to create a new message.
  • When creating a ConfigParser, you can now choose to show warnings when getting a value that isn't in the config file
  • If a data directory (in the path for a Logger filename) does not exist, it will be created.
  • New method Logger.log_system_info() allows you to easily save information about the system on which the experiments are being run.
  • Paths for both Logger and .ImageEnvironment (used via World support using ~ to indicate home directory

Changed

  • Trying to have a Robot sample outside of the arena now returns None. Previously, this threw a lower-level error about an image index being out of range.
  • Decrease World tag opacity
  • Formatting: Changed to 100-character line limit (from 80).
  • [Under the hood] Renamed WorldEnvironment to ImageEnvironment

Fixed

  • Previously, if you tried to Robot.sample() a negative position in the World, it would loop the index around and give you the value of a position on the other side of the environment. Now, this is considered out of bounds and returns None.
  • Improve performance for drawing large number of tags in the world (by converting coordinates to integers).
  • Trying to use the Viewer without an environment image in the World would cause a crash. Now it doesn't.
  • Return type and documentation for Robot.sample() now matches that of the environment (returns None if sampling outside boundaries).
  • Fix broken utils.get_version() function.
  • Time in Logger is now stored as an integer (since it's ticks). Previously, it was a float.

Gridsim v0.3

29 Jun 16:34

Choose a tag to compare

Gridsim v0.3 Pre-release
Pre-release

TL;DR: You can now tag locations in the world, and there's a more intuitive API for messages.

See all changes in the documentation Changelog (with links to relevant methods and classes).

Added

  • Grid cells in the World can now be tagged with a color by the World.tag() method. (The color tag is only used by the Viewer when it draws the World.)
  • The Robot's Robot.sample() method now includes an option to tag the sampled location in the World with a color.
  • Message now has "truthiness": null messages are False and non-null messages are True.
  • Messages contents can be accessed by key with the Message.get() method, as well as still being able to retrieve the entire message dictionary contents.
  • Created this changelog

Changed

  • Message.tx_id() has been renamed to the (more informative) Message.sender.
  • Robot.init() isn't run until the robot is placed in the World. This allows robots to have access to World information (like the arena size) in the init() method.
  • [Under the hood] World's environments are abstracted to have empty and non-empty types, which cleans up code to get rid of reliance on checking for environments being None.
  • [Under the hood] Reduce reliance on cheating and accessing private variables and methods (underscore-prefixed methods/variables)

Removed

  • Message.is_null() has been removed. Instead, directly use the boolean conversion described above.

Fixed

  • Order of commands run on the robot resulted in incorrect movements (robot-specific Robot.move(), then Robot controller/loop function, then collision/environment-aware _move operation to move the robots which was using a different move command)
  • Remove mypy/flake8 from requirements, since they're for local development/linting.

Gridsim v0.2.1

20 Apr 19:19

Choose a tag to compare

Gridsim v0.2.1 Pre-release
Pre-release

This isn't even an update to the code; this is me figuring out how to manage/integrate releases on GitHub, PyPi, Read The Docs, and Travis CI.

Gridsim v0.2

20 Apr 19:11

Choose a tag to compare

Gridsim v0.2 Pre-release
Pre-release

This adds the ability to add images as background in a World, for display and sensing.

It also provides more complete documentation.

Gridsim 0.1.3

17 Apr 16:20

Choose a tag to compare

Gridsim 0.1.3 Pre-release
Pre-release

This is the first pre-release of my grid-based simulator.

It lacks any Robot sensing but allows full control of the Robots, as well as configuration and logging -- with a viewer.