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);