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

Issues setting up robot on Humble in Ignition Gazebo #3586

Closed
MarqRazz opened this issue May 25, 2023 · 16 comments
Closed

Issues setting up robot on Humble in Ignition Gazebo #3586

MarqRazz opened this issue May 25, 2023 · 16 comments
Labels
question Further information is requested

Comments

@MarqRazz
Copy link

MarqRazz commented May 25, 2023

  • Operating System:
    • Docker image on Ubuntu 22.04
  • Installation type:
    • binaries
  • ROS Version
    • ROS2, Humble
  • Version or commit hash:
    • Package: ros-humble-navigation2
      Version: 1.1.6-1jammy.20230426.153445
    • Package: ros-humble-slam-toolbox
      Version: 2.6.4-1jammy.20230426.114424
  • Laser unit:
    • simulated in Gazebo Fortress
  • DDS implementation:
    • Cyclone DDS

Steps to reproduce issue

Expected behavior

I have been experiencing several issues with the clock as I setup my robot to run in Gazebo. As you can see in my launch file I have use_sim_time set to True and below have verified through the parameter server that its set properly.

Here is the output from a few of the nodes on the parameter server...

# ros2 param get slam_toolbox use_sim_time
Boolean value is: True
# ros2 param get bt_navigator use_sim_time
Boolean value is: True
# ros2 param get lifecycle_manager_navigation use_sim_time
Boolean value is: True
# ros2 param get robot_state_publisher use_sim_time
Boolean value is: True
# ros2 param get joint_state_broadcaster use_sim_time
Boolean value is: True

Here is what the beginning of my /scan message looks like:

header:
  stamp:
    sec: 3
    nanosec: 420000000
  frame_id: base_laser

and /tf_static data for the base_laser frame:

- header:
    stamp:
      sec: 0
      nanosec: 0
    frame_id: base_laser_mount
  child_frame_id: base_laser
  1. When I run the navigation stack with a dummy map that I have previously made I get errors about my LIDAR's frame_id data not being in sync with the system clock.
[component_container_isolated-2] [amcl 1684977727.446646155]: Message Filter dropping message: frame 'base_laser' at time 37.760 for reason 'the timestamp on the message is earlier than all the data in the transform cache'

And a map is never published so I get tf errors:

[component_container_isolated-2] [global_costmap.global_costmap 1684977727.002686044]: Timed out waiting for transform from base_link to map to become available, tf error: Invalid frame ID "map" passed to canTransform argument target_frame - frame does not exist
  1. If I try to run SLAM I get spammed with errors in the console saying the message queue is full and if I try to navigate the robot somewhere I can see that transformPoseInTargetFrame node is using the system clock.
[sync_slam_toolbox_node-5] [slam_toolbox 1684848588.260446441]: Message Filter dropping message: frame 'base_laser' at time 59.460 for reason 'discarding message because the queue is full'
[component_container_isolated-2] [transformPoseInTargetFrame 1684848588.293940594]: Extrapolation Error looking up target frame: Lookup would require extrapolation into the future.  Requested time 1684848585.909372 but the latest data is at time 59.498000, when looking up transform from frame [base_link] to frame [map]

Actual behavior

I cant navigate or SLAM in sim.

@SteveMacenski
Copy link
Member

SteveMacenski commented May 25, 2023

To be honest, we have yet to evaluate an Ignition Gazebo setup due to other long-standing problems with it preventing us (e.g. binaries for ros2 control ign didn't work for a long time [maybe still?], missing plugins, etc) so that's not part of our officially supported setup yet. It is planned for later this year all things according to plan.

What version of Ignition Gazebo? I've heard some nasty things about some of the older versions and @bperseghetti suggests a particular version where things are working better. Could it be due to that?

I will say it just looks like you're having some run of the mill TF problems that's not really related to Nav2 itself -- but could either be due to the robot URDF/state publisher or due to your simulator not publishing what's expected.

There's alot you're changing all at once (simulator, custom robot, etc) so the generic but truthful advice would be to start with something more simple like the TB3 demo and slowly build up changes until you see where the problem lies. I'm guessing its with your robot, so using Gazebo classic like we have will at least help you isolate the issue to simulation vs urdf/sdf related to work through the problem. I know there are some users on new-Gazebo, though I haven't spoken to them in detail regarding it

@SteveMacenski SteveMacenski added the question Further information is requested label May 25, 2023
@MarqRazz
Copy link
Author

MarqRazz commented May 25, 2023

I'm pretty comfortable with Ignition and the issues it has (and specific versions you need to make things work), but your statement does't line up with the fact that nav/slam-toolbox are using the system clock when I have set use_sim_time to true which is why I opened the issue. If you have any suggestions on where I could start looking I would appreciate any pointers!

I will say it just looks like you're having some run of the mill TF problems that's not really related to Nav2 itself

Any specifics here would be helpful. Is the zero time with the static tf not true with GzClassic?

@bperseghetti
Copy link

bperseghetti commented May 25, 2023

@MarqRazz On a call right now, but I can share a little later how we run ours with humble and gz-garden using sim time including for the ros_gz_bridge, I can share launch as well as examples on some simulated robots.

@SteveMacenski
Copy link
Member

SteveMacenski commented May 25, 2023

My pointers are what I said - simplify to something we know works and build from there. if the issue if TF2/robot specific, there's a hundred ways it can manifest and its a bit of a logical puzzle. If the issue is the simulator, it would be good to know that sooner than later so you don't go down a rabbit hole. And, if you still see the issue with the old simulator + a base robot we know works, then that's something actionable I can also start to look into. So being processed can help us know where we need to focus efforts. For now, I'd be simply guessing.

The static TF looks that way for gazebo too, but that's generated by the URDF & robot state publisher, not the simulator, so I'm not sure why we would expect that to change.

transforms:
- header:
    stamp:
      sec: 0
      nanosec: 0
    frame_id: base_footprint
  child_frame_id: base_link
  transform:
    translation:
      x: 0.0
      y: 0.0
      z: 0.01
    rotation:
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0

@bperseghetti
Copy link

Might also want to see if you have something like this using sim_time depending on the plugins you are using in sim: https://github.com/CogniPilot/mrbuggy3_simulator/blob/8b26ae67e0003119a5b2a5b14acfcec1b4a46256/mrbuggy3_gz_bringup/launch/ros_gz_bridge_base.launch.py#L77-L92

@bperseghetti
Copy link

@bperseghetti
Copy link

Here is an example with our posix Cerebri (Zephyr-RTOS) connected to the cmd_vel output of NAV2 to control the vehicle with gz-garden and running full nav2 stack (including SLAM):
https://github.com/ros-planning/navigation2/assets/10233412/a8a90426-7c50-4543-9100-abf185708cb9

@MarqRazz
Copy link
Author

MarqRazz commented May 26, 2023

Sorry @SteveMacenski I misread your post and though you said you could see an issue with tf in my issue report. For now I think I will keep pushing forward with Ignition, I'm so close.

@bperseghetti you rock, THANKS for the tips and pointers!

Here are my bridge settings for the clock.

As for odom to base_link I'm using ros2_control's DiffDriveController and this is what I see if I use tf_echo

# ros2 run tf2_ros tf2_echo odom base_link
At time 25.134000000
- Translation: [0.000, 0.000, 0.000]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]
- Rotation: in RPY (radian) [0.000, -0.000, 0.000]
- Rotation: in RPY (degree) [0.000, -0.000, 0.000]
- Matrix:
  1.000  0.000  0.000  0.000
  0.000  1.000  0.000  0.000
  0.000  0.000  1.000  0.000
  0.000  0.000  0.000  1.000

If I ask for map to base_laser while running SLAM I get

# ros2 run tf2_ros tf2_echo map base_laser
At time 14.574000000
- Translation: [0.000, 0.000, 0.394]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]
- Rotation: in RPY (radian) [0.000, -0.000, 0.000]
- Rotation: in RPY (degree) [0.000, -0.000, 0.000]
- Matrix:
  1.000  0.000  0.000  0.000
  0.000  1.000  0.000  0.000
  0.000  0.000  1.000  0.394
  0.000  0.000  0.000  1.000

and here is the output from tf_view_frames. You can see that the Most recent/Oldest transform point to tf using the sim clock.
image

If I query for subscribers of the clock everything looks good and all the nodes I expect are there (here's a gist of the output)

@SteveMacenski
Copy link
Member

So what's left to check? That seems like most of it

@MarqRazz
Copy link
Author

I'm thinking my next step is to build Nav/SlamToolbox from source and confirm the value of use_sim_time and the clock it's using. My guess is I'm missing setting it somewhere when launching.

[component_container_isolated-2] [transformPoseInTargetFrame 1684848588.293940594]: 
Extrapolation Error looking up target frame: Lookup would require extrapolation into the future.  
Requested time 1684848585.909372 but the latest data is at time 59.498000, when looking up 
transform from frame [base_link] to frame [map]

@SteveMacenski
Copy link
Member

It doesn't take that long to compile if you ignore nav2_system_tests, that'll take you 20 minutes itself

@bperseghetti
Copy link

I think we did have to recreate some of the lower level nav2 bringup script to make sure sim_time was passed throughout. Maybe I'll try to make a "native nav2" launch this weekend and see what all I had to figure out about it previously. Granted not sure if there are also any non-sim_time calls from the actuator arm side from moveit on your setup?

@MarqRazz
Copy link
Author

MarqRazz commented May 31, 2023

Sorry I got distracted playing with my Isaac simulation. I verified Nav2 is using sim time everywhere I expect but while inspecting the lookup frames sent to nav2_util::transformPoseInTargetFrame I figured out that Rviz is the source of those errors when sending Nav2 Goal's with the plugin. I tried changing the launch file to use_sim_time and that didn't fix it, but if I set the fixed_frame to be map the error goes away and the robot navigates. Unfortunately I don't know of an easy way to inspect the action goal message (like you could in ROS1) from the Rviz plugin but will keep digging.

As you can see I still have issues with the map smearing while SLAMing but progress!

c300_gz_nav2.mp4
c300_isaac_nav2.mp4

@SteveMacenski
Copy link
Member

I tried changing the launch file to use_sim_time and that didn't fix it, but if I set the fixed_frame to be map the error goes away and the robot navigates. Unfortunately I don't know of an easy way to inspect the action goal message (like you could in ROS1) from the Rviz plugin but will keep digging.

Got it - that was actually pertinent information that you were sending it in the non-global frame. That is actually a known artifact of the rviz plugin that you have to send the goals in the global frame. I honestly didn't know that was the specific error given, but that is a quirk I was aware of.

looking at the hidden topics ros2 topic echo /navigate_to_pose/_action/status we can see the status

status_list:
- goal_info:
    goal_id:
      uuid:
      - 152
      - 146
      - 130
      - 181
      - 123
      - 17
      - 33
      - 151
      - 165
      - 220
      - 233
      - 200
      - 122
      - 9
      - 16
      - 223
    stamp:
      sec: 69
      nanosec: 886000000
  status: 2

Which appears to be in the simulation time. So I think the BT navigator is OK.

I took a look from the logs I see and:

[component_container_isolated-5] [ERROR] [1685751532.615056985] [transformPoseInTargetFrame]: Extrapolation Error looking up target frame: Lookup would require extrapolation into the future.  Requested time 1685751532.389336 but the latest data is at time 70.167000, when looking up transform from frame [base_scan] to frame [map]

Leads me to look at transformPoseInTargetFrame. That's only used in costmap2D and RPP, and I'm not currently using RPP.

Within costmap 2D its used in the function transformPoseToGlobalFrame which is only called by the planner server in transformPosesToGlobalFrame.

It appears that the goal is obtained directly from the action's request field geometry_msgs::msg::PoseStamped goal_pose = goal->goal so that tells me that rviz panel isn't using sim time. The rviz panel sets the pose in navigation_goal_.pose = pose; and if you track back where pose is populated you find pose.header.stamp = rclcpp::Clock().now();

That explains that. We're just making a clock willy-nilly which is going to default to system time. Silly goose! I looked to see where else we do that in the stack and the answer is ..... no where else. So yeah, that's really suspect. I'm currently compiling a change to use the rviz panel's internal node instead to get the time, which I assume will fix this issue

@SteveMacenski
Copy link
Member

#3595 resolves!

SteveMacenski added a commit that referenced this issue Jun 3, 2023
)

* Fixes #3586 on rviz time stamping

* removing timing from rviz testing panel
SteveMacenski added a commit that referenced this issue Jun 9, 2023
)

* Fixes #3586 on rviz time stamping

* removing timing from rviz testing panel
SteveMacenski added a commit that referenced this issue Jun 9, 2023
* Improve usability of PWAs in Dev Containers (#3576)

* Add WIP icons

* Add WIP icons for gzweb

* Add WIP icons for glances

* Set cross origin to use credentials
ensuring auth cookie is included in request header
when requesting for web app manifest file
thus avoiding CORS policy violations in browser
when accessing forwarded codespaces ports from the web

> The request for the manifest is made without credentials (even if it's on the same domain), thus if the manifest requires credentials, you must include `crossorigin="use-credentials"` in the manifest tag.

- https://web.dev/add-manifest/
- https://stackoverflow.com/a/57184506/2577586

* Use ReqHost variable in templates
to account for X-Forwarded-Host value in header

* Delete duplicate manifest

* Set id property in app manifests
so we can address them independently from their start_url
- https://developer.chrome.com/blog/pwa-manifest-id/

* Ensure apps are uniquely identifies
by adding trailing slash to id
and thus different URI directories

* Refactor root landing page into nav2 app
by moving page file into nav2 sub folder
adding root redirect pointing to /nav2/
and updating html, markdown, manifest files respectively

* Fix https detection for Caddy reverse proxies
by also checking X-Forwarded-Proto in request header

* Remove unnecessary files

* Prune smaller images

* Prune duplicate icon

* Clean up html tags

* Update manifest icons

* Rename icons

* Revert "Prune duplicate icon"

This reverts commit 5710401.

* Add back favicon for shortcut

* Add self index for completeness and bookmarking

* Simplify icon linking

* Delete binary files

* Fix hyperlink path

* Include image files using gitattributes
to track these binary files via git LFS

* Add icons using git lfs

* Standardized all icon paths

* Use external links for icons
to avoid the need for using git LFS
although this is a bit of a hack

* Stage any and maskable icons

* Use any and masked icons

* Set colors to match maskable icon colors

* Update icon

* Use lossless compression
without removing background
- https://shortpixel.com/online-image-compression

* Use WebP instead of PNG
for smaller file sizes
- https://en.wikipedia.org/wiki/WebP

* Move icons into icons folder

* Use _SRV environment variables for service paths

* Download media files from github
during docker image build
to avoid adding always online dependencies
when creating or starting dev containers

* Delete media icons from git repo
now that we download media from anonymized URLs on github
- https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files

* Add comments

* Enable file browsing for non app paths
for remote debugging of media and asset files

* Consolidate assets into single folder

* Add links for file browser paths
to Server Diagnostics

* Delete unused symlink

* Update landing page to match manifest
by including same shortcuts and start url

* Patch gzweb to disable modelList
avoiding 404s for thumbnails
as they are hardcoded into js

* Update comments

* Simplify Caddyfile by reverting to symlinking
but add ROOT_SRV env for custom overriding

* Loop over nav2 srv folders when symlinking
to generalize over folder names

* Add matcher for file browsing root directory
while still redirecting to nav2 app by default

* Use placeholders for root variable
to consolidate env default fallback settings
e.g `:/srv`

* Promote file browser in Nav2 app shortcuts

* Fix and update SRV envs

* Postpone symlinking for Nav2 web app
to when post-create-command script then runs
given full repo is not copied into builder stage in Dockerfile.
While this could be postponed to update-content-command
leaving it here avoids blowing user changes
after the container has been created or modified.

* Add guard to check if srv folder exists

* Add refresh rate shortcuts to glances

* Add file browser shortcut to nav2

* Set scope for nav2 PWA to root
to allow for opening child apps inside nav2 app

* Display child apps in fullscreen mode by default
as users can still open them in standalone via nav2 app
given the nav2 app's scope is the parent root path

* Update shortcuts and landing page

* Document PWA scope and installation order
when using Nav2 PWA scoped as root

* Revert setting scope for nav2 PWA to root path
as adding file browser shortcut to nav2 PWA is not worth the trouble
of having to explain installation order caveats and URL launch behavior.
File browser shortcut is still accessible from inside nav2 pwa launcher
but merely displays in browser preview
given root / is out of scope for /nav2/

* Update server diagnostics for troubleshooting

* Verify checksum of archive before extraction
incase anonymized URL changes expected archive

* Fix the condition in ackerman motion model constraints (#3581)

* Fix the condition in ackerman motion model constraints

* Fix ackerman motion model tests

* Fix another ackerman motion model test

* Add viz_expansions parameter for debug (#3577)

* viz_expansions

* lint

* switch to unique_ptr

* readme update

---------

Co-authored-by: Guillaume Doisy <[email protected]>

* Fix broken symlink for gzweb (#3585)

to load world models

* (collision monitor) add limit polygon type (#3519)

* add LIMIT polygon type

* fix unit tests

* Fix MIN_POINT doesn't exist

* Fix Action type enum

* FIX velocity used

* FIX unit test point distance

increase point distance to not be in limit field

* Update collision_monitor_node_test.cpp

* fix status name not updated

* [MOD] only single linear limit

* Apply review comments

* Update nav2_collision_monitor/include/nav2_collision_monitor/types.hpp

---------

Co-authored-by: Steve Macenski <[email protected]>

* Fix broken link to contributing guidelines (#3587)

The original URL (https://navigation.ros.org/contribute/index.html) seems not to exist, returning an HTTP 404. Hence, I've replaced the link with a page that seems most relevant.

* Adding Our Sponsors - May 2023 (#3593)

* adding our sponsors - may 2023

* adding blurb

* adding links

* adding links

* adding links

* adding Open Nav

* Fix dynamic polygons vertices not updated for different frame (#3591)

* Fix dynamic polygons vertices not updated for different frame

* Update nav2_collision_monitor/src/collision_monitor_node.cpp

---------

Co-authored-by: Steve Macenski <[email protected]>

* Fixing 3586: rviz panel operating in multiple non-standard frames (#3595)

* Fixes #3586 on rviz time stamping

* removing timing from rviz testing panel

* Add CostmapFilterInfoServer as a component (#3596)

* adding iron to the readme table statuses (#3598)

* adding iron to the readme table statuses

* collapsing table

* adding citation RPP

* Resolve #3532: reset i (#3597)

* [MPPI] empty path_follow_critic proper fix (#3599)

* [MPPI] empty path_follow_critic proper fix

* fix linting issue

---------

Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>

* Refactor sim_time and composable node usage in Collision Monitor (#3604)

* Refactor sim_time and composable node usage in Collision Monitor launch script

* Added namespace support

* Fix comment

* Fix costmap 2D test failures (#3611)

* costmap test without action

* test2

* try just printing first thing

* Update test_costmap_2d_publisher.cpp

* Compile flags non-virtual-destructor (#3609)

* added compile flags

* cleanup

* cleanup

* cleanup

* add virtual destructors

* uncrusify

* updating to 1.2.1 for release

---------

Co-authored-by: Ruffin <[email protected]>
Co-authored-by: Alexandr Buyval <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: BriceRenaudeau <[email protected]>
Co-authored-by: Hyung-Taik Choi <[email protected]>
Co-authored-by: Alexey Merzlyakov <[email protected]>
Co-authored-by: Filipe Cerveira <[email protected]>
Co-authored-by: Joshua Wallace <[email protected]>
@Rak-r
Copy link

Rak-r commented Jul 10, 2023

Might also want to see if you have something like this using sim_time depending on the plugins you are using in sim: https://github.com/CogniPilot/mrbuggy3_simulator/blob/8b26ae67e0003119a5b2a5b14acfcec1b4a46256/mrbuggy3_gz_bringup/launch/ros_gz_bridge_base.launch.py#L77-L92

I saw in the launch files you are creating pose bridge but where gazebo is publishing to that pose topic. When I do gz topic-l there is no topic related to robot/pose. I am having /robot/odometry which I am sending to ROS using bridge. I am also using the same ackermann plugin from gazebo. Setting NAV2 and Gazebo garden having similar issues. Could you advice something.

pepisg added a commit to kiwicampus/navigation2 that referenced this issue Apr 24, 2024
* bump to 1.2.0 for iron release

* Iron sync June 9: 1.2.1 (ros-navigation#3615)

* Improve usability of PWAs in Dev Containers (ros-navigation#3576)

* Add WIP icons

* Add WIP icons for gzweb

* Add WIP icons for glances

* Set cross origin to use credentials
ensuring auth cookie is included in request header
when requesting for web app manifest file
thus avoiding CORS policy violations in browser
when accessing forwarded codespaces ports from the web

> The request for the manifest is made without credentials (even if it's on the same domain), thus if the manifest requires credentials, you must include `crossorigin="use-credentials"` in the manifest tag.

- https://web.dev/add-manifest/
- https://stackoverflow.com/a/57184506/2577586

* Use ReqHost variable in templates
to account for X-Forwarded-Host value in header

* Delete duplicate manifest

* Set id property in app manifests
so we can address them independently from their start_url
- https://developer.chrome.com/blog/pwa-manifest-id/

* Ensure apps are uniquely identifies
by adding trailing slash to id
and thus different URI directories

* Refactor root landing page into nav2 app
by moving page file into nav2 sub folder
adding root redirect pointing to /nav2/
and updating html, markdown, manifest files respectively

* Fix https detection for Caddy reverse proxies
by also checking X-Forwarded-Proto in request header

* Remove unnecessary files

* Prune smaller images

* Prune duplicate icon

* Clean up html tags

* Update manifest icons

* Rename icons

* Revert "Prune duplicate icon"

This reverts commit 5710401.

* Add back favicon for shortcut

* Add self index for completeness and bookmarking

* Simplify icon linking

* Delete binary files

* Fix hyperlink path

* Include image files using gitattributes
to track these binary files via git LFS

* Add icons using git lfs

* Standardized all icon paths

* Use external links for icons
to avoid the need for using git LFS
although this is a bit of a hack

* Stage any and maskable icons

* Use any and masked icons

* Set colors to match maskable icon colors

* Update icon

* Use lossless compression
without removing background
- https://shortpixel.com/online-image-compression

* Use WebP instead of PNG
for smaller file sizes
- https://en.wikipedia.org/wiki/WebP

* Move icons into icons folder

* Use _SRV environment variables for service paths

* Download media files from github
during docker image build
to avoid adding always online dependencies
when creating or starting dev containers

* Delete media icons from git repo
now that we download media from anonymized URLs on github
- https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files

* Add comments

* Enable file browsing for non app paths
for remote debugging of media and asset files

* Consolidate assets into single folder

* Add links for file browser paths
to Server Diagnostics

* Delete unused symlink

* Update landing page to match manifest
by including same shortcuts and start url

* Patch gzweb to disable modelList
avoiding 404s for thumbnails
as they are hardcoded into js

* Update comments

* Simplify Caddyfile by reverting to symlinking
but add ROOT_SRV env for custom overriding

* Loop over nav2 srv folders when symlinking
to generalize over folder names

* Add matcher for file browsing root directory
while still redirecting to nav2 app by default

* Use placeholders for root variable
to consolidate env default fallback settings
e.g `:/srv`

* Promote file browser in Nav2 app shortcuts

* Fix and update SRV envs

* Postpone symlinking for Nav2 web app
to when post-create-command script then runs
given full repo is not copied into builder stage in Dockerfile.
While this could be postponed to update-content-command
leaving it here avoids blowing user changes
after the container has been created or modified.

* Add guard to check if srv folder exists

* Add refresh rate shortcuts to glances

* Add file browser shortcut to nav2

* Set scope for nav2 PWA to root
to allow for opening child apps inside nav2 app

* Display child apps in fullscreen mode by default
as users can still open them in standalone via nav2 app
given the nav2 app's scope is the parent root path

* Update shortcuts and landing page

* Document PWA scope and installation order
when using Nav2 PWA scoped as root

* Revert setting scope for nav2 PWA to root path
as adding file browser shortcut to nav2 PWA is not worth the trouble
of having to explain installation order caveats and URL launch behavior.
File browser shortcut is still accessible from inside nav2 pwa launcher
but merely displays in browser preview
given root / is out of scope for /nav2/

* Update server diagnostics for troubleshooting

* Verify checksum of archive before extraction
incase anonymized URL changes expected archive

* Fix the condition in ackerman motion model constraints (ros-navigation#3581)

* Fix the condition in ackerman motion model constraints

* Fix ackerman motion model tests

* Fix another ackerman motion model test

* Add viz_expansions parameter for debug (ros-navigation#3577)

* viz_expansions

* lint

* switch to unique_ptr

* readme update

---------

Co-authored-by: Guillaume Doisy <[email protected]>

* Fix broken symlink for gzweb (ros-navigation#3585)

to load world models

* (collision monitor) add limit polygon type (ros-navigation#3519)

* add LIMIT polygon type

* fix unit tests

* Fix MIN_POINT doesn't exist

* Fix Action type enum

* FIX velocity used

* FIX unit test point distance

increase point distance to not be in limit field

* Update collision_monitor_node_test.cpp

* fix status name not updated

* [MOD] only single linear limit

* Apply review comments

* Update nav2_collision_monitor/include/nav2_collision_monitor/types.hpp

---------

Co-authored-by: Steve Macenski <[email protected]>

* Fix broken link to contributing guidelines (ros-navigation#3587)

The original URL (https://navigation.ros.org/contribute/index.html) seems not to exist, returning an HTTP 404. Hence, I've replaced the link with a page that seems most relevant.

* Adding Our Sponsors - May 2023 (ros-navigation#3593)

* adding our sponsors - may 2023

* adding blurb

* adding links

* adding links

* adding links

* adding Open Nav

* Fix dynamic polygons vertices not updated for different frame (ros-navigation#3591)

* Fix dynamic polygons vertices not updated for different frame

* Update nav2_collision_monitor/src/collision_monitor_node.cpp

---------

Co-authored-by: Steve Macenski <[email protected]>

* Fixing 3586: rviz panel operating in multiple non-standard frames (ros-navigation#3595)

* Fixes ros-navigation#3586 on rviz time stamping

* removing timing from rviz testing panel

* Add CostmapFilterInfoServer as a component (ros-navigation#3596)

* adding iron to the readme table statuses (ros-navigation#3598)

* adding iron to the readme table statuses

* collapsing table

* adding citation RPP

* Resolve ros-navigation#3532: reset i (ros-navigation#3597)

* [MPPI] empty path_follow_critic proper fix (ros-navigation#3599)

* [MPPI] empty path_follow_critic proper fix

* fix linting issue

---------

Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>

* Refactor sim_time and composable node usage in Collision Monitor (ros-navigation#3604)

* Refactor sim_time and composable node usage in Collision Monitor launch script

* Added namespace support

* Fix comment

* Fix costmap 2D test failures (ros-navigation#3611)

* costmap test without action

* test2

* try just printing first thing

* Update test_costmap_2d_publisher.cpp

* Compile flags non-virtual-destructor (ros-navigation#3609)

* added compile flags

* cleanup

* cleanup

* cleanup

* add virtual destructors

* uncrusify

* updating to 1.2.1 for release

---------

Co-authored-by: Ruffin <[email protected]>
Co-authored-by: Alexandr Buyval <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: BriceRenaudeau <[email protected]>
Co-authored-by: Hyung-Taik Choi <[email protected]>
Co-authored-by: Alexey Merzlyakov <[email protected]>
Co-authored-by: Filipe Cerveira <[email protected]>
Co-authored-by: Joshua Wallace <[email protected]>

* remove non-virtual-dtor flag from nav2_package()

* WIP: Merge segmentation layer and GPS wpf

* WIP: remove wrong whitespace

* WIP: Bring back ffollow gps waypoints

* WIP: error codes to gps waypoint follwer

* Fix GPS waypoint follower error codes

* Fixing build warning (ros-navigation#3667) (ros-navigation#3672)

(cherry picked from commit 7d4b199)

Co-authored-by: Steve Macenski <[email protected]>

* Install nav2_behavior_tree utils outside of BUILD_TESTING (ros-navigation#3692) (ros-navigation#3697)

(cherry picked from commit abf3e85)

Co-authored-by: Aaditya Ravindran <[email protected]>

* Fix segfault on relaunch of controller server

* Fix the velocity smoother being stuck when the deadband is too high (ros-navigation#3690) (ros-navigation#3714)

* Move last_cmd update before deadband

* fix lint

(cherry picked from commit cb34d0c)

Co-authored-by: BriceRenaudeau <[email protected]>

* Iron sync 2, Aug 4, 1.2.2 (ros-navigation#3740)

* Only apply Wnon-virtual-dtor if the compile language is CXX (ros-navigation#3614)

* https://stackoverflow.com/questions/25525047/cmake-generator-expression-differentiate-c-c-code

Signed-off-by: Ryan Friedman <[email protected]>

* Fix map not showing on rviz when navigation is launched with namespace (ros-navigation#3620)

* Fix Wshadow errors and enforce it (ros-navigation#3617)

* Fix Wshadow errors and enforce it

Signed-off-by: Ryan Friedman <[email protected]>

* Remove workaround for pluginlib

* This was only needed because it was included transitively
* By finding and linking properly, the compiler flags get propogated as SYSTEM
  correctly

Signed-off-by: Ryan Friedman <[email protected]>

---------

Signed-off-by: Ryan Friedman <[email protected]>

* add-Wnull-dereference and fix warnings (ros-navigation#3622)

Signed-off-by: Ryan Friedman <[email protected]>

* updating mppi's path angle critic for optional bidirectionality (ros-navigation#3624)

* updating mppi's path angle critic for optional bidirectionality

* Update README.md

* correct error message (ros-navigation#3631)

* correct error message

* clean up

* cleanup

* remove header

* Let Navigators have different error codes (ros-navigation#3642)

* Change ERROR to DEBUG

* INFO message on init

* format code

* Replace newlines with spaces

* fixing path angle critic's non-directional bias (ros-navigation#3632)

* fixing path angle critic's non-directional bias

* adding reformat

* adapting goal critic for speed to goal (ros-navigation#3641)

* adapting goal critic for speed to goal

* retuning goal critic

* add readme entries

* Update critics_tests.cpp

* Fix uninitialized value (ros-navigation#3651)

* In NAV2, this warning is treated as an error

Signed-off-by: Ryan Friedman <[email protected]>

* Fix rviz panel node arguments (ros-navigation#3655)

Signed-off-by: Nick Lamprianidis <[email protected]>

* Reduce out-of-range log to DEBUG (ros-navigation#3656)

* Adding nan twist rejection for velocity smoother and collision monitor (ros-navigation#3658)

* adding nan twist rejection for velocity smoother and collision monitor

* deref

* Ceres exposes a namespaced export and recommends it in their docs (ros-navigation#3652)

Signed-off-by: Ryan Friedman <[email protected]>

* Enable multiple MPPI path angle modes depending on preferences in behavior (ros-navigation#3650)

* fixing path angle critic's non-directional bias

* adding reformat

* handle linting

* add utility unit tests

* adding unit tests for path angle

* MPPI: Support Exact Path Following For Feasible Plans (ros-navigation#3659)

* alternative to path align critic for inversion control

* fix default behavior (enforce_path_inversion: false) (ros-navigation#3643)

Co-authored-by: Guillaume Doisy <[email protected]>

* adding dyaw option for path alignment to incentivize following the path's intent where necessary

* add docs for use path orientations

* fix typo

---------

Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>

* Resolves 3646: Update CMAKE_COMPILER_IS_GNUCXX (ros-navigation#3662)

* Resolves 3646: Update CMAKE_COMPILER_IS_GNUCXX

* Update CMakeLists.txt

* Fix smoother server tests (ros-navigation#3663)

* Fix smoother server tests

* Update test_smoother_server.cpp

* fix some new build warnings from sync (ros-navigation#3674)

* fix some new build warnings

* fixing last issue

* Update navigate_through_poses_action.hpp

* adding unsigned int to tests

* all to unsigned shorts

* test new warning resolution

* Update

* convert unsigned shorts to uint16_t for linter

* Fix costmap publisher test (ros-navigation#3679)

* added printouts

* ignore system tests

* fix

* cleanup

* Update test_costmap_2d_publisher.cpp

remove space

* remove empty message (ros-navigation#3691)

* Collision Monitor fixups (ros-navigation#3696)

* Fix max_points -> min_points in parameters
* Move robot_utils.hpp include to source where it actually using
* Remove double-description of getTransform()

* Use ParameterFile (allow_substs) (ros-navigation#3706)

Signed-off-by: ymd-stella <[email protected]>

* nav2_bt_navigator: log current location on navigate_to_pose action initialization (ros-navigation#3720)

It is very useful to know the current location considered by the
bt_navigator for debug purposes.

* nav2_behaviors: export all available plugins (ros-navigation#3716)

It allows external packages to include those headers and create child
classes through inheritance.

* changing costmap layers private to protected (ros-navigation#3722)

* Update costmap_2d_ros.cpp (ros-navigation#3687)

* updated nav2_behavior_tree test util install path (ros-navigation#3718)

* launch linting (ros-navigation#3729)

* adding error warnings around incorrect inflation layer setups in MPPI and Smac which impact performance substantially (ros-navigation#3728)

* adding error warnings around incorrect inflation layer setups in MPPI and Smac which impact performance substantially

* fix test failures

* Update RewrittenYaml to support list rewrites (ros-navigation#3727)

* allowing leaf key rewrites that aren't dcits (ros-navigation#3730)

* adding checks on config and dynamic parameters for proper velocity and acceleration limits (ros-navigation#3731)

* Fix Goal updater QoS (ros-navigation#3719)

* Fix GoalUpdater QoS

* Fixes

* adding tolerance back in for smac lattice and hybrid-A* planners (ros-navigation#3734)

* Completing Hybrid-A* visualization of expansion footprints PR (ros-navigation#3733)

* smach_planner_hybrid: add support visualization for hybrid Astar

* smac_planner_hyrid: revert some

* smach_planner_hybrid: improving code quality

* utils: add some useful functions

* utils: fix mistake

* nav2_smac_planner: fix format problem

* utils: fix format and revise functions

* smach_planner_hybrid: delete _viz_expansion parameter

* smac_planner_hybrid: fix format

* README: update parameter

* utils: corrct mistake return

* utils: make timestamp a const reference

* nav2_smac_planner: correct format problem

* add unit test functions

* further detection of element equality

* test_utils: add non-trival translation and rotation

* smac_planner_hybrid: pass value instead of references

* completing hybrid A* visualization

---------

Co-authored-by: xianglunkai <[email protected]>

* Update README.md (ros-navigation#3736)

* Update README.md

* Update README.md

* sync iron to 1.2.2 to release

---------

Signed-off-by: Ryan Friedman <[email protected]>
Signed-off-by: Nick Lamprianidis <[email protected]>
Signed-off-by: ymd-stella <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Filipe Cerveira <[email protected]>
Co-authored-by: Joshua Wallace <[email protected]>
Co-authored-by: RBT22 <[email protected]>
Co-authored-by: Nick Lamprianidis <[email protected]>
Co-authored-by: BriceRenaudeau <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Alexey Merzlyakov <[email protected]>
Co-authored-by: ymd-stella <[email protected]>
Co-authored-by: DylanDeCoeyer-Quimesis <[email protected]>
Co-authored-by: Aaditya Ravindran <[email protected]>
Co-authored-by: gyaanantia <[email protected]>
Co-authored-by: Tony Najjar <[email protected]>
Co-authored-by: xianglunkai <[email protected]>

* nav2_collision_monitor: collision detector (ros-navigation#3500) (Iron backport) (ros-navigation#3758)

* nav2_collision_monitor: collision detector (ros-navigation#3500)

* fix

* mppi: return NO_INFORMATION when the checked point is outside the costmap (ros-navigation#3816) (ros-navigation#3817)

otherwise the controller crashes at ObstaclesCritic::costAtPose
because x_i and y_i isn't initialized.

(cherry picked from commit 6b250a7)

Co-authored-by: Chuanhong Guo <[email protected]>

* Iron Sync 3 - Sept 25 (ros-navigation#3837)

* Same orientation of coordinate frames in rviz ang gazebo (ros-navigation#3751)

* rviz view straight in default xy orientation

Signed-off-by: Christian Henkel <[email protected]>

* gazebo orientation to match rviz

Signed-off-by: Christian Henkel <[email protected]>

* rotating in direction of view

---------

Signed-off-by: Christian Henkel <[email protected]>

* Fix flaky costmap filters tests: (ros-navigation#3754)

1. Set forward_prune_distance to 1.0 to robot not getting lost
2. Correct map name for costmap filter tests

* Update smac_planner_hybrid.cpp (ros-navigation#3760)

* Fix missing mutex in PlannerServer::isPathValid (ros-navigation#3756)

Signed-off-by: ymd-stella <[email protected]>

* Rename PushRosNamespace to PushROSNamespace (ros-navigation#3763)

* Rewrite the scan topic costmap plugins for multi-robot(namespace) before launch navigation. (ros-navigation#3572)

* Make it possible to launch namspaced robot which rewrites `<robot_namespace>` to namespace.
- It allows to apply namespace automatically on specific target topic path in costmap plugins.

Add new nav2 params file for multi-robot(rewriting `<robot_namespace>`) as an example.
- nav2_multirobot_params_all.yaml

Modify nav2_common.ReplaceString
- add condition argument

* Update nav2_bringup/launch/bringup_launch.py

Co-authored-by: Steve Macenski <[email protected]>

* Add new luanch script for multi-robot bringup

Rename luanch script for multi-robot simulation bringup

Add new nav2_common script
- Parse argument
- Parse multirobot pose

Update README.md

* Update README.md

Apply suggestions from code review

Fix pep257 erors

Co-authored-by: Steve Macenski <[email protected]>

---------

Co-authored-by: Steve Macenski <[email protected]>

* use ros clock for wait (ros-navigation#3782)

* use ROS clock for wait

* fix backport issue

---------

Co-authored-by: Guillaume Doisy <[email protected]>

* fixing external users of the BT action node template (ros-navigation#3792)

* fixing external users of the BT action node template

* Update nav2_behavior_tree/include/nav2_behavior_tree/bt_action_server_impl.hpp

Co-authored-by: Guillaume Doisy <[email protected]>

---------

Co-authored-by: Guillaume Doisy <[email protected]>

* Fixing typo in compute path through poses error codes (ros-navigation#3799)

Signed-off-by: Mannucci, Anna (Bosch (CR)) <[email protected]>
Co-authored-by: Mannucci, Anna (Bosch (CR)) <[email protected]>

* Fixes for flaky WPF test (ros-navigation#3785)

* Fixes for flaky WPF test:
* New RewrittenYaml ability to add non-existing parameters
* Prune distance fix for WPF test
* Treat UNKNOWN status as error in WPF
* Clear error codes after BT run
* Remove unnecessary setInitialPose() from WPF test

* Update nav2_waypoint_follower/src/waypoint_follower.cpp

Co-authored-by: Steve Macenski <[email protected]>

* Clean error code in any situation

* Fix UNKNOWN WPF status handling

---------

Co-authored-by: Steve Macenski <[email protected]>

* Fix `min_points` comparison check (ros-navigation#3795)

* Fix min_points checking

* Expose action server result timeout as a parameter in bt navigator servers (ros-navigation#3787)

* Expose action server default timeout in bt navigator servers

* typo

* duplicated comment

* Expose result timeout in other actions

* Proper timeout in bt node

* Change default timeouts and remove comments

* Remove comment in params file

* uncrustify controller server

* Using Simple Commander API for multi robot systems (ros-navigation#3803)

* support multirobot namespaces

* add docs

* adding copy all params primitive for BT navigator (to ingest into rclcpp) (ros-navigation#3804)

* adding copy all params primitive

* fix linting

* lint

* I swear to god, this better be the last linting issue

* allowing params to be declared from yaml

* Update bt_navigator.cpp

* Fix CD configuration link reference (ros-navigation#3811)

* Fix CD configuration page reference

* Add CM work on 6th ROS Developers Day reference

* some minor optimizations (ros-navigation#3821)

* fix broken behaviortree doc link (ros-navigation#3822)

Signed-off-by: Anton Kesy <[email protected]>

* [MPPI] complete minor optimaization with floating point calculations (ros-navigation#3827)

* floating point calculations

* Update optimizer_unit_tests.cpp

* Update critics_tests.cpp

* Update critics_tests.cpp

* 25% speed up of goal critic; 1% speed up from vy striding when not in use

* Add nav2_gps_waypoint_follower (ros-navigation#2814)

* Add nav2_gps_waypoint_follower

* use correct client node while calling it to spin

* changed after 1'st review

* apply requested changes

* nav2_util::ServiceClient instead of CallbackGroup

* another  iteration to adress issues

* update poses with function in the follower logic

* add deps of robot_localization: diagnostics

* fix typo in underlay.repo

* add deps of robot_localization: geographic_info

* minor clean-ups

* bond_core version has been updated

* rotation should also be considered in GPS WPFing

* use better namings related to gps wpf orientation

* handle cpplint errors

* tf_listener needs to be initialized

* apply requested changes

* apply requested changes 3.0/3.0

* fix misplaced ";"

* use run time param for gps transform timeout

* change timeout var name

* make use of stop_on_failure for GPS too

* passing emptywaypont vectors are seen as failure

* update warning for empty requests

* consider utm -> map yaw offset

* fix missed RCLCPP info

* reorrect action;s name

* waypoint stamps need to be updated

* Fix segmentation fault on waypoint follower

* Parametric frames and matrix multiplications

* Replace oriented navsatfix for geographic_msgs/geopose

* Remove deprecated oriented  navsatfix message

* Update branch name on robot_localization dependency

* Fix parametric frames logic

* Rename functions and adress comments

* fix style in underlay.repos

* remove duplicate word in underlay.repos

* update dependency version of ompl

* Template ServiceClient class to accept lifecycle node

* Remove link to stackoverflow answer

* Remove yaw offset compensation

* Fix API change

* Fix styling

* Minor docs fixes

* Fix style divergences

* Style fixes

* Style fixes v2

* Style fixes v3

* Remove unused variables and timestam overrides

* restore goal timestamp override

* WIP: Add follow gps waypoints test

* Style fixes and gazebo world inertia fix

* Reduce velocity smoother timeout

* empty commit to rerun tests

* Increment circle ci cache idx

* Remove extra space in cmakelists.txt

* Fix wrong usage of the global action server

* update follow gps waypoints action definition

* Fix action definition and looping

* update params for the unit testing

* WIP: update tests

* fix tests

* fixes to nav2 simple commander

* add robot_localization localizer

* Bring back from LL client

* Update nav2_simple_commander/nav2_simple_commander/robot_navigator.py

Co-authored-by: Steve Macenski <[email protected]>

* missing argument in test function

* small test error

* style fixes nav2 simple commander

* rename cartesian action server

---------

Co-authored-by: jediofgever <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>

* bumping iron from 1.2.2 to 1.2.3 for release

* Update waypoint_follower.cpp

---------

Signed-off-by: Christian Henkel <[email protected]>
Signed-off-by: ymd-stella <[email protected]>
Signed-off-by: Mannucci, Anna (Bosch (CR)) <[email protected]>
Signed-off-by: Anton Kesy <[email protected]>
Co-authored-by: Christian Henkel <[email protected]>
Co-authored-by: Alexey Merzlyakov <[email protected]>
Co-authored-by: ymd-stella <[email protected]>
Co-authored-by: Tony Najjar <[email protected]>
Co-authored-by: Hyunseok <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Anna Mannucci <[email protected]>
Co-authored-by: Mannucci, Anna (Bosch (CR)) <[email protected]>
Co-authored-by: Tony Najjar <[email protected]>
Co-authored-by: Pedro Alejandro González <[email protected]>
Co-authored-by: Anton Kesy <[email protected]>
Co-authored-by: jediofgever <[email protected]>

* Update CMakeLists.txt (ros-navigation#3843) (ros-navigation#3844)

(cherry picked from commit 2d6e9a9)

Co-authored-by: Steve Macenski <[email protected]>

* bump to 1.2.4 for AVX512 binary fix

* add option for sse4 and avs512 (ros-navigation#3853) (ros-navigation#3854)

(cherry picked from commit 7274811)

Co-authored-by: Steve Macenski <[email protected]>

* Bumping to 1.2.5 for binary release of AVX512 patches

* Start planner in the end of previous path

* [MPPI Optimization] adding regenerate noise param + adding docs (ros-navigation#3868) (ros-navigation#3869)

* adding regenerate noise param + adding docs

* fix tests

* remove unnecessary normalization

* Update optimizer.cpp

(cherry picked from commit 924f167)

Co-authored-by: Steve Macenski <[email protected]>

* [MPPI] Reworked Path Align Critic; 70% faster + Tracks Paths Better! Edit: strike that, now 80% (ros-navigation#3872) (ros-navigation#3881)

* adding regenerate noise param + adding docs

* fix tests

* remove unnecessary normalization

* Update optimizer.cpp

* adding refactored path alignment critic

* fix visualization bug

* speed up another 30%

* remove a little jitter

* a few more small optimizaitons

* fixing unit tests

* retain legacy critic

* adding tests for legacy

(cherry picked from commit 7009ffb)

Co-authored-by: Steve Macenski <[email protected]>

* revert back to no gps waypoint follower

* Use mutex to protect costmap reads. (ros-navigation#3877) (ros-navigation#3896)

* Use mutex to protect costmap reads.
Otherwise costmap can be read during a map update and return 0.

* Revert "Use mutex to protect costmap reads."

This reverts commit e16a44c.

* Lock costmap before running MPPI controller.

* Fix typo.

* Protect against costmap updates in MPP and RotationShim controllers.

---------

Co-authored-by: Leif Terry <[email protected]>
(cherry picked from commit a1c9fd5)

Co-authored-by: LeifHookedWireless <[email protected]>

* Adjust the Variable types in Nav2_costmap_2d pkg in [nav2_humble]  ros-navigation#3891 (ros-navigation#3900) (ros-navigation#3901)

* image.hpp ros-navigation#3891

* Update image.hpp

(cherry picked from commit 7a7c6da)

Co-authored-by: GoesM <[email protected]>

* Log if BT rate is exceeded (ros-navigation#3909) (ros-navigation#3912)

(cherry picked from commit a11cdd8)

Co-authored-by: Steve Macenski <[email protected]>

* Fixing subtree issues with blackboard shared resources (3640) (ros-navigation#3911) (ros-navigation#3915)

* fixing subtree issues

* Update bt_action_server_impl.hpp

(cherry picked from commit 4b4465d)

Co-authored-by: Steve Macenski <[email protected]>

* Update theta_star_planner.cpp (ros-navigation#3918) (ros-navigation#3921)

(cherry picked from commit 0629ff3)

Co-authored-by: Steve Macenski <[email protected]>

* Change custom semantic segmentation message for image

* Handle NaNs in AMCL beam sensor model (ros-navigation#3929) (ros-navigation#3936)

* Handle NaNs in AMCL beam sensor model

Signed-off-by: Michel Hidalgo <[email protected]>

* Use proper isnan check

Signed-off-by: Michel Hidalgo <[email protected]>

---------

Signed-off-by: Michel Hidalgo <[email protected]>
(cherry picked from commit 06c3550)

Co-authored-by: Michel Hidalgo <[email protected]>

* Fix NaN in Updated PathAlign (ros-navigation#3943) (ros-navigation#3944)

(cherry picked from commit 3d14d98)

Co-authored-by: Steve Macenski <[email protected]>

* Fix for  robot footprint collision in obstacles critic (ros-navigation#3878) (ros-navigation#3946)

* Inscribed/Circumscribed costs must be updated to take into account the
current shape of the robot.
Was previous only being called once in initialize().

* Add early return to avoid calculations if footprint has not changed.

* Only update radius if using footprint.
Add perf timers.

* Remove perf timers.

* Update comments.

---------

Co-authored-by: Leif Terry <[email protected]>
(cherry picked from commit 98af3b9)

Co-authored-by: LeifHookedWireless <[email protected]>

* Enabling soft realtime prioritization to the Controller Server (ros-navigation#3914) (ros-navigation#3975)

* Enabling soft realtime prioritization to the controller server

* abstracting to another function

* changing default priorities

* linting

(cherry picked from commit fbe8f56)

Co-authored-by: Steve Macenski <[email protected]>

* Integration of mapping api with dynamic velocities changes

* simplify logic

* eliminate un-necessary lines of code

* style

* style2

* remove duplicate line from merge

* remove blank line

* restore nav2_utils copy_all_paramteres function.

* Add segmentation confidence plugin

* Remove deprecated segmentation file

* Docstrings and remove repeated struct

* Add docstrings & minor changes

---------

Signed-off-by: Ryan Friedman <[email protected]>
Signed-off-by: Nick Lamprianidis <[email protected]>
Signed-off-by: ymd-stella <[email protected]>
Signed-off-by: Christian Henkel <[email protected]>
Signed-off-by: Mannucci, Anna (Bosch (CR)) <[email protected]>
Signed-off-by: Anton Kesy <[email protected]>
Co-authored-by: stevemacenski <[email protected]>
Co-authored-by: Ruffin <[email protected]>
Co-authored-by: Alexandr Buyval <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: BriceRenaudeau <[email protected]>
Co-authored-by: Hyung-Taik Choi <[email protected]>
Co-authored-by: Alexey Merzlyakov <[email protected]>
Co-authored-by: Filipe Cerveira <[email protected]>
Co-authored-by: Joshua Wallace <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Aaditya Ravindran <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: RBT22 <[email protected]>
Co-authored-by: Nick Lamprianidis <[email protected]>
Co-authored-by: ymd-stella <[email protected]>
Co-authored-by: DylanDeCoeyer-Quimesis <[email protected]>
Co-authored-by: Aaditya Ravindran <[email protected]>
Co-authored-by: gyaanantia <[email protected]>
Co-authored-by: Tony Najjar <[email protected]>
Co-authored-by: xianglunkai <[email protected]>
Co-authored-by: Chuanhong Guo <[email protected]>
Co-authored-by: Christian Henkel <[email protected]>
Co-authored-by: Hyunseok <[email protected]>
Co-authored-by: Anna Mannucci <[email protected]>
Co-authored-by: Mannucci, Anna (Bosch (CR)) <[email protected]>
Co-authored-by: Tony Najjar <[email protected]>
Co-authored-by: Anton Kesy <[email protected]>
Co-authored-by: jediofgever <[email protected]>
Co-authored-by: LeifHookedWireless <[email protected]>
Co-authored-by: GoesM <[email protected]>
Co-authored-by: Michel Hidalgo <[email protected]>
Co-authored-by: Sebastian Solarte <[email protected]>
enricosutera pushed a commit to enricosutera/navigation2 that referenced this issue May 19, 2024
…s-navigation#3595)

* Fixes ros-navigation#3586 on rviz time stamping

* removing timing from rviz testing panel

Signed-off-by: enricosutera <[email protected]>
Marc-Morcos pushed a commit to Marc-Morcos/navigation2 that referenced this issue Jul 4, 2024
* Improve usability of PWAs in Dev Containers (ros-navigation#3576)

* Add WIP icons

* Add WIP icons for gzweb

* Add WIP icons for glances

* Set cross origin to use credentials
ensuring auth cookie is included in request header
when requesting for web app manifest file
thus avoiding CORS policy violations in browser
when accessing forwarded codespaces ports from the web

> The request for the manifest is made without credentials (even if it's on the same domain), thus if the manifest requires credentials, you must include `crossorigin="use-credentials"` in the manifest tag.

- https://web.dev/add-manifest/
- https://stackoverflow.com/a/57184506/2577586

* Use ReqHost variable in templates
to account for X-Forwarded-Host value in header

* Delete duplicate manifest

* Set id property in app manifests
so we can address them independently from their start_url
- https://developer.chrome.com/blog/pwa-manifest-id/

* Ensure apps are uniquely identifies
by adding trailing slash to id
and thus different URI directories

* Refactor root landing page into nav2 app
by moving page file into nav2 sub folder
adding root redirect pointing to /nav2/
and updating html, markdown, manifest files respectively

* Fix https detection for Caddy reverse proxies
by also checking X-Forwarded-Proto in request header

* Remove unnecessary files

* Prune smaller images

* Prune duplicate icon

* Clean up html tags

* Update manifest icons

* Rename icons

* Revert "Prune duplicate icon"

This reverts commit 5710401.

* Add back favicon for shortcut

* Add self index for completeness and bookmarking

* Simplify icon linking

* Delete binary files

* Fix hyperlink path

* Include image files using gitattributes
to track these binary files via git LFS

* Add icons using git lfs

* Standardized all icon paths

* Use external links for icons
to avoid the need for using git LFS
although this is a bit of a hack

* Stage any and maskable icons

* Use any and masked icons

* Set colors to match maskable icon colors

* Update icon

* Use lossless compression
without removing background
- https://shortpixel.com/online-image-compression

* Use WebP instead of PNG
for smaller file sizes
- https://en.wikipedia.org/wiki/WebP

* Move icons into icons folder

* Use _SRV environment variables for service paths

* Download media files from github
during docker image build
to avoid adding always online dependencies
when creating or starting dev containers

* Delete media icons from git repo
now that we download media from anonymized URLs on github
- https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files

* Add comments

* Enable file browsing for non app paths
for remote debugging of media and asset files

* Consolidate assets into single folder

* Add links for file browser paths
to Server Diagnostics

* Delete unused symlink

* Update landing page to match manifest
by including same shortcuts and start url

* Patch gzweb to disable modelList
avoiding 404s for thumbnails
as they are hardcoded into js

* Update comments

* Simplify Caddyfile by reverting to symlinking
but add ROOT_SRV env for custom overriding

* Loop over nav2 srv folders when symlinking
to generalize over folder names

* Add matcher for file browsing root directory
while still redirecting to nav2 app by default

* Use placeholders for root variable
to consolidate env default fallback settings
e.g `:/srv`

* Promote file browser in Nav2 app shortcuts

* Fix and update SRV envs

* Postpone symlinking for Nav2 web app
to when post-create-command script then runs
given full repo is not copied into builder stage in Dockerfile.
While this could be postponed to update-content-command
leaving it here avoids blowing user changes
after the container has been created or modified.

* Add guard to check if srv folder exists

* Add refresh rate shortcuts to glances

* Add file browser shortcut to nav2

* Set scope for nav2 PWA to root
to allow for opening child apps inside nav2 app

* Display child apps in fullscreen mode by default
as users can still open them in standalone via nav2 app
given the nav2 app's scope is the parent root path

* Update shortcuts and landing page

* Document PWA scope and installation order
when using Nav2 PWA scoped as root

* Revert setting scope for nav2 PWA to root path
as adding file browser shortcut to nav2 PWA is not worth the trouble
of having to explain installation order caveats and URL launch behavior.
File browser shortcut is still accessible from inside nav2 pwa launcher
but merely displays in browser preview
given root / is out of scope for /nav2/

* Update server diagnostics for troubleshooting

* Verify checksum of archive before extraction
incase anonymized URL changes expected archive

* Fix the condition in ackerman motion model constraints (ros-navigation#3581)

* Fix the condition in ackerman motion model constraints

* Fix ackerman motion model tests

* Fix another ackerman motion model test

* Add viz_expansions parameter for debug (ros-navigation#3577)

* viz_expansions

* lint

* switch to unique_ptr

* readme update

---------

Co-authored-by: Guillaume Doisy <[email protected]>

* Fix broken symlink for gzweb (ros-navigation#3585)

to load world models

* (collision monitor) add limit polygon type (ros-navigation#3519)

* add LIMIT polygon type

* fix unit tests

* Fix MIN_POINT doesn't exist

* Fix Action type enum

* FIX velocity used

* FIX unit test point distance

increase point distance to not be in limit field

* Update collision_monitor_node_test.cpp

* fix status name not updated

* [MOD] only single linear limit

* Apply review comments

* Update nav2_collision_monitor/include/nav2_collision_monitor/types.hpp

---------

Co-authored-by: Steve Macenski <[email protected]>

* Fix broken link to contributing guidelines (ros-navigation#3587)

The original URL (https://navigation.ros.org/contribute/index.html) seems not to exist, returning an HTTP 404. Hence, I've replaced the link with a page that seems most relevant.

* Adding Our Sponsors - May 2023 (ros-navigation#3593)

* adding our sponsors - may 2023

* adding blurb

* adding links

* adding links

* adding links

* adding Open Nav

* Fix dynamic polygons vertices not updated for different frame (ros-navigation#3591)

* Fix dynamic polygons vertices not updated for different frame

* Update nav2_collision_monitor/src/collision_monitor_node.cpp

---------

Co-authored-by: Steve Macenski <[email protected]>

* Fixing 3586: rviz panel operating in multiple non-standard frames (ros-navigation#3595)

* Fixes ros-navigation#3586 on rviz time stamping

* removing timing from rviz testing panel

* Add CostmapFilterInfoServer as a component (ros-navigation#3596)

* adding iron to the readme table statuses (ros-navigation#3598)

* adding iron to the readme table statuses

* collapsing table

* adding citation RPP

* Resolve ros-navigation#3532: reset i (ros-navigation#3597)

* [MPPI] empty path_follow_critic proper fix (ros-navigation#3599)

* [MPPI] empty path_follow_critic proper fix

* fix linting issue

---------

Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>

* Refactor sim_time and composable node usage in Collision Monitor (ros-navigation#3604)

* Refactor sim_time and composable node usage in Collision Monitor launch script

* Added namespace support

* Fix comment

* Fix costmap 2D test failures (ros-navigation#3611)

* costmap test without action

* test2

* try just printing first thing

* Update test_costmap_2d_publisher.cpp

* Compile flags non-virtual-destructor (ros-navigation#3609)

* added compile flags

* cleanup

* cleanup

* cleanup

* add virtual destructors

* uncrusify

* updating to 1.2.1 for release

---------

Co-authored-by: Ruffin <[email protected]>
Co-authored-by: Alexandr Buyval <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: Guillaume Doisy <[email protected]>
Co-authored-by: BriceRenaudeau <[email protected]>
Co-authored-by: Hyung-Taik Choi <[email protected]>
Co-authored-by: Alexey Merzlyakov <[email protected]>
Co-authored-by: Filipe Cerveira <[email protected]>
Co-authored-by: Joshua Wallace <[email protected]>
Signed-off-by: MarcM0 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants