This is a major release containing several features for the ROSCon 2024 workshop: "Hands-on with ROS 2 Deliberation Technologies"
Major features include:
* Ability to open/close hallways and storage locations.
* Simulating local, per-robot, object observability and detection actions.
* Simulating action delays, success probability, and battery depletion/charging.
* Improvements to navigation, including path canceling, runtime collision detection, planner resets, and simplified code.
* All high-level actions and task plans can now be canceled and return execution status, in both the core API and ROS interface.
* Improved ROS interface with additional features, as well as integration tests and ability to build the entire repo with colcon.
![image](https://github.com/user-attachments/assets/3505a65c-efe7-4c96-b43f-9b8b913363f5)
---
What's Changed
* Update GitHub actions and pre-commit by sea-bass in https://github.com/sea-bass/pyrobosim/pull/178
* Pin NumPy below 2.0.0 by sea-bass in https://github.com/sea-bass/pyrobosim/pull/179
* Unpin NumPy and do not upgrade pip in scripts and CI by sea-bass in https://github.com/sea-bass/pyrobosim/pull/180
* Improve setup script experience by sea-bass in https://github.com/sea-bass/pyrobosim/pull/183
* Add partial observability to robots by sea-bass in https://github.com/sea-bass/pyrobosim/pull/187
* Allow path planning failures to fail navigate actions by sea-bass in https://github.com/sea-bass/pyrobosim/pull/190
* Small fix to nav failure state tracking by sea-bass in https://github.com/sea-bass/pyrobosim/pull/192
* Cleanup navigation display and execution in GUI by sea-bass in https://github.com/sea-bass/pyrobosim/pull/193
* Fix GUI threading errors when clicking Navigate button by sea-bass in https://github.com/sea-bass/pyrobosim/pull/195
* Flesh out tests for RRT and PRM planner by sea-bass in https://github.com/sea-bass/pyrobosim/pull/196
* Add hallway open and close capabilities by sea-bass in https://github.com/sea-bass/pyrobosim/pull/198
* Fix yaw setting in location nav poses by sea-bass in https://github.com/sea-bass/pyrobosim/pull/201
* Unify navigation code and automatically extract robot location by sea-bass in https://github.com/sea-bass/pyrobosim/pull/202
* Simulate delays and failures when executing actions by sea-bass in https://github.com/sea-bass/pyrobosim/pull/205
* Add reference to "Hierarchically Decentralized Heterogeneous Multi-Robot Task Allocation System" paper by Kashid and Kumat by sea-bass in https://github.com/sea-bass/pyrobosim/pull/210
* Add path execution validation and abort by sea-bass in https://github.com/sea-bass/pyrobosim/pull/211
* Allow canceling actions and plans by sea-bass in https://github.com/sea-bass/pyrobosim/pull/214
* Run colcon tests in CI by sea-bass in https://github.com/sea-bass/pyrobosim/pull/216
* Add execution status to actions and plans by sea-bass in https://github.com/sea-bass/pyrobosim/pull/217
* Add ROS service to set location state by sea-bass in https://github.com/sea-bass/pyrobosim/pull/218
* Go through docs after latest changes by sea-bass in https://github.com/sea-bass/pyrobosim/pull/219
* Add test coverage to plan printing by sea-bass in https://github.com/sea-bass/pyrobosim/pull/220
* Extend Open/Close actions to storage locations by sea-bass in https://github.com/sea-bass/pyrobosim/pull/221
* Use signals and slots in GUI display methods by sea-bass in https://github.com/sea-bass/pyrobosim/pull/222
* Show path in GUI when the path is given beforehand + unify query to entity support in GUI vs. non-GUI actions by sea-bass in https://github.com/sea-bass/pyrobosim/pull/223
* Fix ROS 2 action abort paths by sea-bass in https://github.com/sea-bass/pyrobosim/pull/225
* Fix action status tracking by sea-bass in https://github.com/sea-bass/pyrobosim/pull/226
* Add ROS interface integration tests by sea-bass in https://github.com/sea-bass/pyrobosim/pull/227
* Handle path planning failures correctly in action interface by sea-bass in https://github.com/sea-bass/pyrobosim/pull/232
* Support getting local robot observations in world state ROS service by sea-bass in https://github.com/sea-bass/pyrobosim/pull/233
* Move action execution options to the robot definition by sea-bass in https://github.com/sea-bass/pyrobosim/pull/234
* Simulate robot battery usage and charging by sea-bass in https://github.com/sea-bass/pyrobosim/pull/235
* Enable Open, Close, and Detect actions in PDDL capabilities by sea-bass in https://github.com/sea-bass/pyrobosim/pull/237
* Require PySide6 6.4.0 or greater by sea-bass in https://github.com/sea-bass/pyrobosim/pull/238
* Add specialized ROS action servers for path planning and following by sea-bass in https://github.com/sea-bass/pyrobosim/pull/239
* Add specialized ROS action for object detection by sea-bass in https://github.com/sea-bass/pyrobosim/pull/240
* Add UI button to toggle collision polygon display (issue 200) by muhidabid in https://github.com/sea-bass/pyrobosim/pull/242
* Allow pyrobosim to be built and tested with colcon by sea-bass in https://github.com/sea-bass/pyrobosim/pull/246
* Make CI work from forks by sea-bass in https://github.com/sea-bass/pyrobosim/pull/245
* Simplify path planner API and allow planner resets by sea-bass in https://github.com/sea-bass/pyrobosim/pull/241
* Gracefully exit navigation action when target location is not specified by sea-bass in https://github.com/sea-bass/pyrobosim/pull/248
* Implemented Cancel Actions UI button (215) by muhidabid in https://github.com/sea-bass/pyrobosim/pull/247
* Add Reset Path Planner UI button by sea-bass in https://github.com/sea-bass/pyrobosim/pull/249
* 3.0.0 by sea-bass in https://github.com/sea-bass/pyrobosim/pull/250
New Contributors
* muhidabid made their first contribution in https://github.com/sea-bass/pyrobosim/pull/242
**Full Changelog**: https://github.com/sea-bass/pyrobosim/compare/2.0.0...3.0.0