10 #ifndef ORDER_DAEMON_H 11 #define ORDER_DAEMON_H 14 #include "std_msgs/String.h" 15 #include "std_msgs/Bool.h" 16 #include "vda5050_msgs/Order.h" 17 #include "vda5050_msgs/ActionState.h" 18 #include "vda5050_msgs/AGVPosition.h" 19 #include "vda5050_msgs/Edge.h" 20 #include "vda5050_msgs/Node.h" 65 CurrentOrder(
const vda5050_msgs::Order::ConstPtr& incomingOrder);
73 bool compareOrderId(
string orderIdToCompare);
85 string compareOrderUpdateId(
int orderUpdateIdToCompare);
98 bool compareBase(
string startOfNewBaseNodeId,
int startOfNewBaseSequenceId);
112 int getOrderUpdateId();
119 void setOrderUpdateId(
int incomingUpdateId);
136 string findNodeEdge(
int currSequenceId);
144 vda5050_msgs::Node getLastNodeInBase();
204 void updatePosition(
float new_x,
float new_y,
float new_theta,
215 float nodeDistance(
float node_x,
float node_y);
322 bool validationCheck(
const vda5050_msgs::Order::ConstPtr& msg);
332 bool inDevRange(vda5050_msgs::Node node);
339 void triggerNewActions(
string nodeOrEdge);
345 void sendMotionCommand();
353 void OrderCallback(
const vda5050_msgs::Order::ConstPtr& msg);
362 void OrderCancelRequestCallback(
const std_msgs::String::ConstPtr& msg);
371 void allActionsCancelledCallback(
const std_msgs::String::ConstPtr& msg);
379 void ActionStateCallback(
const vda5050_msgs::ActionState::ConstPtr& msg);
388 void AgvPositionCallback(
const vda5050_msgs::AGVPosition::ConstPtr& msg);
395 void DrivingCallback(
const std_msgs::Bool::ConstPtr& msg);
402 void startNewOrder(
const vda5050_msgs::Order::ConstPtr& msg);
409 void appendNewOrder(
const vda5050_msgs::Order::ConstPtr& msg);
416 void updateExistingOrder(
const vda5050_msgs::Order::ConstPtr& msg);
435 void orderUpdateError(
string orderId,
int orderUpdateId);
443 void orderValidationError(
string orderId,
int orderUpdateId);
ros::Publisher orderActionPub
vector< string > ordersToCancel
ros::Publisher orderIdPub
bool actionCancellationComplete
deque< vda5050_msgs::Node > nodeStates
ros::Publisher orderCancelPub
ros::Subscriber allActionsCancelledSub
vector< CurrentOrder > currentOrders
ros::Publisher orderUpdateIdPub
ros::Publisher edgeStatesPub
ros::Publisher lastNodeSequenceIdPub
ros::Publisher nodeStatesPub
ros::Publisher lastNodeIdPub
ros::Publisher orderTriggerPub
vector< string > actionStates
ros::Subscriber orderCancelSub
ros::Subscriber agvPositionSub
deque< vda5050_msgs::Edge > edgeStates