Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rmf_obstacle_ros2 #210

Merged
merged 74 commits into from
Mar 18, 2024
Merged

rmf_obstacle_ros2 #210

merged 74 commits into from
Mar 18, 2024

Conversation

Yadunund
Copy link
Member

@Yadunund Yadunund commented May 18, 2022

This PR introduces the rmf_obstacle_ros2 package. It depends on open-rmf/rmf_internal_msgs#42
The package currently provides:

  1. rmf_obstacle_ros2 library that provides
    a. Responder pure abstract classes that users may implement to take action on detection results.
    b. ObstacleManager to support users with building their own detection/responder piplelines
    c. Utility functions to convert between sensor_msgs types and Obstacles msg.

  2. lane_blocker executable that subscribes to /rmf_obstacles and decides whether to close/open lanes or adjust speed limits of lanes that have obstacles in their vicinities. Various thresholds may be adjusted via ROS 2 params.

TODO(YV): Move implementation of lane_blocker as a separate class that derives Responder. Then also provide a node that subscribes to /rmf_obstacles for processing all obstacles.

@codecov
Copy link

codecov bot commented May 18, 2022

Codecov Report

Merging #210 (247e019) into main (e9a0516) will decrease coverage by 0.06%.
The diff coverage is n/a.

❗ Current head 247e019 differs from pull request most recent head 069d52c. Consider uploading reports for the commit 069d52c to get more accurate results

@@            Coverage Diff             @@
##             main     #210      +/-   ##
==========================================
- Coverage   17.78%   17.72%   -0.07%     
==========================================
  Files         422      422              
  Lines       38906    39178     +272     
  Branches    18686    18900     +214     
==========================================
+ Hits         6919     6943      +24     
- Misses      24541    24654     +113     
- Partials     7446     7581     +135     
Flag Coverage Δ
tests 17.72% <ø> (-0.07%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...f_fleet_adapter/services/FindEmergencyPullover.cpp
...er/src/rmf_fleet_adapter/agv/FleetUpdateHandle.cpp
...dapter/src/read_only_blockade/FleetAdapterNode.cpp
...dapter/src/read_only_blockade/FleetAdapterNode.hpp
...mf_rxcpp/RxCpp-4.1.0/Rx/v2/src/rxcpp/rx-predef.hpp
...src/rmf_fleet_adapter/jobs/detail/impl_Rollout.hpp
...ask_ros2/src/rmf_task_ros2/bidding/AsyncBidder.cpp
...dapter/src/rmf_fleet_adapter/phases/IngestItem.cpp
.../rmf_fleet_adapter/test/services/test_FindPath.cpp
...er/src/rmf_fleet_adapter/phases/EndLiftSession.cpp
... and 834 more

Yadunund and others added 22 commits May 19, 2022 23:18
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
rmf_obstacle_ros2/package.xml Show resolved Hide resolved
rmf_obstacle_ros2/CMakeLists.txt Outdated Show resolved Hide resolved
rmf_obstacle_ros2/package.xml Outdated Show resolved Hide resolved
rmf_obstacle_ros2/src/lane_blocker/LaneBlocker.cpp Outdated Show resolved Hide resolved
rmf_obstacle_ros2/src/lane_blocker/test/CMakeLists.txt Outdated Show resolved Hide resolved
rmf_obstacle_ros2/src/lane_blocker/test/CMakeLists.txt Outdated Show resolved Hide resolved
rmf_obstacle_ros2/src/lane_blocker/test/CMakeLists.txt Outdated Show resolved Hide resolved
@ahcorde
Copy link

ahcorde commented Nov 18, 2022

There is an issue with this commit

the NLohmann's JSON version is not the required. At least in focal

  /__w/rmf_ros2/rmf_ros2/ros_ws/build/nlohmann_json_schema_validator_vendor/nlohmann_json_schema_validator-1063c9adbafc25f5a14bae15c3babdb039de86c6-prefix/src/nlohmann_json_schema_validator-1063c9adbafc25f5a14bae15c3babdb039de86c6/src/nlohmann/json-schema.hpp:28:4: error: "Please use this library with NLohmann's JSON version 3.8.0 or higher"
  #               error "Please use this library with NLohmann's JSON version 3.8.0 or higher"
                  ^

PranayShirodkar and others added 3 commits November 22, 2022 18:33
* add FleetUpdateHandle speed limit API to python bindings

Signed-off-by: Pranay Shirodkar <[email protected]>

* add continuous checker option for dynamic obstacles

Signed-off-by: Pranay Shirodkar <[email protected]>

* refactor Lane Close and Open msg building

Signed-off-by: Pranay Shirodkar <[email protected]>

* add speed limits

Signed-off-by: Pranay Shirodkar <[email protected]>

* Fix style

Signed-off-by: Yadunund <[email protected]>

* Fix const correctness and do not pass unordered_map by ref to publisher

Signed-off-by: Yadunund <[email protected]>

Signed-off-by: Pranay Shirodkar <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Co-authored-by: Yadunund <[email protected]>
Co-authored-by: Yadunund <[email protected]>
Signed-off-by: Alejandro Hernández Cordero <[email protected]>
Signed-off-by: Alejandro Hernández Cordero <[email protected]>
@ahcorde
Copy link

ahcorde commented Nov 24, 2022

@Yadunund related to this TODO 9bc9770

Is there any way to check if a lane is closed ? I can't find something usefull in the Lane class https://github.com/open-rmf/rmf_traffic/blob/main/rmf_traffic/include/rmf_traffic/agv/Graph.hpp#L173-L595

Signed-off-by: Alejandro Hernández Cordero <[email protected]>
@ahcorde
Copy link

ahcorde commented Nov 25, 2022

@Yadunund I implemented here the tf2_ros::MessageFilter 06f3da1 These two PRs are related

Signed-off-by: Alejandro Hernández Cordero <[email protected]>
Signed-off-by: Alejandro Hernández Cordero <[email protected]>
…between these functions

Signed-off-by: Alejandro Hernández Cordero <[email protected]>
…alization

Signed-off-by: Alejandro Hernández Cordero <[email protected]>
@Yadunund Yadunund changed the base branch from main to yadu/rmf_obstacle March 18, 2024 04:12
@Yadunund
Copy link
Member Author

We've decided to move this feature directly to https://github.com/open-rmf/rmf_obstacle_detectors.

I'll squash merge this branch into a newly created yadu/rmf_obstacle branch and then cherry-pick the commit over to the new repo.

@Yadunund Yadunund merged commit 354e6bd into yadu/rmf_obstacle Mar 18, 2024
3 of 4 checks passed
@Yadunund Yadunund deleted the feature/rmf_obstacle branch March 18, 2024 04:14
@Yadunund
Copy link
Member Author

Moved open-rmf/rmf_obstacle#21

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants