Tuning the navigation stack for use with a trailer

asked 2019-12-01 23:38:28 -0600

Omegastick gravatar image

I have a robot that can move holonomically, that will pull a trailer (that can only move non-holonomically) around.

I figured it might be possible to tune the navigation stack to handle it. Perhaps dwa_local_planner could be used to restrict the possible combinations of velocities to those that a robot with a trailer is capable of following. Looking at the parameters for dwa_local_planner though, I don't see a way to say "you can only move rotate if you're also moving forward at the same time".

What is the best way to tackle this in ROS?

edit retag flag offensive close merge delete

Comments

If your robot moves holonomically it can move non-holonomically so why not simply configure the navigation stack for a non-holonomic robot ?

Delb gravatar imageDelb ( 2019-12-02 02:59:32 -0600 )edit

@Delb Because AFAIK all the non-holonomic planners assume you can either turn on the spot or reverse. Neither of which can be done with the trailer on this robot.

Omegastick gravatar imageOmegastick ( 2019-12-02 19:10:57 -0600 )edit

In-place rotations and backwards movement (I'm not entirely sure about the backwards movements) are related to the recovery behaviors, have you tried to disable those ? There is the parameter recovery_behavior_enabled to disable everything or simply clearing_rotation_allowed.

Delb gravatar imageDelb ( 2019-12-03 02:56:18 -0600 )edit

How about switching the planner to e.g. teb_local_planner?

Humpelstilzchen gravatar imageHumpelstilzchen ( 2019-12-03 04:07:40 -0600 )edit

@Humpelstilzchen Yeah, that's what I'm going to try next. The car-like mode in that is designed for vehicles that can reverse, but if I set the minimum velocity to 0 it might be okay.

Omegastick gravatar imageOmegastick ( 2019-12-04 00:04:23 -0600 )edit

I tried teb_local_planner, but it doesn't look like there's a way to prevent reversing while in "car-like" mode. I'm gonna try altering dwa_local_planner to remove the "stop and turn" and reverse functions.

Omegastick gravatar imageOmegastick ( 2019-12-05 03:14:53 -0600 )edit