Comments (4)
The polygons are all published on the process
rate:
echo
ing the topic a stream of data. This again uses system default QoS so some of this might be your own issue of introducing transient local into the mix.
I just tested and see no issues, I would again however point to making sure that your cmd_vel is actually configured to get to the collision monitor since you mentioned changing some of those settings. Process is only called on the cmd_vel trigger which would explain all of this behavior, since we also publish the polygon at the start with activate
, but just a single time.
So you'd see only the single polygon from the initial state and not updated. It gets updated by a re-subscribe since its in the base_footprint frame, so when it gets the new data, rviz automatically converts it into your visualizer's fixed frame.
If you echo and it appears once and not a live stream, it means the collision monitor itself is not receiving command velocity data and you should review the configuration guide or main
examples for setting up the collision monitor: https://docs.nav2.org/configuration/packages/configuring-collision-monitor.html
I did mention that above in:
Your remark below would make me want to ensure that you have properly remapped that topic for the the collision monitor as well, since obviously the collision monitor needs to obtain the cmd-vel to do useful work.
Please review that.
from navigation2.
It looks like your QoS settings are wrong on that display?
navigation2/nav2_collision_monitor/src/polygon.cpp
Lines 94 to 96 in f34ca63
Is it working properly minus the visualization? Just making sure I shouldn't scrutinize the code or your configuration for possible issues and its just a transport on the visualizations. Your remark below would make me want to ensure that you have properly remapped that topic for the the collision monitor as well, since obviously the collision monitor needs to obtain the cmd-vel to do useful work.
Change the remapping topics of controller_server and nav2_smoother from cmd_vel_nav to cmd_vel_raw.
from navigation2.
Hi Steve thanks for your attention on this question.
I'm encountering an issue with visualizing polygons using the default QoS settings.
When I launch the collision monitor node first, the polygons always appear without issues, provided I set the Durability QoS to transient_local. This setting ensures that the data is retained and available to late-joining subscribers. Here's a screenshot of the working setup:
There is one **interesting detail ** that I have noticed: If I launch the collision monitor node first then the polygons always appear with no issues, (although must be mandatory to set the Durability QoS to transient_local).
When I set both to transient_local it works:
However, if I launch the simulation first and then the collision monitor node, the behavior becomes unstable. The polygons do not always appear; sometimes only polygon_stop appears, and other times neither of them show up. Despite this, the messages seem to be sent correctly, as echoed in the terminal, but they are not visualized properly:
Chuck commented on my issue on robotics stack exchange
"When I followed the link to the tutorial you were using, I saw this statement: Both polygon shapes in the tutorial were set statically. However, there is an ability to dynamically adjust them over time using topic messages containing vertices points for polygons or footprints. For more information, please refer to the configuration guide. which sounds to me like it exactly describes what you're seeing - you get a single static polygon that does not adjust over time. Have you tried testing with dynamic polygons?"
I believe this is the last behavior I need to fix. I want the polygons to dynamically follow my robot's base_footprint. Unfortunately, I did not understand how to set the parameters and launch file for dynamic behavior from the documentation how to set the parameters and launch file to get the dynamic behavior (In Alexey tutorial video I have not checked any additional steps required to set on configuration file). Could you help me configure this to achieve dynamic polygon behavior?
from navigation2.
Thanks Steve!
You were correct the issue relied on using the cmd_vel_raw instead cmd_vel_nav in navigation.launch because I was following the Alexey tutorial but without following the context...
So you'd see only the single polygon from the initial state, which was not updated. It gets updated by a re-subscribe since its in the base_footprint frame, so when it gets the new data, rviz automatically converts it into your visualizer's fixed frame.
This subscription relation to cmd_vel also explains why the polygon boxes appear on rviz2 after the robot starts moving!
If you echo and it appears once and not a live stream, it means the collision monitor itself is not receiving command velocity data and you should review the configuration guide or
main
examples for setting up the collision monitor: https://docs.nav2.org/configuration/packages/configuring-collision-monitor.html
Finally the data flow is dynamic: https://youtu.be/vnL7_CqBup8
from navigation2.
Related Issues (20)
- Custom constraints and custom cost function in mppi HOT 1
- Nav2 BasicNavigator raises ValueError exception HOT 2
- Exception: According to the loaded plugin descriptions the class nav2_smac_planner::SmacPlannerHybrid with base class type nav2_core::GlobalPlanner does not exist. HOT 2
- setCostmap function in Footprint Collision Checker HOT 3
- About Nav2 CycloneDDS and Micro XRCE-DDS HOT 2
- Model State Initialization HOT 1
- AMCL is unable to correctly publish the map->odom coordinate transformation. HOT 4
- Create BT action node RemoveInCollisionGoals HOT 5
- [smac_planner] On Hybrid A*, any reason to use floor to quantize angles? HOT 5
- Issue with Bidirectional Acceleration and Deceleration Settings in MPPI Controller HOT 3
- Collision Monitor parameters on ROS2 Humble HOT 4
- 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 2
- 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 6
- 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
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.