Skip to content

1. Unity simulation

SamVanderstraeten edited this page Apr 28, 2023 · 23 revisions

Simulation environment

You can download the (standalone) Unity scene on Blackboard, or via this link. A Unity installation is not required to run the simulation.

After unzipping, you should be able to start the simulation by simply executing ./warehouse.x86_64. The build is targeted for Linux systems, so this will not work on Windows.

If a Windows version is required, let us know. (but do remember that ROS2 will need to run in Windows as well in that case)

Latest version: warehouse-v1.8

Release 28/04

!IMPORTANT! This is a big update with a lot of fixes and some adjustments in some topics. Please read this summary and share it with the team!

  • Fixed JSON format shelf info
  • Fixed drop action for bots
  • Fixed charging stations service, should be visible as a service now
  • Added a new topic that continuously publishes the product code of the currently scanned object
  • Added a new topic that publishes the current 'forward' point of the robot (i.e. the point or direction it is facing) This can be used to determine the needed rotation during Path Execution.

You can find the details about these new topic on the 'Topics & services'-page.

Previous versions

  • v1.7 - Fixes: Fixed robot position data
  • v1.6 - Fixes: UI fixes, should scale better now
  • v1.5 - Fixes: Battery drain toggle
  • v1.4 - Fixes: Fixed rotation issues
  • v1.3 - Fixes: Fixed bot collisions
  • v1.2 - Fixes: Memory leak concerning texture use has been resolved.
  • v1.1 - Fixes: ROS2 topic fix. Topic data was not sent when the simulation window was not focused. This has been resolved.
  • v1.1 - Additions: Added version number in bottom right corner.
  • v1.0 - Fixes: Performance should be better now. /{bot}/command topic has been fixed.
  • Known bugs: The mice are acting weird. We should visit the vet.

Warehouse infrastructure

The warehouse is generated and manually adjusted to increase the complexity of the navigation graph.

At startup, all shelves contain some boxes. Every shelf contains boxes of a different product code. All boxes have a product code attached to them. This code can be scanned by the order picker and package sorter bots. (view topic info)

The warehouse also features a few special zones and objects:

  • docks are the zones in which new deliveries are placed. These packages can be sorted in the correct shelves by package sorter bots.
  • dropoffs provide places where order pickers can build the requested orders. One order should be prepared in one dropoff point.
  • charging stations can be used to charge the bot battery. When a bot is within a range of 1 meter of the charging station, it will charge automatically.

All information about these zones and objects can be retrieved by calling the right services.

User interaction

On startup, you'll see the main camera that is placed on the ceiling of the warehouse. This gives you an overview of the environment. Within the simulation, each bot has a separate camera.

Press C to cycle through the different cameras.

The simulation contains a simple UI that features minimal controls for the environment. Press ESC to:

  • drop a new package in one of the docks
  • clear a specific dropoff point
  • spawn a number of pests