SOLA
Loading...
Searching...
No Matches
Public Member Functions | List of all members
daisi::cpps::logical::IteratedAuctionAssignmentInitiator Class Reference

The initiator class for auction-based assignment, based on the TePSSI algorithm from Nunes, E., McIntire, M., & Gini, M. (2017). Decentralized multi-robot allocation of tasks with temporal and precedence constraints. Advanced Robotics, 31(22), 1193-1207. More...

#include <iterated_auction_assignment_initiator.h>

Inheritance diagram for daisi::cpps::logical::IteratedAuctionAssignmentInitiator:
daisi::cpps::logical::AssignmentInitiator daisi::cpps::logical::AlgorithmInterface

Public Member Functions

 IteratedAuctionAssignmentInitiator (daisi::cpps::common::CppsCommunicatorPtr communicator, std::shared_ptr< CppsLoggerNs3 > logger)
 
void addMaterialFlow (std::shared_ptr< material_flow::MFDLScheduler > scheduler) override
 Storing bid submission information in a helper class to determine winners.
 
void logMaterialFlowContent (const std::string &material_flow_uuid) override
 
- Public Member Functions inherited from daisi::cpps::logical::AssignmentInitiator
 AssignmentInitiator (daisi::cpps::common::CppsCommunicatorPtr communicator, std::shared_ptr< CppsLoggerNs3 > logger)
 
- Public Member Functions inherited from daisi::cpps::logical::AlgorithmInterface
 AlgorithmInterface (daisi::cpps::common::CppsCommunicatorPtr communicator)
 
 REGISTER_LOGICAL_MESSAGE (CallForProposal)
 
 REGISTER_LOGICAL_MESSAGE (BidSubmission)
 
 REGISTER_LOGICAL_MESSAGE (IterationNotification)
 
 REGISTER_LOGICAL_MESSAGE (WinnerNotification)
 
 REGISTER_LOGICAL_MESSAGE (WinnerResponse)
 
 REGISTER_LOGICAL_MESSAGE (AssignmentNotification)
 
 REGISTER_LOGICAL_MESSAGE (AssignmentResponse)
 
 REGISTER_LOGICAL_MESSAGE (StatusUpdate)
 
 REGISTER_LOGICAL_MESSAGE (StatusUpdateRequest)
 
 REGISTER_LOGICAL_MESSAGE (MaterialFlowUpdate)
 

Additional Inherited Members

- Protected Attributes inherited from daisi::cpps::logical::AssignmentInitiator
std::shared_ptr< CppsLoggerNs3logger_
 For logging material flow tasks and orders.
 
- Protected Attributes inherited from daisi::cpps::logical::AlgorithmInterface
daisi::cpps::common::CppsCommunicatorPtr communicator_
 

Detailed Description

The initiator class for auction-based assignment, based on the TePSSI algorithm from Nunes, E., McIntire, M., & Gini, M. (2017). Decentralized multi-robot allocation of tasks with temporal and precedence constraints. Advanced Robotics, 31(22), 1193-1207.

This class is the counterpart of the IteratedAuctionAssignmentParticipant.

Modifications were made to the algorithm by sending CallForPropsal and IterationNotification messages on separate topcis by assuming separate topics for robots (AMRs) with different physical properties (abilities).

Member Function Documentation

◆ addMaterialFlow()

void daisi::cpps::logical::IteratedAuctionAssignmentInitiator::addMaterialFlow ( std::shared_ptr< material_flow::MFDLScheduler scheduler)
overridevirtual

Storing bid submission information in a helper class to determine winners.

Storing winner response notification in a helper class to determine outdated bids.

Implements daisi::cpps::logical::AssignmentInitiator.

◆ logMaterialFlowContent()

void daisi::cpps::logical::IteratedAuctionAssignmentInitiator::logMaterialFlowContent ( const std::string &  material_flow_uuid)
overridevirtual

The documentation for this class was generated from the following files: