ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
2023-10-02 11:08:47 -0500 | received badge | ● Famous Question (source) |
2023-07-30 11:53:16 -0500 | received badge | ● Notable Question (source) |
2023-07-07 03:34:13 -0500 | received badge | ● Famous Question (source) |
2023-05-29 10:24:46 -0500 | marked best answer | [Nav2] Suggestions around single plan - controller only reactive navigation Hi! Reading through some notes and material around nav2 I found a couple of mentions to a navigation setup often referred to as “reactive navigation”, which takes out continuous re-planning from the stack and replaces it for a single plan at the beginning of the navigation that connects the poses to navigate through with minimum cost lines; when there’s no static map those may as well be just straight lines. I’m currently working on a robot that ought to work in large outdoors suburban-like environments navigating through sidewalks of different widths: some of them may barely fit the robot but are not usually populated with obstacles, while others are very wide but are very frequently populated with people moving around the robot. I tried to set up this “reactive navigation” style on a simulated world with no static map using the DWB controller and an 8x8m local costmap, however, despite lowering the scale of the path-related critics and raising the obstacle-related, I struggled a lot to to make the robot go around even static objects that were in the way marked by the initial “straight line plan”. These obstacles would have been easily dodged by a navigation system using continuous replanning, as they would have been marked in the global costmap and the path for the controller to follow would have accounted for them. However it is not possible to mark them in a “static layer” beforehand because even though they may be static to the robot, they may be there just temporarily (ex: a parked car slightly blocking the sidewalk). Has anyone had experience with this setup of the navigation stack? How did you set up your critics? Are there any guidelines for tuning the DWB controller for achieving a good balance between obstacle avoidance and path following? I expect the controller to dodge obstacles of all sizes, from a football ball to a full golf-car parked on the sidewalk or a big group of people the robot cannot go through, meaning it would have to be able to go pretty far away from the “straight line path”. Do you think this setup would be more suited for dynamic outdoors environments instead of having continuous replanning at a relatively high frequency on a limited window around the robot while having the controller tuned more for path following? What would be the advantages of each approach? |
2023-05-21 15:11:36 -0500 | received badge | ● Popular Question (source) |
2023-05-19 14:35:16 -0500 | commented answer | [Nav2] Suggestions around single plan - controller only reactive navigation Thanks for your answer steve! its going to be a few days of tuning and building that intuition for yourself to get t |
2023-05-18 15:01:02 -0500 | asked a question | [Nav2] Suggestions around single plan - controller only reactive navigation [Nav2] Suggestions around single plan - controller only reactive navigation Hi! Reading through some notes and material |
2023-04-25 04:53:12 -0500 | received badge | ● Famous Question (source) |
2023-02-27 18:46:08 -0500 | received badge | ● Nice Answer (source) |
2023-02-27 02:26:58 -0500 | received badge | ● Notable Question (source) |
2023-02-21 07:40:16 -0500 | received badge | ● Organizer (source) |
2023-02-21 07:39:34 -0500 | received badge | ● Popular Question (source) |
2023-02-17 08:39:23 -0500 | asked a question | Best way of using nav2 to navigate continuously through indoors and outdoors environments Best way of using nav2 to navigate continuously through indoors and outdoors environments Hi! I’m currently working on |
2023-01-15 08:36:43 -0500 | received badge | ● Famous Question (source) |
2022-12-27 10:29:12 -0500 | received badge | ● Famous Question (source) |
2022-12-26 04:12:05 -0500 | received badge | ● Notable Question (source) |
2022-11-25 14:29:11 -0500 | commented answer | NavigateToPose vs NavigateThroughPose Yes, the easiest thing IMO would be to take one of the BTs and modify it to your needs, then pass its path in the parame |
2022-11-25 14:29:11 -0500 | received badge | ● Commentator |
2022-11-25 07:27:29 -0500 | edited answer | NavigateToPose vs NavigateThroughPose It depends on the action server you call. When you launch nav2 both action servers are offered as /navigate_to_pose and |
2022-11-25 07:26:45 -0500 | edited answer | NavigateToPose vs NavigateThroughPose It depends on the action server you call. When you launch nav2 both action servers are offered as /navigate_to_pose and |
2022-11-25 07:23:59 -0500 | answered a question | NavigateToPose vs NavigateThroughPose It depends on the action server you call. When you launch nav2 both action servers are offered as /navigate_to_pose and |
2022-11-25 07:23:59 -0500 | received badge | ● Rapid Responder (source) |
2022-10-27 23:55:29 -0500 | answered a question | Processing pointcloud2 using ros node with both publisher and subscriber you probably need to fill the header field on the lastpcl_data PointCloud2 message. As the array_to_pointcloud docs stat |
2022-10-27 23:55:29 -0500 | received badge | ● Rapid Responder (source) |
2022-10-26 07:10:43 -0500 | received badge | ● Famous Question (source) |
2022-10-18 04:06:41 -0500 | received badge | ● Notable Question (source) |
2022-09-28 17:49:12 -0500 | marked best answer | [Nav2] Best way of alternating between autonomous navigation and assisted teleop using `follow_waypoints` action server Hi everyone! I'm currently using Nav2 on a robot that has to perform long navigation tasks (>1000m) across large environments (~5sqkm); I'm relying on the For different reasons there are small sections of the environment where the robot cannot drive autonomously. These sections are already pre-mapped in the edges between certain nodes on the aforementioned graph. See the below picture for a clearer explanation On the picture above, considering the marked robot route (dotted arrow), what I would like to achieve is to tick the usual I have thought of making a custom behavior tree node to switch between a However I'm aware that some discussion has been held around this kind of "semantic navigation" to change the behavior of nav2 according to semantic labels defined on a sparse graph, so I wanted to ask the community about this beforehand. Have someone faced the same problem? Would you recommend a different alternative? Is there any standard way of doing this? Thanks in advance for your help and any insights you can provide :) |
2022-09-27 22:40:50 -0500 | received badge | ● Notable Question (source) |
2022-09-23 14:13:59 -0500 | commented answer | [Nav2] Best way of alternating between autonomous navigation and assisted teleop using `follow_waypoints` action server A slight variation of that, which is where I would probably start, is treating each segment as different a to b b to |
2022-09-23 14:13:18 -0500 | commented answer | [Nav2] Best way of alternating between autonomous navigation and assisted teleop using `follow_waypoints` action server A slight variation of that, which is where I would probably start, is treating each segment as different a to b b to |
2022-09-23 14:08:17 -0500 | commented answer | [Nav2] Best way of alternating between autonomous navigation and assisted teleop using `follow_waypoints` action server A slight variation of that, which is where I would probably start, is treating each segment as different a to b b to |
2022-09-23 14:07:49 -0500 | commented answer | [Nav2] Best way of alternating between autonomous navigation and assisted teleop using `follow_waypoints` action server A slight variation of that, which is where I would probably start, is treating each segment as different a to b b to |
2022-09-23 14:03:33 -0500 | commented answer | [Nav2] Best way of alternating between autonomous navigation and assisted teleop using `follow_waypoints` action server A slight variation of that, which is where I would probably start, is treating each segment as different a to b b to |
2022-09-23 14:02:32 -0500 | received badge | ● Popular Question (source) |
2022-09-23 14:00:57 -0500 | commented answer | [Nav2] Best way of alternating between autonomous navigation and assisted teleop using `follow_waypoints` action server A slight variation of that, which is where I would probably start, is treating each segment as different a to b b to |
2022-09-23 13:56:59 -0500 | commented answer | [Nav2] Best way of alternating between autonomous navigation and assisted teleop using `follow_waypoints` action server Wow, thanks for your detailed answer Steve! addressing some of your points, If you're 'manually' driving, why not ha |
2022-09-23 10:09:25 -0500 | received badge | ● Student (source) |
2022-09-23 09:44:40 -0500 | asked a question | [Nav2] Best way of alternating between autonomous navigation and assisted teleop using `follow_waypoints` action server [Nav2] Best way of alternating between autonomous navigation and assisted teleop using `follow_waypoints` action server |
2022-08-06 19:06:10 -0500 | received badge | ● Teacher (source) |
2022-08-03 14:16:40 -0500 | edited answer | running gazebo without GUI You could pass the gui launch descriptor. This is how it looks in the command line for ROS2: ros2 launch gazebo_ros gaz |
2022-08-03 14:16:40 -0500 | received badge | ● Editor (source) |
2022-08-03 14:15:14 -0500 | edited answer | running gazebo without GUI You could pass the gui launch descriptor. This is how it looks in the command line for ROS2: ros2 launch gazebo_ros gaz |
2022-08-03 14:07:48 -0500 | answered a question | running gazebo without GUI You could pass the gui launch descriptor. This is how it looks in the command line: ros2 launch gazebo_ros gazebo.launc |
2022-08-03 14:07:48 -0500 | received badge | ● Rapid Responder (source) |
2022-07-22 09:40:59 -0500 | commented answer | ros2 subscriber callback blocking one another Hey, you are right. The default callback group for nodes is a mutually exclusive callback group, which as the docs state |
2022-07-22 09:40:18 -0500 | commented answer | ros2 subscriber callback blocking one another Hey, you are right. The default callback group for nodes is a mutually exclusive callback group, which as the docs state |
2022-07-22 09:39:45 -0500 | commented answer | ros2 subscriber callback blocking one another Hey, you are right. The default callback group for nodes is a mutually exclusive callback group, which as the docs state |
2022-07-21 14:16:15 -0500 | answered a question | ros2 subscriber callback blocking one another What kind of executor are you using? If you are using the default rclcpp::spin() I think that uses a single threaded exe |
2022-07-21 14:16:15 -0500 | received badge | ● Rapid Responder (source) |
2022-07-21 14:06:45 -0500 | marked best answer | [Nav2] Best way of including "emergency stop" range/cliff sensors in nav2 Hi everyone! I'm currently working with a robot that has what I call cliff sensors. Though their configuration is a bit different they serve the same purpose as the cliff sensors usually embedded in cleaning robots like roombas: they are pointing to the floor constantly measuring the distance from the robot to the surface and are able to detect "cliffs" - When that distance is longer than usual - and prevent the robot from falling down the stairs, curbside, etc. I have tried to input their data after some post processing to nav2's range sensor layer by simulating a range reading in the place the cliff is, like if a solid obstacle was placed there, however this has failed. The sensors I'm using are able to detect cliffs that are ~40cm ahead of the robot's front but my guess is that since the robot I'm using is relatively big/heavy (>20kg) and runs at up to 1.5m/s more "responsiveness" is needed. I have set the deceleration values on the controller to very high amounts with little impact. Could this tackled by changing the nav2 configuration alone? I have tried using a node independent from nav2 to hard-stop the robot (set the linear speed to 0) when a cliff is detected and this works much better. With that in mind, I wanted to ask the community, has someone tried to do this? What would be the best way of integrating this to nav2 on a big robot? I would like to mark these obstacles on the costmap to prevent the robot from planning through that area, however I need to trigger a more "emergency stop"-like behavior that forces the robot to completely stop. |