RCL - RoboCLuedo  v1.0
Francesco Ganci - S4143910 - Experimental Robotics Lab - Assignment 1
cluedo_armor_interface.cpp File Reference

Dedicated RobotCLuedo-aRMOR client. More...

#include "ros/ros.h"
#include "armor_tools/armor_tools.h"
#include "armor_tools/armor_cluedo.h"
#include "std_srvs/Trigger.h"
#include "armor_msgs/ArmorDirective.h"
#include "armor_msgs/ArmorDirectiveList.h"
#include "armor_msgs/ArmorDirectiveReq.h"
#include "armor_msgs/ArmorDirectiveRes.h"
#include "armor_msgs/QueryItem.h"
#include "robocluedo_msgs/AddHint.h"
#include "robocluedo_msgs/Hypothesis.h"
#include "robocluedo_msgs/FindConsistentHypotheses.h"
#include "robocluedo_msgs/DiscardHypothesis.h"
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
+ Include dependency graph for cluedo_armor_interface.cpp:

Go to the source code of this file.

Macros

#define SERVICE_INTERFACE_ADD_HINT   "/cluedo_armor/add_hint"
 
#define SERVICE_INTERFACE_FIND_CONSISTENT_HYP   "/cluedo_armor/find_consistent_h"
 
#define SERVICE_INTERFACE_WRONG_HYPOTHESIS   "/cluedo_armor/wrong_hypothesis"
 
#define SERVICE_INTERFACE_SAVE_ONTOLOGY   "/cluedo_armor/backup"
 
#define ONTOLOGY_PARAM   "cluedo_path_owlfile"
 
#define PARAM_ONTOLOGY_BACKUP_PATH   "cluedo_path_owlfile_backup"
 
#define OUTLABEL   "[cluedo_armor_interface]"
 
#define OUTLOG(msg)   ROS_INFO_STREAM( OUTLABEL << " " << msg );
 
#define LOGSQUARE(str)   "[" << str << "] "
 
#define SS(this_string)   std::string( this_string )
 
#define SSS(this_thing)   std::to_string( this_thing )
 

Functions

std::vector< std::string > PerformDifferenceBetween (std::vector< std::string > list1, std::vector< std::string > list2)
 delete all the occurrences of list2 inside list1 More...
 
bool ServiceAddHint (robocluedo_msgs::AddHint::Request &hint, robocluedo_msgs::AddHint::Response &success)
 implementation of service SERVICE_INTERFACE_ADD_HINT More...
 
bool ServiceFindConsistentHypotheses (robocluedo_msgs::FindConsistentHypotheses::Request &empty, robocluedo_msgs::FindConsistentHypotheses::Response &hyplist)
 implementation of service SERVICE_INTERFACE_FIND_CONSISTENT_HYP More...
 
bool DiscardHypothesis (robocluedo_msgs::DiscardHypothesis::Request &tag, robocluedo_msgs::DiscardHypothesis::Response &success)
 implementation of service SERVICE_INTERFACE_WRONG_HYPOTHESIS More...
 
bool ServiceBackupOntology (std_srvs::Trigger::Request &emptyrequest, std_srvs::Trigger::Response &success)
 implementation of service SERVICE_INTERFACE_SAVE_ONTOLOGY More...
 
int main (int argc, char *argv[])
 ROS node main. More...
 

Detailed Description

Dedicated RobotCLuedo-aRMOR client.

ROS Node Name
  • cluedo_armor_interface
Authors
Francesco Ganci (S4143910)
Version
v1.0

Description:

This node implements an inferface which simplifies and abstracts the communication with the aRMOR service, with particular attention to the most common operations performed by RCL during the search of a solution.

UML components
(See RoboCLuedo – COMP – UML Components Diagram the overal architecture, for further informations)

Services:

Hidden services and topics

Parameters:

Definition in file cluedo_armor_interface.cpp.