Guidance Needed for Load-Bearing Scenario with Humble Nav2

Hello,

I’m using Humble Nav2 in my project, and I have a camera that reads barcodes on the floor. I’m working on a scenario where the robot needs to delicately crawl under a 4-legged table, which is only 10 cm wider than the robot, and lift it. There are two qrcodes positioned directly under the table, 80cm apart, and aligned with the table’s base.
In this scenario, the robot needs to perform a sequence of actions:

  1. First, the robot should navigate to the location of the first qrcode, aligning itself precisely with it.

  2. Once aligned with the first qrcode, the robot should begin moving toward the underside of the table.

  3. While approaching the table’s underside, the robot should continue its movement until it reaches the center point of the qrcode located beneath the table.

I’m unsure about the best approach for this scenario when using Nav2. I’ve reviewed the Nav2 documentation but haven’t reached a final decision.

Specifically, I’m considering options like Controller Plugin, Behavior Tree Plugin, Behavior Plugin, and Navigator Plugin. Could you please advise which one would be the most suitable choice?

Additionally, I’d like to understand the distinction and relationship between Behavior Tree Plugin and Behavior Plugin.

Thank you for your assistance.

You might benefit from reviewing our documentation: https://navigation.ros.org/

In particular, general navigation concept explanations

https://navigation.ros.org/concepts/index.html