Skip to content

merge#3

Merged
seasony-vp merged 87 commits intoseasony-org:main_upstream_2from
ros-navigation:main
May 5, 2021
Merged

merge#3
seasony-vp merged 87 commits intoseasony-org:main_upstream_2from
ros-navigation:main

Conversation

@seasony-vp
Copy link

merge

naiveHobo and others added 30 commits January 13, 2021 09:56
* Add nav2_behavior_tree::BtActionServer

Signed-off-by: Sarthak Mittal <sarthakmittal2608@gmail.com>

* Fix cpplint errors

Signed-off-by: Sarthak Mittal <sarthakmittal2608@gmail.com>

* Remove unnecessary statements in BtActionServer

Signed-off-by: Sarthak Mittal <sarthakmittal2608@gmail.com>

* Make nav2_behavior_tree::BtActionServer a composable object

* Add comments

* Add on preempt callback, fix naming issues, and move tf to bt navigator

* Add separate implementation header for BtActionServer

* Fix cpplint error

* Pass plugin library names as argument to BtActionServer

* Remove action server getter and update onPreempt to not load BT

* Fix unnecessary include

* Fix function names

Signed-off-by: Sarthak Mittal <sarthakmittal2608@gmail.com>

* Fix typo
* Changed FollowWaypoints to follow_waypoints

* Updated the msg name as follow_waypoints

* Reversed changes to cmakelist

* Updated the use of follow_waypoints just as action name

* Replace follow_waypoints

* Update

* Updated ros info with the right syntax

* Debugging
…2126)

* Adding minimum range parameter for raytrace clearing

* Comments in tests

* Uncrustify checks

* Modified default value of raytrace_min_range param and moved computation below plugin layer

* Tests for voxel layer raytracing

* Uncrustify checks

* Addressed pull request #2126 comments

* Using min range parameter for marking also

* Correcting build warnings

* Correct build fails

* Merging changes

* Adding comments

* Added unit tests for obstacle layer and addressed PR comments

* Addressed flake errors

* Flake8 errors

* Correcting W291 Flake8 error

* Variable name and comments changes

* Added raytracing params to the params files

* Modifying parameter names for obstacle marking
* adding tests for wp follower

* adding C++ 14 min requirement

* trying linking
* attempt at bringing up CI

* try adding SDF element for IMU initial_orientation_as_reference

* adding more initial orientation as reference

* turning initial_orientation_as_reference false
* regulated pure pursuit migration commit

* adding speed limit API

* adding review comments + adding rotate to goal heading

* adding test dir

* add some initial tests

* more tests

* remove old comment

* improve readme

* fix CI

* first attempt at changing algos in tests

* allowing full path parameter substitutions

* adding integration tests

* enable SMAC testing too with new changes

* swap algos

* revert

* Update angular velocity after constraining linear velocity (#2165)

This ensures the robot moves towards the lookahead point more closely.
If the angular velocity is not updated, then the robot tries to take cuts while turning,
which could lead to collisions when near obstacles

Signed-off-by: Shrijit Singh <shrijitsingh99@gmail.com>

* Update cost scaling heuristic to vary speed linearly with distance (#2164)

* Update cost scaling to vary linearly with distance instead of relying on costmap cost

Signed-off-by: Shrijit Singh <shrijitsingh99@gmail.com>

* Resolve suggested changes

Signed-off-by: Shrijit Singh <shrijitsingh99@gmail.com>

* Add documentation for cost scaling parameters

Signed-off-by: Shrijit Singh <shrijitsingh99@gmail.com>

* Improve parameter descriptions

Signed-off-by: Shrijit Singh <shrijitsingh99@gmail.com>

* Comment cost scaling tests since layered costmap is not initialized

A valid layered costmap reference is needed to get the inscribed radius

Signed-off-by: Shrijit Singh <shrijitsingh99@gmail.com>

Co-authored-by: Shrijit Singh <shrijitsingh99@gmail.com>
… complete their required tasks or not (#1855)

* modified such that if the recovery is aborted due to potential collision, the return status will be FAILED

* Changed from SequenceStar to RoundRobin to mask any failure that might occur in the execution of the recovery action

* Change Backup recovery test such that the aborted recovery is expected and checked for

* fixing linting error

* Change depricated argument for backup recovery test

* added backup to the recovery actions, using defaults from the BackUp header

* Update nav2_bt_navigator/behavior_trees/navigate_w_replanning_and_recovery.xml

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Reverting changes to BT. Seq. Star control node is in line to what we want

* checkpoitn commit

* Changed collision failure critera as backup collision abortion occurs @ -0.2 m as well. This was previously not caught as  the server always returned SUCCESS

* bool to control whether fake costmap should be generated

* added fake tester nodes

* Fake costmap passed through environmental variable now

* Fake Footprint being sent out

* breadcrumbs of fake spin tests

* fake odom

* launch file was messed up

* still troubleshooting spin

* trying to fake spin, goal keeps on getting rejected

* goal is now being accepted

* Fake spin not working well when asking for PI radians out

* playing around with timing wehn publishing fake transforms

* BT changes, testing TBD

* [WIP] Fix CI build issues (#2076)

* update to use on my fork to test changes to bondcpp

* using chrono literals in lifecycle manager

* nav2_rviz_plugins using chrono literals for API change

* using chrono literals in costmap_2d package from API change

* using chrono literals in observation buffer

* chrono literals for tests costmap

* chrono literal API changes

* changing API

* changing API

* API changes

* API change

* API change

* API change

* API change test

* API change test

* remove

* api updates

* update test values

* Patch for PhotoAtWaypoint plugin (#2067)

* nav2_way_point_follower; introduce photo at waypoint arrivals plugin

Signed-off-by: jediofgever <fetulahatas1@gmail.com>

* resolve cmake lint errors

Signed-off-by: jediofgever <fetulahatas1@gmail.com>

* resolve requested chages of first review

Signed-off-by: jediofgever <fetulahatas1@gmail.com>

* minor corrections on photo_at_waypoint header

* resolve requested changes of second review

Signed-off-by: jediofgever <fetulahatas1@gmail.com>

* update default save_dir

Signed-off-by: jediofgever <fetulahatas1@gmail.com>

* move directory checking code to initialize()

* add try catch block to catch possible execeptions while creating a directory for photo at waypoint plugin

Signed-off-by: jediofgever <fetulahatas1@gmail.com>

* adding logging and disabling

* Update nav2_waypoint_follower/plugins/photo_at_waypoint.cpp

Co-authored-by: Fetullah Atas  <fetulahatas1@gmail.com>

* Update photo_at_waypoint.cpp

Co-authored-by: jediofgever <fetulahatas1@gmail.com>

* Fix for double free issue in map server testcases (#2078)

* Support in keepout filter for mask and costmap published in different… (#2054)

* Support in keepout filter for mask and costmap published in different frames

This fixes incorrect keepouts position issue when filter mask and current
costmap layer are published in different frames. This might appear
(but not restricted only to) when keepout filter is enabled for local costmap
with rolling window.

* Add transform initialization

* Enhance transform failure message

* Loop fix (#2068)

* Abort analytic expansion if crossing through already visited node

* Check that we are not creating an infinite loop at the goal node

* Mark nodes in analytic expansion as visited for the sake of completeness

* Move checking of already visited nodes to final stage of analytic expansion

* test if action server failures correctly propagate into BT context

* change recovery subtree so that RoundRobin replaces SequenceStar for good

* uncrustify and line nav2_behavior_tree changes

* uncrustify and linting

* adding clearing actions to own subtree

* more linting

* reduced testing value to see if that will stop the robot from aborting due to potential collision

* tighten up tolerance on backup since the requested backup is so small

* delint

* cleaned up spin recovery such that we simulate the robot slowly spinning into place, now I just have to simulate collision scenarios

* linting

* change order of Spin and Wait to match original

* fake spin failing due to potential collision even when empty costmap

* lint

* more lint

* can get all the spins to pass now

* spin test strangely passing all cases even though costmap is populated

* spin recovery

* commmit before I try to visualize this

* now I know that there are two things publishing to the same footprint

* 1) figured out conflicting pubs to footprint, 2) why can't I get costmap occupancy to cause collision

* Fake Spin Test shows failure correctly for angles greater than pi / 2. change launch file such that two publishers are not generating costmaps

* fake launch lint

* check in with linting to show the structure

* Add overall behavior tree system tests

Signed-off-by: Sarthak Mittal <sarthakmittal2608@gmail.com>

* Add RecoverySubtreeGoalUpdated BT test

Signed-off-by: Sarthak Mittal <sarthakmittal2608@gmail.com>

* Update readme and docs

* Add tests to check if BT XML files are well-formed

Signed-off-by: Sarthak Mittal <sarthakmittal2608@gmail.com>

* Uncomment tests that were commented out

Signed-off-by: Sarthak Mittal <sarthakmittal2608@gmail.com>

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: jediofgever <fetulahatas1@gmail.com>
Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com>
Co-authored-by: James Ward <james.ward@appliedev.com>
Co-authored-by: Sarthak Mittal <sarthakmittal2608@gmail.com>
* Write doxygen for navfn

* Remove forward slashes
* Adding RPP to metapackage.xml

* Remove excessive exec depend
* Fix recovery action collision check.

* Fix linting issue.
* make the 3 params changeable at runtime

* use parameter events callbacks

* doxygen

* lint
* Add support of absolute limits to Speed Filter

* Fix review items

* Fix comment

* Support for nav2_regulated_pure_pursuit_controller
* Remove dependency on collision checking to carrot location

* Fix i removal

* changing API to be consistent with collision updates
Signed-off-by: Marco Lampacrescia <Marco.Lampacrescia@de.bosch.com>
* fixing depricated API

* converting types on substitutions

* removing warnings from std buffer parameterization
…2214)

* If provided param file has no slam_toolbox params, don't forward it

* Update copyright

* Linter fixes

* Reorder slam_launch to hide uglyness at the end
ruffsl and others added 29 commits March 25, 2021 17:09
* Switch ccache away from ramdisk to tmp

to reduce CI RAM usage during builds

* Use ccache environment variables

for CCACHE_DIR and CCACHE_LOGFILE

* Add defaults file for colcon

https://colcon.readthedocs.io/en/released/user/configuration.html#defaults-yaml

https://colcon.readthedocs.io/en/released/reference/executor-arguments.html#executor-arguments

* Enable colcon defaults.yml config

* Unset MAKEFLAGS

* Break the build cache for testing

* Fix env

* Reset MAKEFLAGS

* Use env for copy

* Increase limits

* break build cache for testing

* consolidate colcon build args into config

* cleanup

* Update mixin comment

* Prune repos file
image_common already included in ros2.repo and thus osrf/ros2:nightly

* Set limts as if there where 2 CPUs
prior config rencountered load deadlock
and colcon doesn't seem to count the correct number of cores in CI

* Remove load average
to avoid any deadlock

* Bust CI cache for testing

* Increase make job limit

* Bust CI cache for testing

* Revert failed changes

* Revert use of env as path arg
as it's incrocly interpreted as
/opt/overlay_ws/$CCACHE_DIR

* Move colcon defaults file

* Re-enable load average limit

Builds without warm ccache caches can still fail
like when building ompl and gazebo_ros simultaneously
* remove service_node from nav2_lifecycle_manager

* wait_for_service() returns the value of service_is_ready()

* explain wait_for_service return

* use timer to trigger init()

* init() as lambda function

* wait_for_service as void

* fix gtest
To again have a third RMW to triage CI failures
* RCLCPP_INFO to RCLCPP_DEBUG

* same for bt_service_node
* converted PointCloud -> PointCloud2 adn checked linting. WIP

Signed-off-by: Sachin <sachin.guruswamy@gmail.com>

* modified base_obstacke_test

Signed-off-by: Sachin <sachin.guruswamy@gmail.com>

* Changed to PointCloudModifier WIP

* formating fix

Signed-off-by: Sachin <sachin.guruswamy@gmail.com>

* formating fix2

Signed-off-by: Sachin <sachin.guruswamy@gmail.com>

* added tests for clearing_endpoints

Signed-off-by: Sachin <sachin.guruswamy@gmail.com>

* removing print statements

Signed-off-by: Sachin <sachin.guruswamy@gmail.com>

* added subscribers for voxel marked and cost_cloud

Signed-off-by: Sachin <sachin.guruswamy@gmail.com>

* modified test cases to use single wait for all pointcloud2 subscribers

Signed-off-by: Sachin <sachin.guruswamy@gmail.com>

* removed unnecessary comments and publish_cost_grid_pc from yaml file

Signed-off-by: Sachin <sachin.guruswamy@gmail.com>

* Fix ament_flake issues

Signed-off-by: Sachin <sachin.guruswamy@gmail.com>
* change wait_for_service behavior

* Add unit test
…uation (#2286)

* smac checking collision footprint only when in possibly inscribed situation

* adding intermediate check

* testing based on possibly inscribed conditions

* fix tests
* Handle navigate_to_pose preemptions with new BT

Signed-off-by: Sarthak Mittal <sarthakmittal2608@gmail.com>

* Terminate preempt requests with different BT XML files and add log

Signed-off-by: Sarthak Mittal <sarthakmittal2608@gmail.com>

* Remove isPreemptRequested()

Signed-off-by: Sarthak Mittal <sarthakmittal2608@gmail.com>
* adding amcl doxygen

* removing trailing spaces
…2281)

* removed geometry_msgs/PoseArray in AMCL, updated rviz configs

* ParticleFilter -> ParticuleCloud

* put back adding of weights and poses for particles

was incorrectly deleted in 0ca93b5

* complies with linter's max line length

#2281 (comment)

* reformatted file using ament_uncrustify

commandline tool used: ament_uncrustify --reformat src/navigation2/nav2_amcl/src/amcl_node.cpp
* first implementation

* restructure + param

* lint

* remove uneeded publishVelocity and deal with controller_patience_ 1.0

* change param name

* add reasonable param
Co-authored-by: Simon Honigmann <shonigmann@blueorigin.com>
* first commit

* Added empty line at end

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* linting

* linting

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* Variable name fix

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* changed shared_ptr to weak_ptr

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* get node handle from blackboard

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* changed initialization of odom smoother object

* changed initialization of odom smoother object

* changed initialization of odom smoother object

* changed initialization of odom smoother object

* addressed comment re std::hypot

* added overloaded constructor

* added overloaded constructor

* added overloaded constructor

* added try catch and template to blackboard get path

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* lint

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* lint - pushing to rerun CI due to cc1plus failure

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* setting of current_pose in feedback msg outside of try/catch

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* added path integrator to nav2_controller for better distance feedback

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* added path integrator to nav2_controller for better distance feedback

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* fixed issue with lambda capturing class member

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* retrigger CI

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* add limits header

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

* retrigger CI

Signed-off-by: Deepak Talwar <deepaktalwardt@farmwise.io>

Co-authored-by: Deepak Talwar <deepaktalwardt@farmwise.io>
* adding doxygen to costmap_2d part 1

* finishing doxygen for costmap

* linting
* initial work commit for compiling

* building and almost basic working in navigator

* working!

* MVP done of navigate through poses in BT navigator side

* working with zmq issue

* adding compute path to pose, navigate through pose, through XML, and goal updater updates to support navigate through poses action

* feedback contains culling

* planner server with compute through poses server

* abstracting more of the logic from the 2 planner server actions

* fixing action server mixup

* adding rviz support for nav  through poses

* improvements in reliability

* resolving issues in the rviz plugins and enabling the BT navigator to better handle exceptions and muxing states

* working nav through poses complete MVP, just cleanup now

* bookkeeping up to date

* linting updates + launch file parameter change updates

* additional removal of patches from individual BT parameterization

* adding find BT node for path removal points

* remove extraneous file

* adding to readme

* linting

* adding missing comma

* moving try catch to another part of the code

* create fake servers for BT system tests

* clean exiting

* unit BT tests

* fixing typo

* switch poses for pose

* adding system test to nav through poses

* fixing merge conflict issue

* fix conflicts with 2246

* function conflict test resolution

* fix linting
…y update costmaps (#2308)

* Fix for wings artifacts: adding new filters entity to separately update costmaps

* Update nav2_costmap_2d/src/layered_costmap.cpp

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Fix review items

* Fix/add tests

* Rename costmaps

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
* remove '/' from node name

* add namespace argument

* use namespace for service client node creation

* ns instead of namespace_

* const

* ns instead of namespace_ in lifecycle_node too

* lint
Co-authored-by: Simon Honigmann <shonigmann@blueorigin.com>
* open option to use parent node

* add constructor and clean
@seasony-vp seasony-vp merged commit 72c25e3 into seasony-org:main_upstream_2 May 5, 2021
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.