Class EasyFullControl::CommandExecution

Nested Relationships

This class is a nested type of Class EasyFullControl.

Class Documentation

class CommandExecution

Used by system integrators to give feedback on the progress of executing a navigation or docking command.

Public Functions

void finished()

Trigger this when the command is successfully finished. No other function in this CommandExecution instance will be usable after this.

bool okay() const

Returns false if the command has been stopped.

Stubbornness override_schedule(std::string map, std::vector<Eigen::Vector3d> path, rmf_traffic::Duration hold = rmf_traffic::Duration(0))

Use this to override the traffic schedule for the agent while it performs this command.

If the given trajectory results in a traffic conflict then a negotiation will be triggered. Hold onto the Stubbornness returned by this function to ask other agents to plan around your trajectory, otherwise the negotiation may result in a replan for this agent and a new command will be issued.

Note

Using this will function always trigger a replan once the agent finishes the command.

Warning

Too many overridden/stubborn agents can cause a deadlock. It’s recommended to use this API sparingly and only over short distances or small deviations.

Parameters:
  • map[in] Name of the map where the trajectory will take place

  • path[in] The path of the agent

  • hold[in] How long the agent will wait at the end of the path

Returns:

a Stubbornness handle that tells the fleet adapter to not let the overridden path be negotiated. The returned handle will stop having an effect after this command execution is finished.

ConstActivityIdentifierPtr identifier() const

Activity handle for this command. Pass this into EasyRobotUpdateHandle::update_position while executing this command.