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

The main FSM of RCL. More...

Go to the source code of this file.

Data Structures

class  robocluedo_main.robocluedo_random_target
 implementation of the state random_target. More...
 
class  robocluedo_main.robocluedo_moving
 implementation of the state moving. More...
 
class  robocluedo_main.robocluedo_listening_for_hints
 implementation of the state listening_for_hints. More...
 
class  robocluedo_main.robocluedo_update_ontology
 implementation of the state update_ontology. More...
 
class  robocluedo_main.robocluedo_reasoning
 implementation of the state reasoning. More...
 
class  robocluedo_main.robocluedo_charge
 implementation of the state charge. More...
 

Namespaces

 robocluedo_main
 

Functions

def robocluedo_main.listen_for_hints (data)
 listen for a hint from the oracle, then buffer it More...
 
def robocluedo_main.create_state_machine ()
 define the state machine of the robot before starting More...
 

Variables

bool robocluedo_main.hint_received = False
 is there any message from the oracle? More...
 
 robocluedo_main.hint = None
 the message from the oracle, if any More...
 
string robocluedo_main.target = ""
 target to be 'consumed' by 'robocluedo_moving' More...
 
string robocluedo_main.actual_position = ""
 actual position of the robot (string, the room) More...
 
bool robocluedo_main.charge_ready = False
 is the charge ready? More...
 
 robocluedo_main.charge = None
 a possible solution to be confirmed or discarded, if any More...
 
string robocluedo_main.hypothesis_tag = ""
 teh tag of the actual hypothesis More...
 

Detailed Description

The main FSM of RCL.

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

Description:

The main part of this architecture is the FSM implemented in this node, which uses the ROS framework smach. See the diagrams to understand how this node works.

this node has been implemented thinking on the maximum flexibility: the way it works can be easily extended or integrated with other components with small, or also absent, changes.

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

Subscribers:

Clients:

Definition in file robocluedo_main.py.