-
Notifications
You must be signed in to change notification settings - Fork 11
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
ROS2 docking manager plugins #394
Conversation
Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com>
Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com>
Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com>
Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com>
Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com>
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Base branches to auto review (1)
Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThe changes to the Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant BehaviorTree
participant DockRobot
participant ActionServer
User->>BehaviorTree: Initiate Docking
BehaviorTree->>DockRobot: Set Goal
DockRobot->>ActionServer: Send Goal
ActionServer-->>DockRobot: Goal Accepted
DockRobot->>ActionServer: Monitor Result
ActionServer-->>DockRobot: Result Success
DockRobot-->>BehaviorTree: Notify Success
BehaviorTree-->>User: Docking Complete
sequenceDiagram
participant User
participant BehaviorTree
participant UndockRobot
participant ActionServer
User->>BehaviorTree: Initiate Undocking
BehaviorTree->>UndockRobot: Set Goal
UndockRobot->>ActionServer: Send Goal
ActionServer-->>UndockRobot: Goal Accepted
UndockRobot->>ActionServer: Monitor Result
ActionServer-->>UndockRobot: Result Success
UndockRobot-->>BehaviorTree: Notify Success
BehaviorTree-->>User: Undocking Complete
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
Outside diff range, codebase verification and nitpick comments (7)
panther_manager/src/plugins/action/undock_robot_action_node.cpp (2)
39-51
: Consider logging additional result details.In
onResultReceived
, while the success and error code are set, consider logging additional details from the result to aid in debugging and monitoring.
60-63
: Consider expandingonHalt
functionality.The
onHalt
method currently logs a message. Consider adding any necessary cleanup or state reset logic if applicable.panther_manager/include/panther_manager/plugins/action/undock_robot_action_node.hpp (1)
29-61
: Add documentation for class methods.The methods in
UndockRobotAction
lack documentation. Adding comments explaining the purpose and usage of each method would improve readability and maintainability.panther_manager/include/panther_manager/plugins/action/dock_robot_action_node.hpp (1)
29-65
: Add documentation for class methods.The methods in
DockRobotAction
lack documentation. Adding comments explaining the purpose and usage of each method would improve readability and maintainability.panther_manager/src/plugins/action/dock_robot_action_node.cpp (2)
63-76
: Consider logging additional result details.In
onResultReceived
, while the success and error code are set, consider logging additional details from the result to aid in debugging and monitoring.
85-88
: Consider expandingonHalt
functionality.The
onHalt
method currently logs a message. Consider adding any necessary cleanup or state reset logic if applicable.panther_manager/test/utils/plugin_test_utils.hpp (1)
161-161
: Document new member variableserver_
.The new member variable
server_
should be documented to clarify its purpose and usage within the class.
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (8)
- panther_manager/CMakeLists.txt (3 hunks)
- panther_manager/include/panther_manager/plugins/action/dock_robot_action_node.hpp (1 hunks)
- panther_manager/include/panther_manager/plugins/action/undock_robot_action_node.hpp (1 hunks)
- panther_manager/src/plugins/action/dock_robot_action_node.cpp (1 hunks)
- panther_manager/src/plugins/action/undock_robot_action_node.cpp (1 hunks)
- panther_manager/test/plugins/action/test_dock_robot_action_node.cpp (1 hunks)
- panther_manager/test/plugins/action/test_undock_robot_action_node.cpp (1 hunks)
- panther_manager/test/utils/plugin_test_utils.hpp (3 hunks)
Additional comments not posted (22)
panther_manager/src/plugins/action/undock_robot_action_node.cpp (1)
53-58
: Verify error handling coverage inonFailure
.The
onFailure
method logs the error but does not take any corrective action. Ensure that this behavior aligns with the overall error handling strategy.panther_manager/src/plugins/action/dock_robot_action_node.cpp (1)
78-83
: Verify error handling coverage inonFailure
.The
onFailure
method logs the error but does not take any corrective action. Ensure that this behavior aligns with the overall error handling strategy.panther_manager/test/utils/plugin_test_utils.hpp (1)
117-133
: Ensure thread safety inCreateAction
.The
CreateAction
method creates a new node and executor thread. Ensure that the node and executor are properly managed and consider potential thread safety issues.panther_manager/test/plugins/action/test_undock_robot_action_node.cpp (6)
67-78
: Test caseGoodLoadingUndockRobotActionPlugin
is well-implemented.The test correctly verifies that the
UndockRobotAction
plugin loads without exceptions when provided with valid parameters.
80-91
: Test caseWrongLoadingUndockRobotActionPlugin
is correctly implemented.The test verifies that a
BT::RuntimeError
is thrown when an invalid action name is used.
93-109
: Test caseWrongCallUndockRobotActionServerNotInitialized
is valid.The test correctly expects a failure status when the action server is not initialized.
111-128
: Test caseWrongCallUndockRobotActionServerWithNoDockType
is correctly implemented.The test verifies that a failure status is returned when the
dock_type
parameter is empty.
130-146
: Test caseCallUndockRobotActionServerFailure
is valid.The test correctly expects a failure status when the goal response is rejected.
148-165
: Test caseCallUndockRobotActionServerSuccess
is well-implemented.The test correctly expects a success status when the action server processes the request successfully.
panther_manager/test/plugins/action/test_dock_robot_action_node.cpp (9)
68-81
: Test caseGoodLoadingDockRobotActionPlugin
is well-implemented.The test correctly verifies that the
DockRobotAction
plugin loads without exceptions when provided with valid parameters.
84-95
: Test caseWrongLoadingDockRobotActionPlugin
is correctly implemented.The test verifies that a
BT::RuntimeError
is thrown when an invalid action name is used.
97-115
: Test caseWrongCallDockRobotActionServerNotInitialized
is valid.The test correctly expects a failure status when the action server is not initialized.
117-134
: Test caseWrongCallDockRobotActionServerWithNoDockID
is correctly implemented.The test verifies that a failure status is returned when the
dock_id
parameter is missing.
136-153
: Test caseCallDockRobotActionServerWithoutDockID
is valid.The test correctly expects a success status when the
use_dock_id
parameter is set to false.
155-175
: Test caseCallDockRobotActionServerWithEmptyDockID
is correctly implemented.The test verifies that a failure status is returned when the
dock_id
parameter is empty.
177-197
: Test caseCallDockRobotActionServerWithEmptyDockType
is correctly implemented.The test verifies that a failure status is returned when the
dock_type
parameter is empty.
199-217
: Test caseCallDockRobotActionServerWithNavigateToStagingPoseFailure
is valid.The test correctly expects a failure status when the goal response is rejected.
220-239
: Test caseCallDockRobotActionServerWithNavigateToStagingPoseSuccess
is well-implemented.The test correctly expects a success status when the action server processes the request successfully.
panther_manager/CMakeLists.txt (4)
20-21
: Addition ofopennav_docking_msgs
to dependencies is appropriate.The inclusion of
opennav_docking_msgs
is necessary for the new docking and undocking functionalities.
59-61
: Addition ofdock_robot_bt_node
library is appropriate.The new shared library supports the docking action node functionality.
63-65
: Addition ofundock_robot_bt_node
library is appropriate.The new shared library supports the undocking action node functionality.
148-160
: Addition of test cases for docking and undocking action nodes is appropriate.The new test configurations ensure that the functionalities are covered by unit tests, enhancing robustness.
panther_manager/src/plugins/action/undock_robot_action_node.cpp
Outdated
Show resolved
Hide resolved
panther_manager/include/panther_manager/plugins/action/dock_robot_action_node.hpp
Outdated
Show resolved
Hide resolved
panther_manager/include/panther_manager/plugins/action/dock_robot_action_node.hpp
Outdated
Show resolved
Hide resolved
panther_manager/test/plugins/action/test_dock_robot_action_node.cpp
Outdated
Show resolved
Hide resolved
panther_manager/test/plugins/action/test_dock_robot_action_node.cpp
Outdated
Show resolved
Hide resolved
panther_manager/test/plugins/action/test_dock_robot_action_node.cpp
Outdated
Show resolved
Hide resolved
panther_manager/test/plugins/action/test_dock_robot_action_node.cpp
Outdated
Show resolved
Hide resolved
panther_manager/include/panther_manager/plugins/action/undock_robot_action_node.hpp
Outdated
Show resolved
Hide resolved
| changed DockRobotAction to DockRobot Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Outside diff range, codebase verification and nitpick comments (1)
panther_manager/src/plugins/action/dock_robot_node.cpp (1)
23-27
: Ensure consistency in error handling.The error message for the
dock_type
input is clear. Ensure similar clarity and consistency for other error messages in the method.
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (8)
- panther_manager/CMakeLists.txt (3 hunks)
- panther_manager/include/panther_manager/plugins/action/dock_robot_node.hpp (1 hunks)
- panther_manager/include/panther_manager/plugins/action/undock_robot_node.hpp (1 hunks)
- panther_manager/src/plugins/action/dock_robot_node.cpp (1 hunks)
- panther_manager/src/plugins/action/undock_robot_node.cpp (1 hunks)
- panther_manager/test/plugins/action/test_dock_robot_node.cpp (1 hunks)
- panther_manager/test/plugins/action/test_undock_robot_node.cpp (1 hunks)
- panther_manager/test/utils/plugin_test_utils.hpp (3 hunks)
Files skipped from review as they are similar to previous changes (2)
- panther_manager/CMakeLists.txt
- panther_manager/test/utils/plugin_test_utils.hpp
Additional context used
Learnings (5)
Common learnings
Learnt from: delihus PR: husarion/panther_ros#394 File: panther_manager/src/plugins/action/undock_robot_action_node.cpp:22-37 Timestamp: 2024-08-23T10:51:30.231Z Learning: The `dock_type` parameter in the `setGoal` method of the `UndockRobotAction` class cannot have a default value because it is essential for specifying the type of charging dock.
panther_manager/src/plugins/action/undock_robot_node.cpp (1)
Learnt from: delihus PR: husarion/panther_ros#394 File: panther_manager/src/plugins/action/undock_robot_action_node.cpp:22-37 Timestamp: 2024-08-23T10:51:30.231Z Learning: The `dock_type` parameter in the `setGoal` method of the `UndockRobotAction` class cannot have a default value because it is essential for specifying the type of charging dock.
panther_manager/include/panther_manager/plugins/action/undock_robot_node.hpp (1)
Learnt from: delihus PR: husarion/panther_ros#394 File: panther_manager/src/plugins/action/undock_robot_action_node.cpp:22-37 Timestamp: 2024-08-23T10:51:30.231Z Learning: The `dock_type` parameter in the `setGoal` method of the `UndockRobotAction` class cannot have a default value because it is essential for specifying the type of charging dock.
panther_manager/include/panther_manager/plugins/action/dock_robot_node.hpp (1)
Learnt from: delihus PR: husarion/panther_ros#394 File: panther_manager/src/plugins/action/undock_robot_action_node.cpp:22-37 Timestamp: 2024-08-23T10:51:30.231Z Learning: The `dock_type` parameter in the `setGoal` method of the `UndockRobotAction` class cannot have a default value because it is essential for specifying the type of charging dock.
panther_manager/src/plugins/action/dock_robot_node.cpp (1)
Learnt from: delihus PR: husarion/panther_ros#394 File: panther_manager/src/plugins/action/undock_robot_action_node.cpp:22-37 Timestamp: 2024-08-23T10:51:30.231Z Learning: The `dock_type` parameter in the `setGoal` method of the `UndockRobotAction` class cannot have a default value because it is essential for specifying the type of charging dock.
Additional comments not posted (36)
panther_manager/src/plugins/action/undock_robot_node.cpp (4)
21-35
: LGTM! Ensuredock_type
is always provided.The
setGoal
method correctly checks for the presence ofdock_type
andmax_undocking_time
inputs. The learning confirms thatdock_type
cannot have a default value, which aligns with the implementation.
38-49
: LGTM!The
onResultReceived
method correctly sets the output ports and returns the appropriate node status based on the result's success.
52-57
: LGTM!The
onFailure
method correctly logs the error and returns a failure status.
59-62
: LGTM!The
onHalt
method correctly logs an informational message indicating the node has been halted.panther_manager/include/panther_manager/plugins/action/undock_robot_node.hpp (6)
36-40
: LGTM!The constructor for
UndockRobot
correctly initializes the base class with the provided parameters.
42-42
: LGTM!The
setGoal
method is correctly declared to override the base class method.
44-44
: LGTM!The
onHalt
method is correctly declared to override the base class method.
46-46
: LGTM!The
onResultReceived
method is correctly declared to override the base class method.
48-48
: LGTM!The
onFailure
method is correctly declared to override the base class method.
50-61
: LGTM!The
providedPorts
method correctly defines input and output ports for the behavior tree. Thedock_type
input port aligns with the learning that it cannot have a default value.panther_manager/include/panther_manager/plugins/action/dock_robot_node.hpp (6)
36-40
: LGTM!The constructor for
DockRobot
correctly initializes the base class with the provided parameters.
41-41
: LGTM!The
setGoal
method is correctly declared to override the base class method.
43-43
: LGTM!The
onHalt
method is correctly declared to override the base class method.
45-45
: LGTM!The
onResultReceived
method is correctly declared to override the base class method.
47-47
: LGTM!The
onFailure
method is correctly declared to override the base class method.
49-63
: LGTM!The
providedPorts
method correctly defines input and output ports for the behavior tree. The ports are well-documented and align with the expected functionality.panther_manager/src/plugins/action/dock_robot_node.cpp (6)
29-33
: Consider using default values for optional inputs.The
use_dock_id
input defaults tofalse
if not set. Ensure this aligns with the intended behavior and document it if necessary.
51-57
: Clarify error handling formax_staging_time
.The error message for
max_staging_time
is triggered only ifnavigate_to_staging_pose
is true. Ensure this conditional logic is intentional and documented.
62-74
: LGTM!The method correctly sets outputs based on the received result and returns the appropriate status.
77-81
: LGTM!The method correctly logs the error and returns a failure status.
84-86
: LGTM!The method correctly logs an informational message on halt.
91-92
: LGTM!The plugin registration appears correct and follows the expected pattern.
panther_manager/test/plugins/action/test_undock_robot_node.cpp (6)
66-77
: LGTM!The test case correctly verifies the successful loading of the
UndockRobot
plugin with valid parameters.
79-90
: LGTM!The test case correctly checks for an exception when loading the plugin with invalid parameters.
92-108
: LGTM!The test case correctly verifies failure when the server is not initialized.
110-126
: LGTM!The test case correctly checks for failure when the
dock_type
is not provided.
129-144
: LGTM!The test case correctly verifies failure when the server rejects the goal.
147-163
: LGTM!The test case correctly verifies success when the server accepts and executes the goal.
panther_manager/test/plugins/action/test_dock_robot_node.cpp (8)
64-77
: LGTM!The test case correctly verifies the successful loading of the
DockRobot
plugin with valid parameters.
80-90
: LGTM!The test case correctly checks for an exception when loading the plugin with invalid parameters.
93-110
: LGTM!The test case correctly verifies failure when the server is not initialized.
113-129
: LGTM!The test case correctly checks for failure when the
dock_id
is not provided.
132-148
: LGTM!The test case correctly verifies success when
use_dock_id
is false, even ifdock_id
is not provided.
151-170
: LGTM!The test case correctly checks for failure when
dock_id
is empty butuse_dock_id
is true.
173-192
: LGTM!The test case correctly verifies failure when
dock_type
is empty.
195-213
: LGTM!The test case correctly checks for failure when the goal is rejected with
navigate_to_staging_pose
set to true.
Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com>
panther_manager/include/panther_manager/plugins/action/dock_robot_node.hpp
Outdated
Show resolved
Hide resolved
panther_manager/include/panther_manager/plugins/action/undock_robot_node.hpp
Outdated
Show resolved
Hide resolved
panther_manager/include/panther_manager/plugins/action/dock_robot_action_node.hpp
Outdated
Show resolved
Hide resolved
panther_manager/test/plugins/action/test_dock_robot_action_node.cpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (3)
- panther_manager/include/panther_manager/plugins/action/dock_robot_node.hpp (1 hunks)
- panther_manager/include/panther_manager/plugins/action/undock_robot_node.hpp (1 hunks)
- panther_manager/test/plugins/action/test_dock_robot_node.cpp (1 hunks)
Files skipped from review due to trivial changes (1)
- panther_manager/include/panther_manager/plugins/action/dock_robot_node.hpp
Files skipped from review as they are similar to previous changes (2)
- panther_manager/include/panther_manager/plugins/action/undock_robot_node.hpp
- panther_manager/test/plugins/action/test_dock_robot_node.cpp
Merge to |
* added half tested panther_docking package Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added tests Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added redme Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * run precommit Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fix typo Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * After coderabbit review Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * fixed parameters | fixed exporting_package Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Adjust cmake Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added getParameters and declareParameters | review suggestions Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * added offsetPose | moved transformPose to ros_utils Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * removed hardware deps Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Moved TransformPose to tf2_utils Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * added filter description Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * removed realtime_tools Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Modef OffsetFunction utils Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * added and applied ArePosesNear() Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * fix tf utils header guard Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added comment Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added locking node Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Update docking to develop (#399) * Implement testing POC * Namespace refactor * Add EStop to Gazebo * unify CMakeLists.txt files * Add dependencies * Add remapping * Rename files in panther_diagnostics package * Update after changes in panther_diagnostics * Rename config and launch file in manager package * Correct include guards in manager package * Restructure files tree in manager tests * Ros2 estop sim gui (#384) * New format of documentation (#369) * Change 3 package for demo * Improve ROS_API * fix links * Update * Update * Table improvements * Format * Save work * Save work * update * fix * fix * fix * fix * fix * Add API warning * Improve links * lights simplify * Create CONFIGURATION.md files * Typos * pre-commit * Apply suggestions from code review Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Save work * Final unification * Delete trash * typos * Update README.md * Update ROS_API.md * Update ROS_API.md * Update README.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Change initial warning to beta warning * improve warn rendering * rendering * Update Diagram * Add Dawid suggestions * Dot * Change diagram ext and typos * Do not describe external nodes * Add Dawid suggestons * Add last Dawid suggestions * Format * Pawel suggestions * Diagram improvements * Update * Diagram Visual --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Change scheme theme (#380) * unify CMakeLists.txt files (#381) * First working version * Ros2 increase bt service timeout (#382) * Parametrize and increase service timeout in managers * Format panther API drawio file * Add Estop GUI and docs --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Paweł Irzyk <108666440+pawelirh@users.noreply.github.com> Co-authored-by: Dawid Kmak <73443304+KmakD@users.noreply.github.com> * Update panther_gazebo/panther_hardware_plugins.xml Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Add david suggestion and change gui layout * Typos in Readme + estop publish on service call * Reorganize files in panther_lights * UPdate include guards in panther_lights * Reorganize files in panther_battery * Move estop to plugins folder * add nmea gps * Rename battery driver files * Rename shutdown hosts config * Inherit from IgnitionSystem * Change to Estop -> EStop * Reorganize panther_hardware_interfaces files * Dawid suggestions part 1 * Rename PantherSystem -> GzPantherSystem * Update references to files * Rename battery exec * Fix links in documentations (#387) * Refer to header files * Update panther_gazebo/include/panther_gazebo/gz_panther_system.hpp Co-authored-by: Dawid Kmak <73443304+KmakD@users.noreply.github.com> * Update panther_gazebo/src/gz_panther_system.cpp Co-authored-by: Dawid Kmak <73443304+KmakD@users.noreply.github.com> * Update panther_gazebo/src/gz_panther_system.cpp Co-authored-by: Dawid Kmak <73443304+KmakD@users.noreply.github.com> * Dawid suggestions * delete typo * Minor modifications * Move BT plugins to src directory * Reorganize test utilities in hardware_interfaces * Merge remote-tracking branch 'origin/ros2-devel' into ros2-testing-poc * Add missing module configuration * Update panther_gazebo/include/panther_gazebo/gz_panther_system.hpp Co-authored-by: Dawid Kmak <73443304+KmakD@users.noreply.github.com> * Dawid suggestions * update docs * Extend filesystem responsibility * Update ROS_API.md Co-authored-by: Paweł Irzyk <108666440+pawelirh@users.noreply.github.com> * update names * Add new common utility functions * System monitor improvements * Round temperature precision * Implement filesystem unit tests * Formatting * Add integration tests condition * Update ROS_API.md * Review changes * Add pre-commit workflow (#395) --------- Co-authored-by: pawelirh <pawel.irzyk@husarion.com> Co-authored-by: rafal-gorecki <rafal.gorecki@husarion.com> Co-authored-by: Dawid <kmakd197@gmail.com> Co-authored-by: rafal-gorecki <126687345+rafal-gorecki@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Paweł Irzyk <108666440+pawelirh@users.noreply.github.com> Co-authored-by: Dawid Kmak <73443304+KmakD@users.noreply.github.com> * ROS2 docking manager plugins (#394) * Added base of BT docking plugins Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Teste dock and undock plugins Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Removed test dock manager Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * run precommit Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * moved plugins Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * changed names of files and classes | changed DockRobotAction to DockRobot Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fixed copyright Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Changed timeouts | changed using Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> --------- Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * JoySubscription BT node (#397) * changed main in manager's tests Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Changed to AreButtonsPressed Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> --------- Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fixed model Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Revert "Fixed model" This reverts commit 97d85c2. * Fixed model Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Readme update Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Update panther_docking/README.md Co-authored-by: Paweł Irzyk <108666440+pawelirh@users.noreply.github.com> * Added exec depend and pip install to cmake Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * add python as interpreter Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fixed namespaces and updated ros_component_description (#424) * Fixed namespaces and updated ros_component_description Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Remove panther_version --------- Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> Co-authored-by: rafal-gorecki <rafal.gorecki@husarion.com> * Ros2 docking manager no lights (#430) * Manage lights * Simple working version * Clean up * Clean up and add types enums * Simplifications * Change ports * Add use_docking arg * Fix port * Fix port * Add more cases to tests * update * Fix ports * Add dock_pose field, improve description, add dependencies * Docking manager without lights * Auto review * Update CONFIGURATION.md * Typo * Coderabbit suggestions * Jakub suggestions * Fix tests * Jakub suggestions * ROS2 docking fix joy (#439) * Fixed utils test, fixed joy Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Revert "Fixed utils test, fixed joy" This reverts commit 3bd5e30. * Fixed bt utils test, changed dock jot input Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Joy input and typo Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> --------- Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Charging Dock Plugin based on dock pose subscriber (#431) * Fixed namespaces and updated ros_component_description Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Changed GetDockPose approach Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Cleanup charger Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added unit tests Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Update docs: Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fix upside down Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added updateAndPublishStagingPose method Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added suggestins | added reading docking_server parameter is dock pose publisher Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Remove redundant tests Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added aprilros launch to simulation Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * update vsc and changed dock name Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> --------- Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Ros2 docking charging dock wibotic msgs (#436) * Fixed namespaces and updated ros_component_description Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Changed GetDockPose approach Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Cleanup charger Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added unit tests Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Update docs: Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fix upside down Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added updateAndPublishStagingPose method Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added suggestins | added reading docking_server parameter is dock pose publisher Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Remove redundant tests Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added reading wibotic_info Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added launching wibotic_connector_can Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added right condition to wibotic_connector_can Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * wibotic_ros is needed to build Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Update repose, update parameters Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added condition for use_docking Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * update repose Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fixed use_wibotic_info param Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Rafal's suggestions applied Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * README update and comment delete Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Update docs Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Update .repose Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> --------- Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * ROS2 docking nav2 (#443) * Fixed namespaces and updated ros_component_description Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Changed GetDockPose approach Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Cleanup charger Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added unit tests Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Update docs: Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fix upside down Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added updateAndPublishStagingPose method Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added suggestins | added reading docking_server parameter is dock pose publisher Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Remove redundant tests Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added aprilros launch to simulation Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * update vsc and changed dock name Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Tested with nav2 in simulation | Added docking to multibple stations | Spawning multiple stations Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fixed after merge Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * described parameters | applied codeguides Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * coderabbitai suggestions Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Review Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * wibotic_connector_ros depends on hardware | fixed launch args Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * wibotic_connector_ros depends on hardware | fixed launch args Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added default values Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Update panther_manager/launch/manager.launch.py --------- Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> Co-authored-by: Rafal Gorecki <126687345+rafal-gorecki@users.noreply.github.com> * Ros2 docking tf compare (#451) * Changed camera pose Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fixed test Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Update docs Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * typo Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * typo Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Update panther_docking/README.md Co-authored-by: Rafal Gorecki <126687345+rafal-gorecki@users.noreply.github.com> * updated vcs Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> --------- Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> Co-authored-by: Rafal Gorecki <126687345+rafal-gorecki@users.noreply.github.com> * Ros2 docking lifecycle node (#453) * Changed camera pose Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fixed test Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Update docs Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * typo Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * typo Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Changed to lifecyclenode | added transition service client Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Updated docs Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Added timeout function Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> --------- Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Changed names in package Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Revert "Changed names in package" This reverts commit 31ae7ce. * ROS2 Docking - panther_docking to husarion_ugv_docking (#459) * Changed names in package Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * fixed param name Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> --------- Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Removed docking Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Removed docking manager Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Removed docking manager Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fixed after merge Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Code rabbit ai suggestions Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Remove accident panther_manager Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Removed dock plugins Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fixed path Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fixed path Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fixed path Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Removed docking files Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Removed tf2_utils Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * removed station launch Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> * Fixed HEADER GUARD Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> --------- Signed-off-by: Jakub Delicat <jakub.delicat@husarion.com> Co-authored-by: pawelirh <pawel.irzyk@husarion.com> Co-authored-by: rafal-gorecki <rafal.gorecki@husarion.com> Co-authored-by: Dawid <kmakd197@gmail.com> Co-authored-by: rafal-gorecki <126687345+rafal-gorecki@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Paweł Irzyk <108666440+pawelirh@users.noreply.github.com> Co-authored-by: Dawid Kmak <73443304+KmakD@users.noreply.github.com>
Description
Based on https://github.com/open-navigation/opennav_docking/tree/humble/opennav_docking_bt added
DockRobotAction
andUndockRobotAction
plugins to BehaviorTree and tested them.Summary by CodeRabbit
DockRobot
andUndockRobot
classes to enhance robotic docking and undocking capabilities within the behavior tree framework.