You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Populate error_msg for all action result messages (#4341) (#4460)
* Populate error_msg in action result messages (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* FollowWaypoints - Add usage of error_code and error_msg (#4341)
Introduces error codes:-
- NO_WAYPOINTS_GIVEN
- STOP_ON_MISSED_WAYPOINT
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* nav2_simple_commander: use error_code and error_msg (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Create and populate BT::OutputPort(s) for error_msg (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Add error_msg handling to nav2_bt_navigators (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* nav2_simple_command track LastActionError (#4341)
Only actions provide error_code and error_msg in
their result msg.
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Restore output format of planner server message (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Fix opennav_docking error_msg/code usage (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Fix error_msg type -> BT::OutputPort<std::string> (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* report index of failed initializeGoalPoses (#4341)
Add the index of the pose that cannot be transformed
in NavigateThroughPosesNavigator::initializeGoalPoses to
the error_msg
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Add error_msg to (un)dock_robot bt (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* fix dock/undock use of error_msg (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Improve comment to populate error_msg if goal not accepted (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* change robot_navigator api to (get|set|clear)TaskError() (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* remove exceptions from navigator onLoop (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* change error code to GOAL_TRANSFORMATION_ERROR (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* check getCurrentPose in initialiseGoalPoses (#4341)
This mirrors the check done in NavigateToPose::initializeGoalPose
checking that we can get a current pose in order to not accept
the goal request.
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* change error_code_names_ to error_code_name_prefixes_ (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* add error_msg port to default behavior xml files (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Fix 'basic_string::_M_construct null not valid' exception(#4341)
This was tough to spot.
The nav2_system_tests waypoint follower provided a reproducable test
Found out how to run just the waypoint_follower test
colcon test --packages-select nav2_system_tests --ctest-args -N --event-handler console_direct+ | grep waypoint_follower
changed src/navigation2/nav2_bringup/launch/navigation_launch.py
to start nav2_bt_navigator Node with
+ prefix=['gnome-terminal -- gdb -ex run --args'],
+ respawn=False,
Trying to use gdb to catch where the exception was thrown is
too slow and the test gives up on itself.
I found the relevant throw std::logic_error on
my system by writing tiny program and breaking on std::logic_error
int main() {
const char *a = nullptr;
try {
std::string b(a);
} catch (const std::logic_error &ex) {
std::cout << "logic_error:" << ex.what() << std::endl;
} catch (const std::exception &ex) {
std::cout << "some other type:" << ex.what() << std::endl;
}
}
Turns out it get thrown here on my system
/usr/include/c++/11/bits/basic_string.tcc:212
Created ~/.gdbinit
set breakpoint pending on
break /usr/include/c++/11/bits/basic_string.tcc:212
This specific breakpoint on a line works fast enough
for the integration test to throw the
'basic_string::_M_construct null not valid'
and the silly initialisation mistake to be found.
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* fix error_code_name_prefixes: in nav2_system_param.yml (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Add error_msg handling to builtin nav2_behaviors plugins (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* simple_action_server improve "Aborting handle" log (#4341)
Use SFINAE to log get_error_details_if_availble() in ActionT::Result
Ideally all Action messages would have error_code and error_msg
fields in their Result. BUT the tests use standard messages that
do not and will not. i.e. test_msgs/action/Fibonacci.action
Some Action messages only have error_code and not error_msg
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Add vim temporary files to .gitignore
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Fix include what you use (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Fix cpplint and uncrustify (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* nav2_waypoint_follower do is_premppt_requested() before is_cancel_requested() (4341)(4602)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* fix behavior tree xml Backup backup_code_error_msg (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Fix internal error tracking of navigators (#4341)
Key point is only use the internal_error_(code|msg)_
if the action result error_code is 0.
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* fix halt() in ComputePathToPose ComputePathThroughPoses (#4341)
Clear output path for ComputePathThroughPoses similar to
ComputePathToPose
Explicitly note NOT to clear error_code_id and error_msg
behavior tree output ports. Otherwise we cannot read them
when the navigator reports errors.
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* fix NavigateToPose onLoop current_path blackboard existance logic (#4341)
Make it consistent with NavigateThroughPoses.
This was introduced when changing logic to remove
internal exception.
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* nav2_msgs MissedWaypoint interface change, add error_msg (#4341)
Allow of reason for missed waypoint as error_msg.
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Fix waypoint_follower error_msg handling (#4341)
Include error_msg in reason for missed waypoint
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Fix cpplint uncrustify (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Add tool to help check for error_code and error_msg in behavior trees (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* controller_server: Remove redundant logging (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* timed_behaviour: pass through on_run_result.error_msg (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* nav2_waypoint_follower - revert logic swap experiment (#4341)
It was a red herring in search for error_msg clearing bug on abort
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* nav2_waypoint_follower: clear error_msg when clearing error_code (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Remove tool to check behaviour tree error_msg compliance (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* nav2_simple_commander: improve goal request rejection error reporting (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* nav2_system_tests: ensure error_msg not empty (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* nav2_system_tests: behaviour_tree error_code, error_msg checks (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* nav2_system_tests: behaviour_tree error_code, error_msg checks (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* doc: fix hint on how to run bt_navigator tests with ctest.
Use -R to invoke the regular expresion.
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* nav2_system_tests: log error_code and error_msg. (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* lint: remove tab (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* add result->error_msg for new CONTROLLER_TIMED_OUT (#4341)
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* Add error codes NONE and UNKNOWN to Wait.action (#4341)
This allows setting a default failure error_code and
message in nav2_system_tests behavior_tree dummy_action_server
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* move internal error tracking into bt_action_server.hpp and test (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* uncrustify and flake8 (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* nav2_system_tests behavior_tree result handling improvement (#4341)
NOTE: This stuff does not really test the error_msg/error_code
handling as its all dummy servers.
Signed-off-by: Mike Wake <macwake@gmail.com>
* Add ProgressCheckerSelector and GoalCheckerSelector to navigate_through_poses_w_replanning_and_recovery.xml (#4341)
To facilitate error_msg system tests allow progress and goal checkers
to be changed via the behaviour tree mechanism.
Signed-off-by: Mike Wake <macwake@gmail.com>
* Add nav2_system_tests for controller_server/behaviour tree error_msg (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* Improve README hint on how to run error_msg tests (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* fix PostStampedArray usage in nav_through_poses_tester_error_msg (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* nav_through_poses_tester_error_msg - towards clean pyright (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* SmoothPath fix error_(code_id|msg) output ports nav2_tree_nodes.xml (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* Wait action add error_(code_id|msg) output ports (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* Add error_code_id and error_msg ports to example behavior_tree xml (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* Add more default error_code_name_prefixes (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* Add error_(code_id|msg) to opennav_docking_bt example (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* error_msg review fixes (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* Adjust Navigator error code ranges (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
* Fix Navigate(ToPose|ThroughPoses)Navigator::goalCompleted warning log (#4341)
Signed-off-by: Mike Wake <macwake@gmail.com>
---------
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
Signed-off-by: Mike Wake <macwake@gmail.com>
Co-authored-by: Mike Wake <macwake@gmail.com>
0 commit comments