Project

General

Profile

Bug #285

publish trajectory over a receding horizon

Added by Martin Jacquet 2 months ago. Updated 11 days ago.

Status:
Closed
Priority:
Normal
Assignee:
-

Description

I added in maneuver the possibility to publish the trajectory over a receding horizon (sliding window) instead of only the next desired point.

You can find the code on redmine : https://redmine.laas.fr/projects/perceptive-nmpc/repository/maneuver-genom3

Basically:
The new port 'horizon' publishes a sequence of rigid_body::state, which size is defined in a service 'set_horizon' called with a time horizon T and a number of samples N. The port is not published while set_horizon isn't called.
An IDS field field 'sampling' (jump between each elements of the trajectory to publish) is used in mv_exec_path to fill the port sequence. The last point is repeated to fill the sequence at the end of the trajectory.

I am not sure how to extend this to the 'velocity control mode' of maneuver since I didn't understood all the code of it so far.

Does it makes sense to include this feature in the openrobots version of maneuver?

#1

Updated by Anthony Mallet 2 months ago

On Monday 16 Nov 2020, at 17:15, Martin Jacquet wrote:

I am not sure how to extend this to the 'velocity control mode' of
maneuver since I didn't understood all the code of it so far.

This is basically the same, except that the planner plans for the
velocity instead of the position (and the planner is 'fooled' by
passing it the velocity as the position, the acceleration as the
velocity, etc.).

Does it makes sense to include this feature in the openrobots
version of maneuver?

Sure, it makes sense (and otherwise the components would diverge).
I can have a look to merge it, but not right right now.

#2

Updated by Anthony Mallet 15 days ago

  • Status changed from New to Feedback

I merged your code, together with a few fixes.

BTW, it was working for the velocity planner, but was just not
implemented for the integrator that handles the case where the current
reference has non-zero velocity. I fixed that as well.

If you test it and it works for you, I can make a new release soon.

#3

Updated by Martin Jacquet 14 days ago

Thanks! I did a few tests and couldn't find any issue with the MPC so far.

On 07/01/2021 16:07, Anthony Mallet wrote:

Issue #285 <https://git.openrobots.org/issues/285#change-730> has been
updated by Anthony Mallet.
------------------------------------------------------------------------

  • Status changed from /New/ to /Feedback/

I merged your code, together with a few fixes.

BTW, it was working for the velocity planner, but was just not
implemented for the integrator that handles the case where the current
reference has non-zero velocity. I fixed that as well.

If you test it and it works for you, I can make a new release soon.


Bug #285: publish trajectory over a receding horizon
<https://git.openrobots.org/issues/285#change-730>

  • *Author: *Martin Jacquet
  • *Status: *Feedback
  • *Priority: *Normal

I added in maneuver the possibility to publish the trajectory over a
receding horizon (sliding window) instead of only the next desired point.

You can find the code on redmine :
https://redmine.laas.fr/projects/perceptive-nmpc/repository/maneuver-genom3

Basically:
The new port 'horizon' publishes a sequence of rigid_body::state,
which size is defined in a service 'set_horizon' called with a time
horizon T and a number of samples N. The port is not published while
set_horizon isn't called.
An IDS field field 'sampling' (jump between each elements of the
trajectory to publish) is used in mv_exec_path to fill the port
sequence. The last point is repeated to fill the sequence at the end
of the trajectory.

I am not sure how to extend this to the 'velocity control mode' of
maneuver since I didn't understood all the code of it so far.

Does it makes sense to include this feature in the openrobots version
of maneuver?


Sent by Openrobots - https://git.openrobots.org
To change your notification preferences:
https://git.openrobots.org/my/account

#4

Updated by Anthony Mallet 11 days ago

  • Status changed from Feedback to Closed

I released 2.1 with the new functionality.
Thanks for the patch & testing!

Also available in: Atom PDF