Comments (12)
Can you report the value of use_sim_time
for the global_costmap
, controller_server
and planner_server
? The costmaps inherit this parameter from the controller and the planner nodes. See here
from navigation2.
Yup, all good thanks.
from navigation2.
Hey, it could probably that, in the launch file, the use_sim_time
param might be set to false
. Could you please check that?
from navigation2.
@padhupradheep No, there is not a single instance where use_sim_time
is false in my repo.
from navigation2.
They all show use_sim_time: false
. But I set use_sim_time: True
for every config in the nav2_params.yaml
.
from navigation2.
Weird, the next step would be to try to reproduce on our side.
Launch the simulation
Can you send the exact command you ran? (along with any other setup-specific stuff we should know about)
from navigation2.
If I pass use_sim_time = true
to the nav2 bringup, finally everything uses sim time. It seems this global parameter always overrides the params file, even when unset.
bringup = IncludeLaunchDescription(
PythonLaunchDescriptionSource(bringup_share + "/launch/bringup_launch.py"),
launch_arguments={
"params_file": os.path.join(pkg_share, "config/nav2_params.yaml"),
"map": os.path.join(pkg_share, "config/map.yaml"),
"use_sim_time": "True",
}.items(),
)
from navigation2.
@david-wb can you reproduce using the nav2_bringup as the example, not your custom files? That helps us isolate potential problems to bugs in the stack vs bugs potentially present in your custom use. For example, when you launch with use sim time as true/false, do you still see that issue with our default bringup? https://github.com/ros-navigation/navigation2/blob/main/nav2_bringup/launch/tb3_simulation_launch.py
from navigation2.
Sure, here is the simplest way I can reproduce the issue.
Run
ros2 launch nav2_bringup bringup_launch.py map:=/opt/ros/humble/share/nav2_bringup/maps/turtlebot3_world.yaml
This will use the default nav2 params which have use_sim_time
set to True
for the /amcl
node.
But the actual value is False
:
$ ros2 param get /amcl use_sim_time
Boolean value is: False
It seems the use_sim_time
param of bringup_launch.py
overwrites whatever is present in the params file, even when it is unset. Maybe this is by design, but it means the values of use_sim_time
in the params file are always ignored, which is a bit confusing.
from navigation2.
I just tested
ros2 launch nav2_bringup tb3_simulation_launch.py
steve@reese:~/Documents/navigation2_ws$ ros2 param get /amcl use_sim_time
Boolean value is: True
and
ros2 launch nav2_bringup tb3_simulation_launch.py use_sim_time:=False
steve@reese:~/Documents/navigation2_ws$ ros2 param get /amcl use_sim_time
Boolean value is: False
So this appears to be working in main
. Humble's branch is a little different in the use sim time handling, so make sure to use the files from humble
to base your launch and nav2 yaml configuration files based off of. If you mix and match you will run into issues since the use sim time handling between the main
branch and humble
was fundamentally refactored. From experience, I know some users have had issues mixing and matching branch config/launch/nodes so just want to point that out and ask that you test that.
from navigation2.
The problem is that the launch file will always override whatever is in the params file for the use_sim_time param. It is not an issue for me now that I am aware of it.
from navigation2.
Yes, this is the case. use_sim_time
has always been a "special" parameter that has unique considerations. You can however remove the setting of use_sim_time
from your launch files so that it only uses what's in the param files, which should be straight forward.
Does that answer you question?
from navigation2.
Related Issues (20)
- loopback_sim: provide realistic scan data
- The default_server_timeout parameter in bt_navigator is always overridden by the server_timeout port in each BT action node. HOT 3
- The callback function of subscriber is not called while navigation is in progress. HOT 1
- Missing nav2_namespaced_view.rviz referenced in launch files HOT 1
- Planner for uneven outdoor surfaces HOT 2
- Do We Still Need `lifecycle_publisher->on_activate()`? HOT 9
- Backport cmake updates from Chris to Jazzy HOT 1
- Building nav2 from source fails, ubuntu 22.04 ROS2 Humble HOT 2
- Keepout filter mask reload on the fly? HOT 2
- Restore exported BT util test files after cmake revamp HOT 1
- Nav2 Voxel Layer Costmap Issue: Path Planner Ignores Obstacles from PointCloud Data HOT 1
- NavfnPlanner randomly fails for a clearly reachable goal saying "Failed to create a plan from potential when a legal .... found" HOT 11
- [MPPI] Rotational Constraint HOT 1
- [Question, DWB Planner] How to use dwb planner only HOT 1
- Backport nav2_graceful_controller to Iron HOT 2
- follow_path action keeps on running after having canceled the goal HOT 4
- I got this error [component_container_isolated-2] [ERROR] [1725418332.608375481] [transformPoseInTargetFrame]: Failed to transform from to base_link HOT 1
- [MPPI] Incorrect Sign Handling for wz Adjustment of Ackermann MotionModel, when vx is Negative in applyConstraints HOT 3
- Custom Global Path Planning Plugin HOT 1
- Potential Issue with Sequential Updates in savitskyGolayFilter Function HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from navigation2.