├── .gitignore ├── .gitlab-ci.yml ├── ACKNOWLEDGEMENTS.md ├── BUGS.md ├── Development └── Editors │ └── atom │ ├── ide-robotics-language │ └── README.md │ ├── language-robotics-language │ ├── .gitignore │ ├── grammars │ │ └── robotics-language.cson │ ├── package.json │ ├── settings │ │ └── language-robotics-language.cson │ ├── snippets │ │ └── language-robotics-language.cson │ └── spec │ │ └── language-robotics-language-spec.coffee │ └── rol-finite-state-machine │ └── .gitignore ├── Documentation └── Tutorials │ └── IEEE-IRC-2019 │ ├── IEEE-IRC-Part-I.pdf │ ├── IEEE-IRC-Part-II.pdf │ ├── IEEE-IRC-Part-III.pdf │ ├── IEEE-IRC-Part-IV.pdf │ └── README.md ├── LICENSE ├── README.md ├── RoboticsLanguage ├── Base │ ├── CommandLine.py │ ├── Initialise.py │ ├── Inputs.py │ ├── Outputs.py │ ├── Parameters.py │ ├── Tests │ │ ├── __init__.py │ │ ├── test_base_commandline.py │ │ ├── test_base_transformations.py │ │ └── test_base_utilities.py │ ├── Tools │ │ ├── ErrorHandling.py │ │ ├── __init__.py │ │ └── test_templates.py │ ├── Transformations.py │ ├── Types.py │ ├── Utilities.py │ └── __init__.py ├── Documentation │ ├── Assets │ │ ├── FiniteStateMachine.png │ │ ├── TemporalLogic.png │ │ ├── compiler-flow.png │ │ ├── rol-logo.pdf │ │ ├── rol-logo.png │ │ └── rol-logo.svg │ ├── Compiler │ │ ├── Philosophy │ │ │ └── README.md │ │ ├── Reference │ │ │ ├── .gitignore │ │ │ ├── Base │ │ │ │ ├── CommandLine │ │ │ │ │ └── README.md │ │ │ │ ├── Initialise │ │ │ │ │ └── README.md │ │ │ │ ├── Inputs │ │ │ │ │ └── README.md │ │ │ │ ├── Outputs │ │ │ │ │ └── README.md │ │ │ │ ├── Tools │ │ │ │ │ └── ErrorHandling │ │ │ │ │ │ └── README.md │ │ │ │ ├── Transformations │ │ │ │ │ └── README.md │ │ │ │ ├── Types │ │ │ │ │ └── README.md │ │ │ │ └── Utilities │ │ │ │ │ └── README.md │ │ │ ├── Inputs │ │ │ │ ├── FiniteStateMachine │ │ │ │ │ └── Parse │ │ │ │ │ │ └── README.md │ │ │ │ ├── RoL │ │ │ │ │ └── Parse │ │ │ │ │ │ └── README.md │ │ │ │ └── RoLXML │ │ │ │ │ └── Parse │ │ │ │ │ └── README.md │ │ │ ├── Outputs │ │ │ │ ├── Developer │ │ │ │ │ └── Output │ │ │ │ │ │ └── README.md │ │ │ │ ├── HTMLDocumentation │ │ │ │ │ └── Output │ │ │ │ │ │ └── README.md │ │ │ │ ├── HTMLGUI │ │ │ │ │ └── Output │ │ │ │ │ │ └── README.md │ │ │ │ ├── RoL │ │ │ │ │ └── Output │ │ │ │ │ │ └── README.md │ │ │ │ ├── RoLXML │ │ │ │ │ └── Output │ │ │ │ │ │ └── README.md │ │ │ │ └── RosCpp │ │ │ │ │ └── Output │ │ │ │ │ └── README.md │ │ │ ├── README.md │ │ │ └── Transformers │ │ │ │ ├── Base │ │ │ │ ├── ErrorHandling │ │ │ │ │ └── README.md │ │ │ │ ├── Messages │ │ │ │ │ └── README.md │ │ │ │ └── Transform │ │ │ │ │ └── README.md │ │ │ │ ├── FiniteStateMachines │ │ │ │ └── Transform │ │ │ │ │ └── README.md │ │ │ │ ├── LinearAlgebra │ │ │ │ └── Transform │ │ │ │ │ └── README.md │ │ │ │ ├── ROS │ │ │ │ └── Transform │ │ │ │ │ └── README.md │ │ │ │ └── TemporalLogic │ │ │ │ └── Transform │ │ │ │ └── README.md │ │ └── Tutorials │ │ │ ├── CommandLineExamples │ │ │ └── README.md │ │ │ ├── FiniteStateMachine │ │ │ ├── AtomPlugin.md │ │ │ ├── HTMLGUI.md │ │ │ ├── Parser.md │ │ │ ├── README.md │ │ │ ├── Transformer.md │ │ │ └── images │ │ │ │ └── fsm.png │ │ │ └── README.md │ ├── Language │ │ ├── Philosophy │ │ │ └── README.md │ │ ├── Reference │ │ │ └── README.md │ │ └── Tutorials │ │ │ └── README.md │ ├── MiniLanguages │ │ └── README.md │ └── README.md ├── Examples │ ├── 10_deep_inference.rol │ ├── 1_hello_world.rol │ ├── 2_echo.rol │ ├── 3_functions.rol │ ├── 4_fibonacci.rol │ ├── 5_types.rol │ ├── 6_mini_language.rol │ ├── 7_events.rol │ ├── 8_finite_state_machine.rol │ ├── 9_temporal_logic.rol │ ├── FaultTolerance │ │ ├── Makefile │ │ ├── failure_handler.rol │ │ ├── fault_detection_heartbeat.fdh │ │ ├── fault_detection_topics.fdt │ │ ├── fault_handler.rol │ │ ├── fault_tolerance_system.fts │ │ └── messages.rol │ ├── all.sh │ └── mnist.h5 ├── Inputs │ ├── Cpp │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ └── __init__.py │ ├── DecisionGraph │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── DecisionGraph.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_DecisionGraph.py │ │ └── __init__.py │ ├── DeepInference │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── Python │ │ │ │ └── DeepInference.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_DeepInference.py │ │ └── __init__.py │ ├── FaultDetectionHeartbeat │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── FaultDetectionHeartbeat.fdh │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ ├── Support │ │ │ └── fault_detection_heartbeat.rol.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_FaultDetectionHeartbeat.py │ │ └── __init__.py │ ├── FaultDetectionProcesses │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_FaultDetectionProcesses.py │ │ └── __init__.py │ ├── FaultDetectionTopics │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── FaultDetectionTopics.fdt │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ ├── Support │ │ │ └── fault_detection_topic.rol.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_FaultDetectionTopics.py │ │ └── __init__.py │ ├── FaultHandler │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ ├── FaultHandler.rol │ │ │ └── messages.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ ├── Support │ │ │ └── fault_handler.rol.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_FaultHandler.py │ │ └── __init__.py │ ├── FaultToleranceSystem │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Tutorials.md │ │ │ └── images │ │ │ │ └── architecture.png │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── FaultToleranceSystem.fts │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_FaultToleranceSystem.py │ │ └── __init__.py │ ├── FiniteStateMachine │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── FiniteStateMachine.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_FiniteStateMachine.py │ │ └── __init__.py │ ├── ROSMessage │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── ROSMessage.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_ROSMessage.py │ │ └── __init__.py │ ├── RoL │ │ ├── Examples │ │ │ ├── Functions.rol │ │ │ ├── IfThenElse.rol │ │ │ ├── MiniLanguage.rol │ │ │ ├── Precedence.rol │ │ │ ├── Switch.rol │ │ │ └── Types.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_rol_parse.py │ │ └── __init__.py │ ├── RoLXML │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ └── __init__.py │ ├── Shell │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── Shell.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── Parse.py │ │ ├── README.md │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_Shell.py │ │ └── __init__.py │ └── __init__.py ├── Outputs │ ├── Cpp │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── _nodename_ │ │ │ │ ├── Makefile.template │ │ │ │ ├── build │ │ │ │ └── README.md │ │ │ │ ├── include │ │ │ │ └── _nodename_.hpp.template │ │ │ │ └── src │ │ │ │ └── _nodename_.cpp.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_Cpp.py │ │ └── __init__.py │ ├── Developer │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ ├── Documentation │ │ │ │ └── Reference │ │ │ │ │ └── README.md.template │ │ │ ├── Inputs │ │ │ │ ├── __init__.py.template │ │ │ │ └── _name_ │ │ │ │ │ ├── Documentation │ │ │ │ │ ├── README.md.template │ │ │ │ │ ├── Reference.md.template │ │ │ │ │ └── Tutorials.md.template │ │ │ │ │ ├── ErrorHandling.py.template │ │ │ │ │ ├── Examples │ │ │ │ │ └── _name_.rol.template │ │ │ │ │ ├── Language.py.template │ │ │ │ │ ├── Manifesto.py.template │ │ │ │ │ ├── Messages.py.template │ │ │ │ │ ├── Parameters.py.template │ │ │ │ │ ├── Parse.py.template │ │ │ │ │ ├── README.md.template │ │ │ │ │ ├── Tests │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test__name_.py.template │ │ │ │ │ └── __init__.py.template │ │ │ ├── InputsJSON │ │ │ │ ├── __init__.py.template │ │ │ │ └── _name_ │ │ │ │ │ ├── Documentation │ │ │ │ │ ├── README.md.template │ │ │ │ │ ├── Reference.md.template │ │ │ │ │ └── Tutorials.md.template │ │ │ │ │ ├── ErrorHandling.py.template │ │ │ │ │ ├── Examples │ │ │ │ │ └── _name_.rol.template │ │ │ │ │ ├── Language.py.template │ │ │ │ │ ├── Manifesto.py.template │ │ │ │ │ ├── Messages.py.template │ │ │ │ │ ├── Parameters.py.template │ │ │ │ │ ├── Parse.py.template │ │ │ │ │ ├── README.md.template │ │ │ │ │ ├── Tests │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test__name_.py.template │ │ │ │ │ └── __init__.py.template │ │ │ ├── InputsXML │ │ │ │ ├── __init__.py.template │ │ │ │ └── _name_ │ │ │ │ │ ├── Documentation │ │ │ │ │ ├── README.md.template │ │ │ │ │ ├── Reference.md.template │ │ │ │ │ └── Tutorials.md.template │ │ │ │ │ ├── ErrorHandling.py.template │ │ │ │ │ ├── Examples │ │ │ │ │ └── _name_.rol.template │ │ │ │ │ ├── Language.py.template │ │ │ │ │ ├── Manifesto.py.template │ │ │ │ │ ├── Messages.py.template │ │ │ │ │ ├── Parameters.py.template │ │ │ │ │ ├── Parse.py.template │ │ │ │ │ ├── README.md.template │ │ │ │ │ ├── Tests │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test__name_.py.template │ │ │ │ │ └── __init__.py.template │ │ │ ├── InputsYAML │ │ │ │ ├── __init__.py.template │ │ │ │ └── _name_ │ │ │ │ │ ├── Documentation │ │ │ │ │ ├── README.md.template │ │ │ │ │ ├── Reference.md.template │ │ │ │ │ └── Tutorials.md.template │ │ │ │ │ ├── ErrorHandling.py.template │ │ │ │ │ ├── Examples │ │ │ │ │ └── _name_.rol.template │ │ │ │ │ ├── Language.py.template │ │ │ │ │ ├── Manifesto.py.template │ │ │ │ │ ├── Messages.py.template │ │ │ │ │ ├── Parameters.py.template │ │ │ │ │ ├── Parse.py.template │ │ │ │ │ ├── README.md.template │ │ │ │ │ ├── Tests │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test__name_.py.template │ │ │ │ │ └── __init__.py.template │ │ │ ├── Outputs │ │ │ │ ├── __init__.py.template │ │ │ │ └── _name_ │ │ │ │ │ ├── Documentation │ │ │ │ │ ├── README.md.template │ │ │ │ │ ├── Reference.md.template │ │ │ │ │ └── Tutorials.md.template │ │ │ │ │ ├── ErrorHandling.py.template │ │ │ │ │ ├── Examples │ │ │ │ │ └── _name_.rol.template │ │ │ │ │ ├── Language.py.template │ │ │ │ │ ├── Manifesto.py.template │ │ │ │ │ ├── Messages.py.template │ │ │ │ │ ├── Output.py.template │ │ │ │ │ ├── Parameters.py.template │ │ │ │ │ ├── README.md.template │ │ │ │ │ ├── Templates │ │ │ │ │ └── _name_ │ │ │ │ │ │ └── _name__example.txt.template.template │ │ │ │ │ ├── Tests │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test__name_.py.template │ │ │ │ │ └── __init__.py.template │ │ │ └── Transformers │ │ │ │ ├── __init__.py.template │ │ │ │ └── _name_ │ │ │ │ ├── Documentation │ │ │ │ ├── README.md.template │ │ │ │ ├── Reference.md.template │ │ │ │ └── Tutorials.md.template │ │ │ │ ├── ErrorHandling.py.template │ │ │ │ ├── Examples │ │ │ │ └── _name_.rol.template │ │ │ │ ├── Language.py.template │ │ │ │ ├── Manifesto.py.template │ │ │ │ ├── Messages.py.template │ │ │ │ ├── Parameters.py.template │ │ │ │ ├── README.md.template │ │ │ │ ├── Tests │ │ │ │ ├── __init__.py │ │ │ │ └── test__name_.py.template │ │ │ │ ├── Transform.py.template │ │ │ │ └── __init__.py.template │ │ └── __init__.py │ ├── FaultDetectionHeartbeat │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── _nodename_ │ │ │ │ └── html │ │ │ │ └── _nodename__fault_detection_heartbeat_gui.html.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_FaultDetectionHeartbeat.py │ │ └── __init__.py │ ├── FaultDetectionTopics │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── _nodename_ │ │ │ │ └── html │ │ │ │ └── _nodename__fault_detection_topics_gui.html.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_FaultDetectionTopics.py │ │ └── __init__.py │ ├── FaultToleranceSystem │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── _nodename_ │ │ │ │ ├── CMakeLists.txt.template │ │ │ │ ├── html │ │ │ │ └── _nodename__gui.html.template │ │ │ │ ├── launch │ │ │ │ └── _nodename_.launch.template │ │ │ │ ├── msg │ │ │ │ ├── Failure.msg │ │ │ │ └── Fault.msg │ │ │ │ └── package.xml.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_FaultToleranceSystem.py │ │ └── __init__.py │ ├── Generic │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── Generic.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── Generic │ │ │ │ └── Generic_example.txt.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_Generic.py │ │ └── __init__.py │ ├── HTMLDocumentation │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── index.html.template │ │ └── __init__.py │ ├── HTMLGUI │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── _nodename_ │ │ │ │ └── html │ │ │ │ └── _nodename__gui.html.template │ │ └── __init__.py │ ├── Python │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── _nodename_ │ │ │ │ └── scripts │ │ │ │ └── _nodename_.py.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_Python.py │ │ └── __init__.py │ ├── RoL │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── _nodename_ │ │ │ │ └── rol │ │ │ │ └── _nodename_.rol.template │ │ └── __init__.py │ ├── RoLXML │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ └── __init__.py │ ├── Ros2Cpp │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Resources │ │ │ └── uncrustify.cfg │ │ ├── Templates │ │ │ └── _nodename_ │ │ │ │ ├── CMakeLists.txt.template │ │ │ │ ├── include │ │ │ │ └── _nodename_ │ │ │ │ │ ├── _nodename_.hpp.template │ │ │ │ │ ├── rol_sleep.hpp │ │ │ │ │ └── rol_timer.hpp │ │ │ │ ├── launch │ │ │ │ └── _nodename_.launch.py.template │ │ │ │ ├── package.xml.template │ │ │ │ └── src │ │ │ │ └── _nodename_.cpp.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_Ros2Cpp.py │ │ └── __init__.py │ ├── RosCpp │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Resources │ │ │ └── uncrustify.cfg │ │ ├── Templates │ │ │ └── _nodename_ │ │ │ │ ├── .ccls.template │ │ │ │ ├── .clang-format │ │ │ │ ├── CMakeLists.txt.template │ │ │ │ ├── include │ │ │ │ └── _nodename_ │ │ │ │ │ └── _nodename_.hpp.template │ │ │ │ ├── launch │ │ │ │ └── _nodename_.launch.template │ │ │ │ ├── package.xml.template │ │ │ │ └── src │ │ │ │ └── _nodename_.cpp.template │ │ ├── Wizard.py │ │ └── __init__.py │ ├── RosPy │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Output.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── _nodename_ │ │ │ │ ├── CMakeLists.txt.template │ │ │ │ ├── launch │ │ │ │ └── _nodename_.launch.template │ │ │ │ ├── package.xml.template │ │ │ │ └── scripts │ │ │ │ └── _nodename_.py.template │ │ └── __init__.py │ └── __init__.py ├── Scripts │ ├── docker │ │ ├── AWSRobomaker │ │ │ ├── Dockerfile │ │ │ ├── rol_aws_docker │ │ │ └── rol_aws_docker_development │ │ ├── ros1 │ │ │ ├── Dockerfile │ │ │ ├── rol_docker │ │ │ └── rol_docker_development │ │ └── ros2 │ │ │ ├── Dockerfile │ │ │ ├── rol2_docker │ │ │ └── rol2_docker_development │ ├── make │ │ └── rol_make_documentation │ └── rol ├── Tools │ ├── DictionaryToXML.py │ ├── Exceptions.py │ ├── Parsing.py │ ├── Semantic.py │ ├── Serialise.py │ ├── Templates.py │ ├── Tests │ │ ├── __init__.py │ │ └── test_tools_serialise.py │ └── __init__.py ├── Transformers │ ├── AWSRobomaker │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── supervisor.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Transform.py │ │ └── __init__.py │ ├── Base │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── Outputs │ │ │ │ ├── Cpp │ │ │ │ └── _nodename_ │ │ │ │ │ ├── include │ │ │ │ │ └── _nodename_ │ │ │ │ │ │ └── _nodename_.hpp.template │ │ │ │ │ └── src │ │ │ │ │ └── _nodename_.cpp.template │ │ │ │ └── Python │ │ │ │ └── _nodename_ │ │ │ │ └── scripts │ │ │ │ └── _nodename_.py.template │ │ ├── Transform.py │ │ ├── Wizard.py │ │ └── __init__.py │ ├── CachedComputation │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── cachedComputation.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── Outputs │ │ │ │ └── RosCpp │ │ │ │ └── _nodename_ │ │ │ │ ├── include │ │ │ │ └── _nodename_ │ │ │ │ │ └── _nodename_.hpp.template │ │ │ │ └── src │ │ │ │ └── _nodename_.cpp.template │ │ ├── Transform.py │ │ └── __init__.py │ ├── DecisionGraph │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── Outputs │ │ │ │ └── HTMLGUI │ │ │ │ └── _nodename_ │ │ │ │ └── html │ │ │ │ └── _nodename__gui.html.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_DecisionGraph.py │ │ ├── Transform.py │ │ └── __init__.py │ ├── DeepInference │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── Outputs │ │ │ │ └── RosPy │ │ │ │ └── _nodename_ │ │ │ │ └── scripts │ │ │ │ └── _nodename_.py.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_DeepInference.py │ │ ├── Transform.py │ │ └── __init__.py │ ├── Developer │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_Developer.py │ │ ├── Transform.py │ │ └── __init__.py │ ├── Events │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── events.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── Outputs │ │ │ │ ├── Cpp │ │ │ │ └── _nodename_ │ │ │ │ │ ├── include │ │ │ │ │ └── _nodename_ │ │ │ │ │ │ └── _nodename_.hpp.template │ │ │ │ │ └── src │ │ │ │ │ └── _nodename_.cpp.template │ │ │ │ └── Python │ │ │ │ └── _nodename_ │ │ │ │ └── scripts │ │ │ │ └── _nodename_.py.template │ │ ├── Transform.py │ │ └── __init__.py │ ├── FiniteStateMachine │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ ├── FiniteStateMachine.rol │ │ │ └── NonDeterminstic.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── Outputs │ │ │ │ ├── Cpp │ │ │ │ └── _nodename_ │ │ │ │ │ ├── include │ │ │ │ │ └── _nodename_ │ │ │ │ │ │ ├── FiniteStateMachine.hpp │ │ │ │ │ │ └── _nodename_.hpp.template │ │ │ │ │ └── src │ │ │ │ │ └── _nodename_.cpp.template │ │ │ │ └── HTMLGUI │ │ │ │ └── _nodename_ │ │ │ │ └── html │ │ │ │ └── _nodename__gui.html.template │ │ ├── Tests │ │ │ └── __init__.py │ │ ├── Transform.py │ │ └── __init__.py │ ├── Generic │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ └── Generic.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_Generic.py │ │ ├── Transform.py │ │ └── __init__.py │ ├── Mathematics │ │ ├── Examples │ │ │ └── math.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Transform.py │ │ └── __init__.py │ ├── ROS │ │ ├── Examples │ │ │ ├── WorkInProgress │ │ │ │ ├── RosClass.rol │ │ │ │ ├── RosClassUsage.rol │ │ │ │ ├── functions.rol │ │ │ │ └── my_msgs.rol │ │ │ ├── echo.rol │ │ │ ├── fibonacci.rol │ │ │ ├── signals.rol │ │ │ ├── test.rol │ │ │ └── types.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── Outputs │ │ │ │ ├── HTMLGUI │ │ │ │ └── _nodename_ │ │ │ │ │ └── html │ │ │ │ │ └── _nodename__gui.html.template │ │ │ │ ├── Ros2Cpp │ │ │ │ └── _nodename_ │ │ │ │ │ ├── include │ │ │ │ │ └── _nodename_ │ │ │ │ │ │ └── _nodename_.hpp.template │ │ │ │ │ └── src │ │ │ │ │ └── _nodename_.cpp.template │ │ │ │ ├── RosCpp │ │ │ │ └── _nodename_ │ │ │ │ │ ├── CMakeLists.txt.template │ │ │ │ │ ├── include │ │ │ │ │ └── _nodename_ │ │ │ │ │ │ └── _nodename_.hpp.template │ │ │ │ │ ├── package.xml.template │ │ │ │ │ └── src │ │ │ │ │ └── _nodename_.cpp.template │ │ │ │ └── RosPy │ │ │ │ └── _nodename_ │ │ │ │ ├── CMakeLists.txt.template │ │ │ │ ├── package.xml.template │ │ │ │ └── scripts │ │ │ │ └── _nodename_.py.template │ │ ├── Tools │ │ │ ├── Introspection.py │ │ │ ├── RosClass.py │ │ │ ├── RosMessage.py │ │ │ ├── Topics.py │ │ │ ├── Types.py │ │ │ └── __init__.py │ │ ├── Transform.py │ │ └── __init__.py │ ├── Serialise │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Transform.py │ │ └── __init__.py │ ├── Shell │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── Outputs │ │ │ │ └── Cpp │ │ │ │ └── _nodename_ │ │ │ │ ├── include │ │ │ │ └── _nodename_ │ │ │ │ │ └── _nodename_.hpp.template │ │ │ │ └── src │ │ │ │ └── _nodename_.cpp.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_Shell.py │ │ ├── Transform.py │ │ └── __init__.py │ ├── TemporalLogic │ │ ├── Documentation │ │ │ ├── README.md │ │ │ ├── Reference.md │ │ │ └── Tutorials.md │ │ ├── ErrorHandling.py │ │ ├── Examples │ │ │ ├── supervisor_example.rol │ │ │ ├── temporal.rol │ │ │ └── test.rol │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Templates │ │ │ └── Outputs │ │ │ │ ├── HTMLGUI │ │ │ │ └── _nodename_ │ │ │ │ │ └── html │ │ │ │ │ └── _nodename__gui.html.template │ │ │ │ ├── Ros2Cpp │ │ │ │ └── _nodename_ │ │ │ │ │ ├── include │ │ │ │ │ └── _nodename_ │ │ │ │ │ │ └── _nodename_.hpp.template │ │ │ │ │ └── src │ │ │ │ │ └── _nodename_.cpp.template │ │ │ │ └── RosCpp │ │ │ │ └── _nodename_ │ │ │ │ ├── include │ │ │ │ └── _nodename_ │ │ │ │ │ └── _nodename_.hpp.template │ │ │ │ └── src │ │ │ │ └── _nodename_.cpp.template │ │ ├── Tests │ │ │ ├── __init__.py │ │ │ └── test_temporal_logic.py │ │ ├── Transform.py │ │ └── __init__.py │ ├── TypeChecking │ │ ├── ErrorHandling.py │ │ ├── Language.py │ │ ├── Manifesto.py │ │ ├── Messages.py │ │ ├── Parameters.py │ │ ├── README.md │ │ ├── Transform.py │ │ └── __init__.py │ └── __init__.py └── __init__.py ├── TODO.md ├── setup.cfg └── setup.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | /.tags 3 | /RoboticsLanguage.egg-info 4 | *~ 5 | .DS_Store 6 | .coverage 7 | /htmlcov 8 | /dist 9 | /build 10 | .ccls* 11 | .ropeproject 12 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | before_script: 2 | - "export SHELL=/bin/bash" 3 | - "export TERM=xterm" 4 | - "export DEBIAN_FRONTEND=noninteractive" 5 | - "export ROS_DISTRO=kinetic" 6 | 7 | stages: 8 | - build 9 | - test 10 | 11 | image: gitlab.robotcaresystems.com:5500/lea-team/roboticslanguage:latest 12 | 13 | building: 14 | stage: build 15 | script: 16 | - pip install . 17 | - rol_make_documentation 18 | - rol_make_examples 19 | tags: 20 | - general 21 | 22 | testing: 23 | stage: test 24 | script: 25 | - pip install . 26 | - pip install coverage 27 | - python -m unittest discover -s RoboticsLanguage/Scripts/tests/ -v 28 | - coverage run --source=./RoboticsLanguage -m unittest discover -s RoboticsLanguage/Scripts/tests/ 29 | - coverage html 30 | tags: 31 | - general 32 | artifacts: 33 | expire_in: 1 day 34 | paths: 35 | - htmlcov 36 | -------------------------------------------------------------------------------- /ACKNOWLEDGEMENTS.md: -------------------------------------------------------------------------------- 1 | 2 | # Acknowledgements 3 | 4 | 5 | The Robotics Language is developed by Robot Care Systems B.V. (http://www.robotcaresystems.com) with the support of the **ROSIN project** (http://rosin-project.eu) and the **European Commission**. We kindly thank their support. 6 | 7 | This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 732287 8 | 9 | 10 |

11 | 12 | -------------------------------------------------------------------------------- /Development/Editors/atom/ide-robotics-language/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | 3 | This is a placeholder for the future language server interface for the robotics language 4 | -------------------------------------------------------------------------------- /Development/Editors/atom/language-robotics-language/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | npm-debug.log 3 | node_modules 4 | -------------------------------------------------------------------------------- /Development/Editors/atom/language-robotics-language/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "language-robotics-language", 3 | "version": "0.0.1", 4 | "description": "Syntax highlighting for the Robotics Language (ROL)", 5 | "keywords": [ 6 | "language", 7 | "grammar" 8 | ], 9 | "repository": "https://github.com/atom/language-robotics-language", 10 | "license": "Apache 2.0", 11 | "engines": { 12 | "atom": ">=1.0.0 <2.0.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Development/Editors/atom/language-robotics-language/settings/language-robotics-language.cson: -------------------------------------------------------------------------------- 1 | # If you want some examples of settings, check out: 2 | # https://github.com/atom/language-gfm/blob/master/settings/gfm.cson 3 | 4 | '.source.robotics-language': 5 | 'editor': 6 | 'commentStart': '# ' 7 | -------------------------------------------------------------------------------- /Development/Editors/atom/language-robotics-language/snippets/language-robotics-language.cson: -------------------------------------------------------------------------------- 1 | # If you want some example snippets, check out: 2 | # https://github.com/atom/language-javascript/blob/master/snippets/javascript.cson 3 | 4 | '.source.robotics-language': 5 | 'Method documentation': 6 | 'prefix': 'doc' 7 | 'body': '@@ ${1:method} - ${2:description}' 8 | -------------------------------------------------------------------------------- /Development/Editors/atom/language-robotics-language/spec/language-robotics-language-spec.coffee: -------------------------------------------------------------------------------- 1 | # If you want an example of language specs, check out: 2 | # https://github.com/atom/language-javascript/blob/master/spec/javascript-spec.coffee 3 | 4 | describe "RoboticsLanguage grammar", -> 5 | grammar = null 6 | 7 | beforeEach -> 8 | waitsForPromise -> 9 | atom.packages.activatePackage("language-robotics-language") 10 | 11 | runs -> 12 | grammar = atom.syntax.grammarForScopeName("source.robotics-language") 13 | 14 | it "parses the grammar", -> 15 | expect(grammar).toBeTruthy() 16 | expect(grammar.scopeName).toBe "source.robotics-language" 17 | -------------------------------------------------------------------------------- /Development/Editors/atom/rol-finite-state-machine/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | package-lock.json 3 | -------------------------------------------------------------------------------- /Documentation/Tutorials/IEEE-IRC-2019/IEEE-IRC-Part-I.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robotcaresystems/RoboticsLanguage/3bb7a2bf64ab8e9068889713fbeb18a45cd5a3ed/Documentation/Tutorials/IEEE-IRC-2019/IEEE-IRC-Part-I.pdf -------------------------------------------------------------------------------- /Documentation/Tutorials/IEEE-IRC-2019/IEEE-IRC-Part-II.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robotcaresystems/RoboticsLanguage/3bb7a2bf64ab8e9068889713fbeb18a45cd5a3ed/Documentation/Tutorials/IEEE-IRC-2019/IEEE-IRC-Part-II.pdf -------------------------------------------------------------------------------- /Documentation/Tutorials/IEEE-IRC-2019/IEEE-IRC-Part-III.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robotcaresystems/RoboticsLanguage/3bb7a2bf64ab8e9068889713fbeb18a45cd5a3ed/Documentation/Tutorials/IEEE-IRC-2019/IEEE-IRC-Part-III.pdf -------------------------------------------------------------------------------- /Documentation/Tutorials/IEEE-IRC-2019/IEEE-IRC-Part-IV.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robotcaresystems/RoboticsLanguage/3bb7a2bf64ab8e9068889713fbeb18a45cd5a3ed/Documentation/Tutorials/IEEE-IRC-2019/IEEE-IRC-Part-IV.pdf -------------------------------------------------------------------------------- /Documentation/Tutorials/IEEE-IRC-2019/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | # Tutorial presented at [IEEE IRC 2019](http://irc.asia.edu.tw/2019/) 5 | 6 | PDF slides: 7 | 8 | - [Part I - Background](IEEE-IRC-Part-I.pdf) 9 | - [Part II - The Robotics Language](IEEE-IRC-Part-II.pdf) 10 | - [Part III - Tools](IEEE-IRC-Part-III.pdf) 11 | - [Part IV - The rol compiler](IEEE-IRC-Part-IV.pdf) 12 | 13 | Demonstration of the `rol` compiler: 14 | - [Command line examples](../../Compiler/Tutorials/CommandLineExamples/README.md) 15 | 16 | The last part followed the `rol` tutorial on finite state machines: 17 | - [Creating an abstraction language](../../Compiler/Tutorials/FiniteStateMachine/Parser.md) 18 | - [Transformer for a language](../../Compiler/Tutorials/FiniteStateMachine/Transformer.md) 19 | 20 | **Node:** Videos are coming soon! 21 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Assets/FiniteStateMachine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robotcaresystems/RoboticsLanguage/3bb7a2bf64ab8e9068889713fbeb18a45cd5a3ed/RoboticsLanguage/Documentation/Assets/FiniteStateMachine.png -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Assets/TemporalLogic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robotcaresystems/RoboticsLanguage/3bb7a2bf64ab8e9068889713fbeb18a45cd5a3ed/RoboticsLanguage/Documentation/Assets/TemporalLogic.png -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Assets/compiler-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robotcaresystems/RoboticsLanguage/3bb7a2bf64ab8e9068889713fbeb18a45cd5a3ed/RoboticsLanguage/Documentation/Assets/compiler-flow.png -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Assets/rol-logo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robotcaresystems/RoboticsLanguage/3bb7a2bf64ab8e9068889713fbeb18a45cd5a3ed/RoboticsLanguage/Documentation/Assets/rol-logo.pdf -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Assets/rol-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robotcaresystems/RoboticsLanguage/3bb7a2bf64ab8e9068889713fbeb18a45cd5a3ed/RoboticsLanguage/Documentation/Assets/rol-logo.png -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/.gitignore: -------------------------------------------------------------------------------- 1 | _build 2 | pydocmd.yml 3 | index.md 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Base/CommandLine/README.md: -------------------------------------------------------------------------------- 1 |

Base.CommandLine

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Base/Initialise/README.md: -------------------------------------------------------------------------------- 1 |

Base.Initialise

2 | 3 | 4 |

prepareParameters

5 | 6 | ```python 7 | prepareParameters() 8 | ``` 9 | Collects parameters, language, messages, and error handling functions from all list_of_modules. This function is cached in `rol`. To refresh the cache run `rol --remove-cache`. 10 |

Initialise

11 | 12 | ```python 13 | Initialise(remove_cache) 14 | ``` 15 | The main initialisation file of `rol`. Grabs information from all modules to assemble a `parameters` dictionary. 16 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Base/Inputs/README.md: -------------------------------------------------------------------------------- 1 |

Base.Inputs

2 | 3 | 4 |

Parse

5 | 6 | ```python 7 | Parse(file_name, file_type, parameters) 8 | ``` 9 | Parses the robotics language and converts to XML 10 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Base/Outputs/README.md: -------------------------------------------------------------------------------- 1 |

Base.Outputs

2 | 3 | 4 |

Generate

5 | 6 | ```python 7 | Generate(outputs, code, parameters) 8 | ``` 9 | Generates the outputs 10 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Base/Transformations/README.md: -------------------------------------------------------------------------------- 1 |

Base.Transformations

2 | 3 | 4 |

Apply

5 | 6 | ```python 7 | Apply(code, parameters) 8 | ``` 9 | Applies transformations to the XML structure 10 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Inputs/FiniteStateMachine/Parse/README.md: -------------------------------------------------------------------------------- 1 |

Inputs.FiniteStateMachine.Parse

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Inputs/RoL/Parse/README.md: -------------------------------------------------------------------------------- 1 |

Inputs.RoL.Parse

2 | 3 | 4 |

parse

5 | 6 | ```python 7 | parse(text, parameters) 8 | ``` 9 | Main parser for the robotics language 10 |

nodeParametersToDictionary

11 | 12 | ```python 13 | nodeParametersToDictionary(xml) 14 | ``` 15 | Extracts the optional parameters given in the `node` function and adds them to the parameters dictionary 16 |

prepareGrammarEngine

17 | 18 | ```python 19 | prepareGrammarEngine(parameters) 20 | ``` 21 | Build the grammer for the robotics language. Can be cached 22 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Inputs/RoLXML/Parse/README.md: -------------------------------------------------------------------------------- 1 |

Inputs.RoLXML.Parse

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Outputs/Developer/Output/README.md: -------------------------------------------------------------------------------- 1 |

Outputs.Developer.Output

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Outputs/HTMLDocumentation/Output/README.md: -------------------------------------------------------------------------------- 1 |

Outputs.HTMLDocumentation.Output

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Outputs/HTMLGUI/Output/README.md: -------------------------------------------------------------------------------- 1 |

Outputs.HTMLGUI.Output

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Outputs/RoL/Output/README.md: -------------------------------------------------------------------------------- 1 |

Outputs.RoL.Output

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Outputs/RoLXML/Output/README.md: -------------------------------------------------------------------------------- 1 |

Outputs.RoLXML.Output

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Outputs/RosCpp/Output/README.md: -------------------------------------------------------------------------------- 1 |

Outputs.RosCpp.Output

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Transformers/Base/ErrorHandling/README.md: -------------------------------------------------------------------------------- 1 |

Transformers.Base.ErrorHandling

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Transformers/Base/Messages/README.md: -------------------------------------------------------------------------------- 1 |

Transformers.Base.Messages

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Transformers/Base/Transform/README.md: -------------------------------------------------------------------------------- 1 |

Transformers.Base.Transform

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Transformers/FiniteStateMachines/Transform/README.md: -------------------------------------------------------------------------------- 1 |

Transformers.FiniteStateMachines.Transform

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Transformers/LinearAlgebra/Transform/README.md: -------------------------------------------------------------------------------- 1 |

Transformers.LinearAlgebra.Transform

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Transformers/ROS/Transform/README.md: -------------------------------------------------------------------------------- 1 |

Transformers.ROS.Transform

2 | 3 | 4 |

processTopics

5 | 6 | ```python 7 | processTopics(code, parameters) 8 | ``` 9 | Processes all the ROS topics in the RoL code 10 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Reference/Transformers/TemporalLogic/Transform/README.md: -------------------------------------------------------------------------------- 1 |

Transformers.TemporalLogic.Transform

2 | 3 | 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Tutorials/FiniteStateMachine/AtomPlugin.md: -------------------------------------------------------------------------------- 1 | # Finite State Machines tutorial - 4. Creating an Atom plugin to edit the mini-language graphically 2 | 3 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Tutorials/FiniteStateMachine/HTMLGUI.md: -------------------------------------------------------------------------------- 1 | # Finite State Machines tutorial - 3. Creating an HTML graphical user interface to visualise the finite state machine 2 | 3 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Tutorials/FiniteStateMachine/images/fsm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robotcaresystems/RoboticsLanguage/3bb7a2bf64ab8e9068889713fbeb18a45cd5a3ed/RoboticsLanguage/Documentation/Compiler/Tutorials/FiniteStateMachine/images/fsm.png -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Compiler/Tutorials/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language compiler tutorials 2 | 3 | ## Basic Tutorials 4 | 5 | - [Commands line examples](CommandLineExamples/README.md) 6 | 7 | ## Advanced Tutorials 8 | 9 | - [Finite state machines](FiniteStateMachine/README.md) 10 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/Language/Tutorials/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language tutorials 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/MiniLanguages/README.md: -------------------------------------------------------------------------------- 1 | # Mini-languages 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Documentation/README.md: -------------------------------------------------------------------------------- 1 | 2 | # Documentation 3 | 4 | - The Robotics Language 5 | - [Philosophy](Language/Philosophy/README.md) 6 | - [Tutorials](Language/Tutorials/README.md) 7 | - [Reference](Language/Reference/README.md) 8 | 9 | - The Robotics Language compiler 10 | - [Philosophy](Compiler/Philosophy/README.md) 11 | - [Tutorials](Compiler/Tutorials/README.md) 12 | - [Reference](Compiler/Reference/README.md) 13 | 14 | - Tutorials 15 | - [IEEE IRC 2019](../../Documentation/Tutorials/IEEE-IRC-2019/README.md) 16 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/10_deep_inference.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example deep inference', 3 | 4 | definitions: block( 5 | 6 | DeepInference<{ 7 | name: my_network 8 | input_type: 'sensor_msgs/Image' 9 | output_type: ['std_msgs/Float64', 'std_msgs/Int64'] 10 | network_input_channels: 1 11 | network_input_size: [28, 28] 12 | network_model: '~/examples/mnist.h5' 13 | }>, 14 | 15 | input ∈ Signals(rosType:'sensor_msgs/Image', rosTopic:'/input', onNew: { output_probability, output_label} = my_network.DeepInference(input)), 16 | 17 | output_probability ∈ Signals(rosType:'std_msgs/Float64' , rosTopic:'/output_probability'), 18 | 19 | output_label ∈ Signals(rosType:'std_msgs/Int64' , rosTopic:'/output_label') 20 | ) 21 | ) 22 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/1_hello_world.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"hello world", 3 | initialise:print("hello world!") 4 | ) 5 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/2_echo.rol: -------------------------------------------------------------------------------- 1 | # A simple topic echo node 2 | node( 3 | name:"example echo", 4 | 5 | definitions: block( 6 | # the input signal 7 | echo_in ∈ Signals(Strings, rosTopic:'/echo/in', onNew: echo_out = echo_in), 8 | 9 | # the echo signal 10 | echo_out ∈ Signals(Strings, rosTopic:'/echo/out') 11 | ) 12 | ) 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/4_fibonacci.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"example Fibonacci", 3 | definitions: block( 4 | 5 | # incoming and outgoing signals 6 | question ∈ Signals(ℕ, rosTopic: '/fibonacci/question', onNew: answer = Fibonacci(question)), 7 | answer ∈ Signals(ℕ, rosTopic: '/fibonacci/answer'), 8 | 9 | # Definition of a function 10 | define Fibonacci(n ∈ ℕ) -> ℕ: 11 | if(n ≡ 0 ∨ n ≡ 1, 12 | return(n), 13 | return(Fibonacci(n-1)+Fibonacci(n-2)) 14 | ) 15 | ) 16 | ) 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/5_types.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"example types", 3 | definitions:block( 4 | 5 | ## variables defined in the "definitions" optional parameter have global scope. Variables defined outside only have local scope. ## 6 | 7 | # Integers 8 | a ∈ ℤ = -1, 9 | b ∈ ℤ(bits:8), 10 | c ∈ ℤ(bits:16), 11 | d ∈ ℤ(bits:32), 12 | e ∈ ℤ(bits:64), 13 | 14 | # Naturals (unsigned integers) 15 | f ∈ ℕ = 1, 16 | g ∈ ℕ(bits:8), 17 | h ∈ ℕ(bits:16), 18 | i ∈ ℕ(bits:32), 19 | j ∈ ℕ(bits:64), 20 | 21 | # Reals 22 | k ∈ ℝ = 1.3, 23 | l ∈ ℝ(bits:32), 24 | m ∈ ℝ(bits:64), 25 | 26 | # Booleans 27 | n ∈ 𝔹 = true, 28 | 29 | # Strings 30 | o ∈ Strings = "3434" 31 | ), 32 | 33 | initialise:block( 34 | f1 ∈ ℕ = 1, 35 | f2 ∈ ℕ = 1 36 | ) 37 | 38 | ) 39 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/6_mini_language.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"example mini language", 3 | initialise: block( 4 | 5 | RoLXML<{ 6 | 7 | hello 8 | 9 | }>, 10 | 11 | ) 12 | ) 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/7_events.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"example events", 3 | 4 | definitions: block( 5 | 6 | state ∈ Signals(Booleans, rosTopic:'/test/events/state'), 7 | 8 | when(□[1,0](state), 9 | print('always true for 1 second') 10 | ), 11 | 12 | when(state, 13 | print('true') 14 | ), 15 | 16 | when(¬state, 17 | print('false') 18 | ) 19 | ) 20 | ) 21 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/9_temporal_logic.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example temporal logic', 3 | 4 | definitions: block( 5 | 6 | # a signal 7 | x ∈ Signals(Booleans, rosTopic:'/temporal_logic/x'), 8 | 9 | when(□[1,0](x), 10 | print('always in the last second')), 11 | 12 | when(◇[4,1](x), 13 | print('eventually from 4 seconds to 1 second ago')), 14 | 15 | when(□[5,0](◇[1,0](x) ∧ ◇[1,0](¬x)), 16 | print('oscillating faster then 1Hz for at least 5 seconds')) 17 | 18 | ) 19 | ) 20 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/FaultTolerance/failure_handler.rol: -------------------------------------------------------------------------------- 1 | node(name:"Example Failure Handler", 2 | definitions: block( 3 | 4 | failure in Signals(rosTopic:'/failure', rosType:'example_fault_messages/failure', onNew:failure_handler()), 5 | 6 | define failure_handler(): 7 | switch(failure.code, 8 | case('fl_supervisor', print('shutdown because of Supervisor')), 9 | case('fl_navigator', print('shutdown because of Navigator')) 10 | ) 11 | ) 12 | ) 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/FaultTolerance/fault_detection_heartbeat.fdh: -------------------------------------------------------------------------------- 1 | 2 | nodename: example fault detection heartbeat 3 | 4 | fault_topic: /fault 5 | fault_type: example_fault_messages/fault 6 | 7 | reset_topic: /reset 8 | reset_type: std_msgs/String 9 | 10 | fault_prefix: hb_ 11 | 12 | nodes: 13 | - name: supervisor 14 | heartbeat: 1 15 | startup_time: 3 16 | 17 | - name: navigator 18 | heartbeat: 2 19 | startup_time: 5 20 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/FaultTolerance/fault_handler.rol: -------------------------------------------------------------------------------- 1 | node(name:"Example Fault Handler", 2 | definitions: block( 3 | 4 | fault in Signals(rosTopic:'/fault', rosType:'example_fault_messages/fault', onNew: FaultHandler()), 5 | failure in Signals(rosTopic:'/failure', rosType:'example_fault_messages/failure'), 6 | terminator in Signals(rosTopic:'/terminator', rosType:'std_msgs/String'), 7 | 8 | 9 | FaultHandler<{ 10 | - fault: hb_supervisor 11 | retry: 3 12 | timeout: 5 13 | action: terminator.data = 'supervisor' 14 | on_fail: failure.code = 'fl_supervisor' 15 | 16 | - fault: hb_navigator 17 | retry: 5 18 | timeout: 10 19 | action: terminator.data = 'navigator' 20 | on_fail: failure.code = 'fl_navigator' 21 | }> 22 | 23 | ) 24 | ) 25 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/FaultTolerance/fault_tolerance_system.fts: -------------------------------------------------------------------------------- 1 | # name of the fault tolerance system node 2 | name: example_fault_tolerance_system 3 | 4 | # topics 5 | log_topics: /fault /failure 6 | 7 | # names of the nodes 8 | fault_detection_topics: example_fault_detection_topics 9 | fault_detection_heartbeat: example_fault_detection_heartbeat 10 | fault_detection_processes: example_fault_detection_processes 11 | fault_handler: example_fault_handler 12 | failure_handler: example_failure_handler 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/FaultTolerance/messages.rol: -------------------------------------------------------------------------------- 1 | node(name:'Example fault messages', 2 | 3 | definitions: block( 4 | 5 | ROSMessage<{ 6 | name: fault 7 | string code 8 | string cause 9 | string description 10 | time time 11 | }>, 12 | 13 | ROSMessage<{ 14 | name: failure 15 | string code 16 | string cause 17 | string description 18 | time time 19 | }> 20 | 21 | ) 22 | ) 23 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/all.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | find . -iname \*.rol | sort | xargs -n 1 rol $1 $2 $3 $4 $5 $6 $7 $8 $9 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Examples/mnist.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robotcaresystems/RoboticsLanguage/3bb7a2bf64ab8e9068889713fbeb18a45cd5a3ed/RoboticsLanguage/Examples/mnist.h5 -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Cpp/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the parameters for this package 5 | # 6 | # Created on: 19 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Cpp/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 19 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | from RoboticsLanguage.Base.Types import arguments, optional, returns 12 | 13 | language = { 14 | 'cpp': { 15 | 'definition': { 16 | 'arguments': arguments('anything'), 17 | 'returns': returns('none') 18 | }, 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Cpp/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 19 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Cpp/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 19 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Cpp/Parse.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 19 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | from lxml import etree 12 | 13 | def parse(text, parameters): 14 | 15 | code = etree.Element("cpp") 16 | 17 | code.text = text 18 | 19 | return code, parameters 20 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Cpp/README.md: -------------------------------------------------------------------------------- 1 | # Input module Cpp -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Cpp/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 19 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DecisionGraph/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Decision Graph Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DecisionGraph/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Decision Graph Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DecisionGraph/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Decision Graph Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DecisionGraph/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DecisionGraph/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DecisionGraph/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DecisionGraph/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Decision Graph 2 | 3 | The Decision Graph Inputs implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DecisionGraph/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DecisionGraph/Tests/test_DecisionGraph.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_decision_graph.py: Unit testing file 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Inputs.DecisionGraph import Parse 14 | 15 | class TestDecisionGraph(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Decision Graph tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DecisionGraph/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DeepInference/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Deep Inference Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DeepInference/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Deep Inference Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DeepInference/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Deep Inference Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DeepInference/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DeepInference/Examples/Python/DeepInference.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example deep inference', 3 | 4 | definitions: block( 5 | 6 | DeepInference<{ 7 | name: my_network 8 | input_type: 'sensor_msgs/Image' 9 | output_type: ['std_msgs/Float64', 'std_msgs/Int64'] 10 | network_input_channels: 1 11 | network_input_size: [28, 28] 12 | network_model: '~/examples/mnist.h5' 13 | }>, 14 | 15 | input ∈ Signals(rosType:'sensor_msgs/Image', rosTopic:'/input', onNew: { output_probability, output_label} = my_network.DeepInference(input)), 16 | 17 | output_probability ∈ Signals(rosType:'std_msgs/Float64' , rosTopic:'/output_probability'), 18 | 19 | output_label ∈ Signals(rosType:'std_msgs/Int64' , rosTopic:'/output_label') 20 | ) 21 | ) 22 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DeepInference/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | from RoboticsLanguage.Base.Types import arguments, optional, returns 13 | 14 | 15 | language = { 16 | '{di}root': { 17 | 'definition': { 18 | arguments: arguments('anything'), 19 | returns: returns('nothing') 20 | }, 21 | 'output': { 22 | 'RosCpp': '', 23 | 'RosPy': '# this is the root' 24 | } 25 | }, 26 | '{di}name': {}, 27 | '{di}network_input_channels': {}, 28 | '{di}output_type': {}, 29 | '{di}input_type': {}, 30 | '{di}network_input_size': {}, 31 | '{di}network_model': {}, 32 | '{di}item': {}, 33 | 34 | } 35 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DeepInference/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DeepInference/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DeepInference/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Deep Inference 2 | 3 | The Deep Inference Inputs implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DeepInference/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DeepInference/Tests/test_DeepInference.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_deep_inference.py: Unit testing file 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Inputs.DeepInference import Parse 14 | 15 | class TestDeepInference(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Deep Inference tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/DeepInference/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionHeartbeat/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Fault Detection Heartbeat Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionHeartbeat/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Fault Detection Heartbeat Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionHeartbeat/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Fault Detection Heartbeat Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionHeartbeat/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 19 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionHeartbeat/Examples/FaultDetectionHeartbeat.fdh: -------------------------------------------------------------------------------- 1 | 2 | nodename: examples fault detection heartbeat 3 | 4 | fault_topic: /fault 5 | fault_type: example_fault_tolerance_system/Fault 6 | 7 | reset_topic: /reset 8 | reset_type: std_msgs/String 9 | 10 | fault_prefix: hb_ 11 | 12 | nodes: 13 | - name: supervisor 14 | heartbeat: 1 15 | startup_time: 3 16 | 17 | - name: navigator 18 | heartbeat: 2 19 | startup_time: 5 20 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionHeartbeat/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 19 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | from RoboticsLanguage.Base.Types import arguments, optional, returns 13 | 14 | 15 | language = {} 16 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionHeartbeat/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 19 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionHeartbeat/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Fault Detection Heartbeat 2 | 3 | The Fault Detection Heartbeat Inputs implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionHeartbeat/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionHeartbeat/Tests/test_FaultDetectionHeartbeat.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_fault_detection_heartbeat.py: Unit testing file 5 | # 6 | # Created on: 19 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Inputs.FaultDetectionHeartbeat import Parse 14 | 15 | class TestFaultDetectionHeartbeat(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Fault Detection Heartbeat tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionHeartbeat/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 19 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionProcesses/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Fault Detection Processes Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionProcesses/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Fault Detection Processes Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionProcesses/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Fault Detection Processes Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionProcesses/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionProcesses/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | from RoboticsLanguage.Base.Types import arguments, optional, returns 13 | 14 | 15 | language = { 16 | '{fdp}word': { 17 | 'definition': { 18 | arguments: arguments('anything'), 19 | returns: returns('nothing') 20 | }, 21 | 'output': { 22 | 'RosCpp': 'ROS_INFO("{{text}}")' 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionProcesses/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionProcesses/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionProcesses/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Fault Detection Processes 2 | 3 | The Fault Detection Processes Inputs implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionProcesses/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionProcesses/Tests/test_FaultDetectionProcesses.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_fault_detection_processes.py: Unit testing file 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Inputs.FaultDetectionProcesses import Parse 14 | 15 | class TestFaultDetectionProcesses(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Fault Detection Processes tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionProcesses/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionTopics/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Fault Detection Topics Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionTopics/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Fault Detection Topics Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionTopics/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Fault Detection Topics Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionTopics/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Fault Detection Topics 2 | 3 | The Fault Detection Topics Inputs implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionTopics/Support/fault_detection_topic.rol.template: -------------------------------------------------------------------------------- 1 | node( 2 | name:'{{nodename}}', 3 | 4 | definitions: block( 5 | 6 | {% for parameter in parameters %} 7 | {{parameter.name}} in {{parameter.type}} = {{parameter.value}}, 8 | {% endfor %} 9 | 10 | {% for topic in topics %} 11 | {{topic.variable}} in Signals(rosType:'{{topic.type}}', rosTopic:'{{topic.name}}'), 12 | {% endfor %} 13 | 14 | {% for fault in faults %} 15 | when( {{fault.detection}}, 16 | block( 17 | fault.code = '{{fault.code}}', 18 | fault.cause = '{{fault.cause}}', 19 | fault.description = '{{fault.description}}', 20 | fault.time = Cpp<{ros::Time::now()}> 21 | ) 22 | ), 23 | {% endfor %} 24 | 25 | fault in Signals(rosType:'{{fault_type}}', rosTopic:'{{fault_topic}}') 26 | ) 27 | ) 28 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionTopics/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionTopics/Tests/test_FaultDetectionTopics.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_fault_detection_topics.py: Unit testing file 5 | # 6 | # Created on: 11 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Inputs.FaultDetectionTopics import Parse 14 | 15 | class TestFaultDetectionTopics(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Fault Detection Topics tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultDetectionTopics/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 February, 2019 7 | # Author: Gabriel A. D. Lopes 8 | # Licence: Apache 2.0 9 | # Copyright: 2014-2017 Robot Care Systems BV, The Hague, The Netherlands. All rights reserved. 10 | # 11 | # Licensed under the Apache License, Version 2.0 (the "License"); 12 | # you may not use this file except in compliance with the License. 13 | # You may obtain a copy of the License at 14 | # 15 | # http://www.apache.org/licenses/LICENSE-2.0 16 | # 17 | # Unless required by applicable law or agreed to in writing, software 18 | # distributed under the License is distributed on an "AS IS" BASIS, 19 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20 | # See the License for the specific language governing permissions and 21 | # limitations under the License. 22 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultHandler/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Fault Handler Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultHandler/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Fault Handler Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultHandler/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Fault Handler Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultHandler/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 05 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultHandler/Examples/FaultHandler.rol: -------------------------------------------------------------------------------- 1 | node(name:"Example Fault Handler", 2 | definitions: block( 3 | 4 | fault in Signals(rosTopic:'/fault', rosType:'example_fault_messages/fault', onNew: FaultHandler()), 5 | failure in Signals(rosTopic:'/failure', rosType:'example_fault_messages/failure'), 6 | terminator in Signals(rosTopic:'/terminator', rosType:'std_msgs/String'), 7 | 8 | 9 | FaultHandler<{ 10 | - fault: hb_supervisor 11 | retry: 3 12 | timeout: 5 13 | action: terminator.data = 'supervisor' 14 | on_fail: failure.code = 'fl_supervisor' 15 | 16 | - fault: hb_navigator 17 | retry: 5 18 | timeout: 10 19 | action: terminator.data = 'navigator' 20 | on_fail: failure.code = 'fl_navigator' 21 | }> 22 | 23 | ) 24 | ) 25 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultHandler/Examples/messages.rol: -------------------------------------------------------------------------------- 1 | node(name:'Example fault messages', 2 | 3 | definitions: block( 4 | 5 | ROSMessage<{ 6 | name: fault 7 | string code 8 | string cause 9 | string description 10 | time time 11 | }>, 12 | 13 | ROSMessage<{ 14 | name: failure 15 | string code 16 | string cause 17 | string description 18 | time time 19 | }> 20 | 21 | ) 22 | ) 23 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultHandler/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 05 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | from RoboticsLanguage.Base.Types import arguments, returns 13 | 14 | language = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultHandler/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 05 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultHandler/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Fault Handler 2 | 3 | The Fault Handler Inputs implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultHandler/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultHandler/Tests/test_FaultHandler.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_fault_handler.py: Unit testing file 5 | # 6 | # Created on: 05 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Inputs.FaultHandler import Parse 14 | 15 | class TestFaultHandler(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Fault Handler tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultHandler/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 05 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultToleranceSystem/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Fault Tolerance system Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultToleranceSystem/Documentation/images/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robotcaresystems/RoboticsLanguage/3bb7a2bf64ab8e9068889713fbeb18a45cd5a3ed/RoboticsLanguage/Inputs/FaultToleranceSystem/Documentation/images/architecture.png -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultToleranceSystem/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultToleranceSystem/Examples/FaultToleranceSystem.fts: -------------------------------------------------------------------------------- 1 | 2 | # name of the fault tolerance system node 3 | name: example_fault_tolerance_system 4 | 5 | # log faults and failures 6 | log_topics: /fault /failure 7 | 8 | # names of the nodes 9 | fault_detection_topics: example_fault_detection_topics 10 | fault_detection_heartbeat: example_fault_detection_heartbeat 11 | fault_detection_processes: example_fault_detection_processes 12 | fault_handler: example_fault_handler 13 | failure_handler: example_failure_handler 14 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultToleranceSystem/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | from RoboticsLanguage.Base.Types import arguments, returns 13 | 14 | default = { 15 | 'definition': {arguments: arguments('anything'), returns: returns('nothing')}, 16 | 'output': {'Cpp': '', 'Python': ''} 17 | } 18 | 19 | language = { 20 | '{fts}name': default, 21 | '{fts}log_topics': default, 22 | '{fts}fault_handler': default, 23 | '{fts}failure_handler': default, 24 | '{fts}fault_detection_topics': default, 25 | '{fts}fault_detection_processes': default, 26 | '{fts}fault_detection_heartbeat': default, 27 | } 28 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultToleranceSystem/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultToleranceSystem/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultToleranceSystem/README.md: -------------------------------------------------------------------------------- 1 | # Fault Tolerance systems 2 | 3 | - [Documentation](Documentation/README.md) 4 | - [Tutorials](Documentation/Tutorials.md) 5 | - [Examples](Examples) 6 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultToleranceSystem/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultToleranceSystem/Tests/test_FaultToleranceSystem.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_fault_tolerance_system.py: Unit testing file 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Inputs.FaultToleranceSystem import Parse 14 | 15 | class TestFaultToleranceSystem(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Fault Tolerance system tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FaultToleranceSystem/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FiniteStateMachine/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Finite State Machine 2 | 3 | The Finite State Machine Inputs implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FiniteStateMachine/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/FiniteStateMachine/Tests/test_FiniteStateMachine.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_finite_state_machine.py: Unit testing file 5 | # 6 | # Created on: 07 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Inputs.FiniteStateMachine import Parse 14 | 15 | class TestFiniteStateMachine(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Finite State Machine tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/ROSMessage/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # ROS Message Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/ROSMessage/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # ROS Message Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/ROSMessage/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # ROS Message Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/ROSMessage/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 08 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/ROSMessage/Examples/ROSMessage.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example ROS Message', 3 | 4 | definitions: block( 5 | 6 | # the ROS Message mini-language 7 | ROSMessage<{ 8 | 9 | name:Test 10 | 11 | # comments 12 | 13 | std_msgs/MultiArrayLayout layout # comment 14 | bool[] data 15 | 16 | ###### CONSTANTS ###### 17 | uint16 CONSTANT_1 = 1 18 | uint16 CONSTANT_2 = 2 19 | uint16 CONSTANT_3 = 4 20 | uint16 CONSTANT_4 = 8 21 | 22 | }> 23 | ) 24 | ) 25 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/ROSMessage/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 08 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/ROSMessage/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 08 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/ROSMessage/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module ROS Message 2 | 3 | The ROS Message Inputs implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/ROSMessage/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/ROSMessage/Tests/test_ROSMessage.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_ros_message.py: Unit testing file 5 | # 6 | # Created on: 08 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Inputs.ROSMessage import Parse 14 | 15 | class TestROSMessage(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # ROS Message tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/ROSMessage/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 08 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/RoL/Examples/IfThenElse.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"example if then else", 3 | definitions: 4 | x ∈ ℤ = 1, 5 | 6 | 7 | initialise: if(x == 1, 8 | print('yes'), 9 | print('no') 10 | ) 11 | ) 12 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/RoL/Examples/MiniLanguage.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"example mini language", 3 | initialise: 4 | RoLXML<{ hello }> 5 | ) 6 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/RoL/Examples/Precedence.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"example precedence", 3 | initialise: 4 | a ∈ Booleans = 1 + 2 * 3 >= -4 and true 5 | ) 6 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/RoL/Examples/Switch.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"example switch", 3 | definitions: 4 | x ∈ ℤ = 1, 5 | 6 | 7 | initialise: 8 | switch(x, 9 | case(1, print('yes')), 10 | case(2, print('no')), 11 | case(3, print('definitely not') 12 | ) 13 | ) 14 | ) 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/RoL/Examples/Types.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"example types", 3 | definitions:block( 4 | 5 | ## variables defined in the "definitions" optional parameter have global scope. Variables defined outside only have local scope. ## 6 | 7 | # Integers 8 | a ∈ ℤ = -1, 9 | b ∈ ℤ(bits:8), 10 | c ∈ ℤ(bits:16), 11 | d ∈ ℤ(bits:32), 12 | e ∈ ℤ(bits:64), 13 | 14 | # Naturals (unsigned integers) 15 | f ∈ ℕ = 1, 16 | g ∈ ℕ(bits:8), 17 | h ∈ ℕ(bits:16), 18 | i ∈ ℕ(bits:32), 19 | j ∈ ℕ(bits:64), 20 | 21 | # Reals 22 | k ∈ ℝ = 1.3, 23 | l ∈ ℝ(bits:32), 24 | m ∈ ℝ(bits:64), 25 | 26 | # Booleans 27 | n ∈ 𝔹 = true, 28 | 29 | # Strings 30 | o ∈ Strings = "3434" 31 | ), 32 | 33 | initialise:block( 34 | f1 ∈ ℕ = 1, 35 | f2 ∈ ℕ = 1 36 | ) 37 | 38 | ) 39 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/RoL/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | 3 | 4 | ## Language notation 5 | 6 | prefix 7 | - `-` (`-a`) 8 | - `+` (`+a`) 9 | 10 | infix 11 | - `-` (`a-b`) 12 | - `+` (`a+b`) 13 | - `*` (`a*b`) 14 | - `/` (`a/b`) 15 | - `:` (`a:b`) 16 | 17 | postfix 18 | 19 | 20 | bracketing 21 | - `{`, `}` (`{1,2,3}`) 22 | - `[`, `]` (`[1,2]`) 23 | 24 | generic 25 | - **functionDefinition:** `define(` word `:` expression `->`expression `,` expression `|->` expression `)` 26 | - **string:** `'` anything `'` -> ` anything ` 27 | 28 | 29 | 30 | special 31 | - **functions:** word `(` expression, `)` -> ` expression ` 32 | - **languages:** word `<{` anything `}>` -> replaced using different parser 33 | 34 | - **parenthesis:** `(` expression `)` -> expression 35 | - **real:** `-` digits `.` digits `e` `-` digits 36 | - **integer:** `-` digits 37 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/RoLXML/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Shell Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Shell Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Shell Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/Examples/Shell.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example Shell', 3 | 4 | definitions: result ∈ Strings, 5 | 6 | initialise: block( 7 | # the Shell mini-language 8 | result = Shell<{ 9 | 10 | #/bin/bash 11 | STR="Hello World!" 12 | echo $STR 13 | echo 'expression(regular)->"A complicated"' | sed 's/\([^(]*\)(\([^)]*\))->\"\([^\"]*\)\"/\3 \2 \1/g' 14 | 15 | }>, 16 | 17 | print('Got back: ', result), 18 | 19 | result = Shell<{ for x in {1..5}; do sleep 1; echo $x; done }>, 20 | 21 | print('Got back: ', result) 22 | ) 23 | ) 24 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | from RoboticsLanguage.Base.Types import arguments, optional, returns 13 | 14 | 15 | language = { 16 | '{shell}script': { 17 | 'definition': { 18 | arguments: arguments('anything'), 19 | returns: returns('nothing') 20 | }, 21 | 'output': { 22 | 'Cpp': 'execute_shell("{{text}}")' 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/Parse.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parse.py: Parses the Shell language 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | from RoboticsLanguage.Tools import Parsing 12 | 13 | 14 | def shellLanguageEscape(text): 15 | return text.replace('\\', '\\\\').replace('"', '\\"').replace("\n", "\\n\\\n") 16 | 17 | 18 | def parse(text, parameters): 19 | 20 | code = Parsing.xmlNamespace('shell')('script', text=shellLanguageEscape(text)) 21 | 22 | return code, parameters 23 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Shell 2 | 3 | The Shell Inputs implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/Tests/test_Shell.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_shell.py: Unit testing file 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Inputs.Shell import Parse 14 | 15 | class TestShell(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Shell tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Inputs/Shell/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Cpp/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Cpp Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Cpp/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Cpp Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Cpp/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Cpp Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Cpp/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 02 November, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Cpp/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 02 November, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Cpp/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 02 November, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {'strict': False, 13 | 'globalIncludes': set(), 14 | 'localIncludes': set() 15 | } 16 | 17 | command_line_flags = { 18 | 'strict': {'suppress': True}, 19 | 'globalIncludes': {'suppress': True}, 20 | 'localIncludes': {'suppress': True} 21 | } 22 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Cpp/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Cpp 2 | 3 | The Cpp Outputs implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Cpp/Templates/_nodename_/Makefile.template: -------------------------------------------------------------------------------- 1 | all: {{parameters.node.name|underscore}} 2 | 3 | {{parameters.node.name|underscore}}: 4 | c++ src/{{parameters.node.name|underscore}}.cpp -o build/{{parameters.node.name|underscore}} -Iinclude 5 | 6 | clean: 7 | rm build/{{parameters.node.name|underscore}} 8 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Cpp/Templates/_nodename_/build/README.md: -------------------------------------------------------------------------------- 1 | The build products are generated in this folder 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Cpp/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Cpp/Tests/test_Cpp.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_cpp.py: Unit testing file 5 | # 6 | # Created on: 02 November, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Outputs.Cpp import Output 14 | 15 | class TestCpp(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Cpp tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Cpp/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 02 November, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Inputs/__init__.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Inputs/_name_/Documentation/README.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Documentation 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Inputs/_name_/Documentation/Reference.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Reference 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Inputs/_name_/Documentation/Tutorials.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Tutorials 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Inputs/_name_/ErrorHandling.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | error_exception_functions = {} 15 | 16 | error_handling_functions = {} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Inputs/_name_/Examples/_name_.rol.template: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example {{parameters.Outputs.Developer.Info.name}}', 3 | 4 | initialise: block( 5 | # the {{parameters.Outputs.Developer.Info.name}} mini-language 6 | {{parameters.Outputs.Developer.Info.name|camelCase}}<{ word: Hello }> 7 | ) 8 | ) 9 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Inputs/_name_/Messages.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | messages = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Inputs/_name_/Parameters.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | parameters = {} 15 | 16 | command_line_flags = {} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Inputs/_name_/README.md.template: -------------------------------------------------------------------------------- 1 | # Transformer module {{parameters.Outputs.Developer.Info.name}} 2 | 3 | The {{parameters.Outputs.Developer.Info.name}} {{parameters.Outputs.Developer.Info.type}} implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) 10 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Inputs/_name_/__init__.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsJSON/__init__.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsJSON/_name_/Documentation/README.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Documentation 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsJSON/_name_/Documentation/Reference.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Reference 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsJSON/_name_/Documentation/Tutorials.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Tutorials 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsJSON/_name_/ErrorHandling.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | error_exception_functions = {} 15 | 16 | error_handling_functions = {} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsJSON/_name_/Examples/_name_.rol.template: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example {{parameters.Outputs.Developer.Info.name}}', 3 | 4 | initialise: block( 5 | # the {{parameters.Outputs.Developer.Info.name}} mini-language 6 | {{parameters.Outputs.Developer.Info.name|camelCase}}<{ word: Hello }> 7 | ) 8 | ) 9 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsJSON/_name_/Messages.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | messages = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsJSON/_name_/Parameters.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | parameters = {} 15 | 16 | command_line_flags = {} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsJSON/_name_/README.md.template: -------------------------------------------------------------------------------- 1 | # Transformer module {{parameters.Outputs.Developer.Info.name}} 2 | 3 | The {{parameters.Outputs.Developer.Info.name}} {{parameters.Outputs.Developer.Info.type}} implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) 10 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsJSON/_name_/__init__.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsXML/__init__.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsXML/_name_/Documentation/README.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Documentation 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsXML/_name_/Documentation/Reference.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Reference 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsXML/_name_/Documentation/Tutorials.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Tutorials 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsXML/_name_/ErrorHandling.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | error_exception_functions = {} 15 | 16 | error_handling_functions = {} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsXML/_name_/Examples/_name_.rol.template: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example {{parameters.Outputs.Developer.Info.name}}', 3 | 4 | initialise: block( 5 | # the {{parameters.Outputs.Developer.Info.name}} mini-language 6 | {{parameters.Outputs.Developer.Info.name|camelCase}}<{ word: Hello }> 7 | ) 8 | ) 9 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsXML/_name_/Messages.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | messages = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsXML/_name_/Parameters.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | parameters = {} 15 | 16 | command_line_flags = {} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsXML/_name_/README.md.template: -------------------------------------------------------------------------------- 1 | # Transformer module {{parameters.Outputs.Developer.Info.name}} 2 | 3 | The {{parameters.Outputs.Developer.Info.name}} {{parameters.Outputs.Developer.Info.type}} implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) 10 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsXML/_name_/__init__.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsYAML/__init__.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsYAML/_name_/Documentation/README.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Documentation 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsYAML/_name_/Documentation/Reference.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Reference 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsYAML/_name_/Documentation/Tutorials.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Tutorials 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsYAML/_name_/ErrorHandling.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | error_exception_functions = {} 15 | 16 | error_handling_functions = {} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsYAML/_name_/Examples/_name_.rol.template: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example {{parameters.Outputs.Developer.Info.name}}', 3 | 4 | initialise: block( 5 | # the {{parameters.Outputs.Developer.Info.name}} mini-language 6 | {{parameters.Outputs.Developer.Info.name|camelCase}}<{ word: Hello }> 7 | ) 8 | ) 9 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsYAML/_name_/Messages.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | messages = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsYAML/_name_/Parameters.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | parameters = {} 15 | 16 | command_line_flags = {} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsYAML/_name_/README.md.template: -------------------------------------------------------------------------------- 1 | # Transformer module {{parameters.Outputs.Developer.Info.name}} 2 | 3 | The {{parameters.Outputs.Developer.Info.name}} {{parameters.Outputs.Developer.Info.type}} implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) 10 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/InputsYAML/_name_/__init__.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/__init__.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/_name_/Documentation/README.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Documentation 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/_name_/Documentation/Reference.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Reference 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/_name_/Documentation/Tutorials.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Tutorials 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/_name_/ErrorHandling.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | error_exception_functions = {} 15 | 16 | error_handling_functions = {} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/_name_/Examples/_name_.rol.template: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example {{parameters.Outputs.Developer.Info.name}}', 3 | 4 | initialise: block( 5 | print('{{parameters.Outputs.Developer.Info.name|camelCase}}') 6 | ) 7 | ) 8 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/_name_/Language.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | language = {} 15 | 16 | default_output = '' 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/_name_/Messages.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | messages = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/_name_/Output.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | 15 | import sys 16 | from RoboticsLanguage.Base import Utilities 17 | from RoboticsLanguage.Tools import Templates 18 | 19 | def output(code, parameters): 20 | Utilities.logging.info("Output {{parameters.Outputs.Developer.create.Outputs}}...") 21 | 22 | # run template engine to generate code 23 | if not Templates.templateEngine(code, parameters): 24 | sys.exit(1) 25 | 26 | return 0 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/_name_/Parameters.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | parameters = {} 15 | 16 | command_line_flags = {} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/_name_/README.md.template: -------------------------------------------------------------------------------- 1 | # Output module {{parameters.Outputs.Developer.Info.name}} 2 | 3 | The {{parameters.Outputs.Developer.Info.name}} {{parameters.Outputs.Developer.Info.type}} implements: 4 | 5 | - [Documentation](Documentation/README.md) 6 | - [Tutorials](Documentation/Tutorials.md) 7 | - [Reference](Documentation/Reference.md) 8 | - [Examples](Examples) 9 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/_name_/Templates/_name_/_name__example.txt.template.template: -------------------------------------------------------------------------------- 1 | <%% raw %%>{% raw %}<<>> 2 | 3 | Examples: 4 | 5 | Information of the developer: 6 | - Author: {{parameters.Information.user.name}} 7 | 8 | Name of first tag of the code: 9 | - Tag: {{code.tag}} 10 | 11 | Place where other plugins can inject code: 12 | <<<'example'|group>>> 13 | {% endraw %} 14 | <%% endraw %%> 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Outputs/_name_/__init__.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Transformers/__init__.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Transformers/_name_/Documentation/README.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Documentation 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Transformers/_name_/Documentation/Reference.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Reference 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Transformers/_name_/Documentation/Tutorials.md.template: -------------------------------------------------------------------------------- 1 | # {{parameters.Outputs.Developer.Info.name}} Tutorials 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Transformers/_name_/ErrorHandling.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | error_exception_functions = {} 15 | 16 | error_handling_functions = {} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Transformers/_name_/Examples/_name_.rol.template: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example {{parameters.Outputs.Developer.Info.name}}', 3 | 4 | initialise: block( 5 | print('{{parameters.Outputs.Developer.Info.name|camelCase}}') 6 | ) 7 | ) 8 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Transformers/_name_/Language.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | language = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Transformers/_name_/Messages.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | messages = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Transformers/_name_/Parameters.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | parameters = {} 15 | 16 | command_line_flags = {} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Transformers/_name_/README.md.template: -------------------------------------------------------------------------------- 1 | # Transformer module {{parameters.Outputs.Developer.Info.name}} 2 | 3 | The {{parameters.Outputs.Developer.Info.name}} {{parameters.Outputs.Developer.Info.type}} implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) 10 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Transformers/_name_/Transform.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Transform.py: {{parameters.Outputs.Developer.Info.name}} code transformer 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | 14 | 15 | from RoboticsLanguage.Base import Utilities 16 | 17 | def transform(code, parameters): 18 | Utilities.logging.info("Transforming {{parameters.Outputs.Developer.create.Transformers}}...") 19 | 20 | return code, parameters 21 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Developer/Templates/Transformers/_name_/__init__.py.template: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: {{"%d %B, %Y"|todaysDate}} 7 | # Author: {{parameters.Information.user.name}} 8 | # Licence: {{parameters.Information.software.license}} 9 | # Copyright: {{parameters.Information.software.copyright}} 10 | # 11 | # {{parameters.Information.software.longLicense|wordwrap(wrapstring='\n# ')}} 12 | # 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionHeartbeat/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 19 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionHeartbeat/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 19 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | language = {} 13 | 14 | default_output = '' -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionHeartbeat/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 19 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionHeartbeat/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 19 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionHeartbeat/README.md: -------------------------------------------------------------------------------- 1 | # Output module Fault Detection Heartbeat 2 | 3 | This output works together with the [Fault Detection Heartbeat input module](../../Inputs/FaultDetectionHeartbeat/README.md) 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionHeartbeat/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionHeartbeat/Tests/test_FaultDetectionHeartbeat.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_fault_detection_heartbeat.py: Unit testing file 5 | # 6 | # Created on: 19 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Outputs.FaultDetectionHeartbeat import Output 14 | 15 | class TestFaultDetectionHeartbeat(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Fault Detection Heartbeat tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionHeartbeat/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 19 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionTopics/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 12 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionTopics/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 12 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | language = {} 13 | 14 | default_output = '' -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionTopics/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 12 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionTopics/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 12 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionTopics/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Fault Detection Topics 2 | 3 | This output works together with the [Fault Detection Topics input module](../../Inputs/FaultDetectionTopics/README.md) 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionTopics/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionTopics/Tests/test_FaultDetectionTopics.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_fault_detection_topics.py: Unit testing file 5 | # 6 | # Created on: 12 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Outputs.FaultDetectionTopics import Output 14 | 15 | class TestFaultDetectionTopics(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Fault Detection Topics tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultDetectionTopics/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 12 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultToleranceSystem/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultToleranceSystem/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | language = {} 13 | 14 | default_output = '' -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultToleranceSystem/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultToleranceSystem/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultToleranceSystem/README.md: -------------------------------------------------------------------------------- 1 | # Output module Fault Tolerance system 2 | 3 | This output works together with the [Fault Tolerance system input module](../../Inputs/FaultToleranceSystem/README.md) 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultToleranceSystem/Templates/_nodename_/msg/Failure.msg: -------------------------------------------------------------------------------- 1 | string code 2 | string cause 3 | string description 4 | time time 5 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultToleranceSystem/Templates/_nodename_/msg/Fault.msg: -------------------------------------------------------------------------------- 1 | string code 2 | string cause 3 | string description 4 | time time 5 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultToleranceSystem/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultToleranceSystem/Tests/test_FaultToleranceSystem.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_fault_tolerance_system.py: Unit testing file 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Outputs.FaultToleranceSystem import Output 14 | 15 | class TestFaultToleranceSystem(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Fault Tolerance system tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/FaultToleranceSystem/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 08 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Generic/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # generic Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Generic/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # generic Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Generic/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # generic Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Generic/Examples/Generic.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example generic', 3 | 4 | initialise: block( 5 | print('Generic') 6 | ) 7 | ) -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Generic/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 22 October, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: Apache 2.0 9 | # Copyright: Gabriel Lopes 10 | # 11 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not use 12 | # this file except in compliance with the License. You may obtain a copy of the 13 | # License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by 14 | # applicable law or agreed to in writing, software distributed under the License 15 | # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the specific language 17 | # governing permissions and limitations under the License. 18 | # 19 | 20 | language = {} 21 | 22 | default_output = '' -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Generic/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 22 October, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: Apache 2.0 9 | # Copyright: Gabriel Lopes 10 | # 11 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not use 12 | # this file except in compliance with the License. You may obtain a copy of the 13 | # License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by 14 | # applicable law or agreed to in writing, software distributed under the License 15 | # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the specific language 17 | # governing permissions and limitations under the License. 18 | # 19 | 20 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Generic/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 22 October, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: Apache 2.0 9 | # Copyright: Gabriel Lopes 10 | # 11 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not use 12 | # this file except in compliance with the License. You may obtain a copy of the 13 | # License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by 14 | # applicable law or agreed to in writing, software distributed under the License 15 | # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the specific language 17 | # governing permissions and limitations under the License. 18 | # 19 | 20 | parameters = {} 21 | 22 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Generic/README.md: -------------------------------------------------------------------------------- 1 | # Output module generic 2 | 3 | The generic Outputs implements: 4 | 5 | - [Documentation](Documentation/README.md) 6 | - [Tutorials](Documentation/Tutorials.md) 7 | - [Reference](Documentation/Reference.md) 8 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Generic/Templates/Generic/Generic_example.txt.template: -------------------------------------------------------------------------------- 1 | <<>> 2 | 3 | Examples: 4 | 5 | Information of the developer: 6 | - Author: {{parameters.Information.user.name}} 7 | 8 | Name of first tag of the code: 9 | - Tag: {{code.tag}} 10 | 11 | Place where other plugins can inject code: 12 | <<<'example'|group>>> 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Generic/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 22 October, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: Apache 2.0 9 | # Copyright: Gabriel Lopes 10 | # 11 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not use 12 | # this file except in compliance with the License. You may obtain a copy of the 13 | # License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by 14 | # applicable law or agreed to in writing, software distributed under the License 15 | # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the specific language 17 | # governing permissions and limitations under the License. -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/HTMLDocumentation/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/HTMLDocumentation/Templates/index.html.template: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Information

4 | Generated on: {{"%d %B, %Y"|todaysDate}}
5 | Author: {{parameters.Information.user.name}}
6 | Licence: {{parameters.Information.software.license}}
7 | Copyright: {{parameters.Information.software.copyright}} 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/HTMLGUI/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Python/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Python Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Python/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Python Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Python/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Python Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Python/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 02 November, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Python/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 02 November, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Python/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 02 November, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {'strict': False, 13 | 'globalIncludes': set(), 14 | 'localIncludes': set() 15 | } 16 | 17 | command_line_flags = { 18 | 'strict': {'suppress': True}, 19 | 'globalIncludes': {'suppress': True}, 20 | 'localIncludes': {'suppress': True} 21 | } 22 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Python/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Python 2 | 3 | The Python Outputs implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Python/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Python/Tests/test_Python.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_Python.py: Unit testing file 5 | # 6 | # Created on: 02 November, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Outputs.Python import Output 14 | 15 | class TestPython(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Python tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Python/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 02 November, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/RoL/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/RoL/Templates/_nodename_/rol/_nodename_.rol.template: -------------------------------------------------------------------------------- 1 | node( 2 | {{code|xpaths('/node/*')|map("attribute","RoL")|reject("equalto","")|list|join(',')}} 3 | ) 4 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/RoLXML/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Ros2Cpp/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Ros 2 cpp Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Ros2Cpp/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Ros 2 cpp Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Ros2Cpp/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Ros 2 cpp Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Ros2Cpp/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 08 October, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Ros2Cpp/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 08 October, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Ros2Cpp/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 08 October, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | 13 | parameters = { 14 | 'globalIncludes': set(), 15 | 'localIncludes': set() 16 | } 17 | 18 | command_line_flags = { 19 | 'globalIncludes': {'suppress': True}, 20 | 'localIncludes': {'suppress': True} 21 | } 22 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Ros2Cpp/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Ros 2 cpp 2 | 3 | The Ros 2 cpp Outputs implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Ros2Cpp/Templates/_nodename_/CMakeLists.txt.template: -------------------------------------------------------------------------------- 1 | <<>> 2 | cmake_minimum_required(VERSION 3.5) 3 | project({{parameters.node.name|underscore }}) 4 | 5 | # Default to C++14 6 | if(NOT CMAKE_CXX_STANDARD) 7 | set(CMAKE_CXX_STANDARD 14) 8 | endif() 9 | 10 | if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") 11 | add_compile_options() 12 | endif() 13 | 14 | 15 | find_package(ament_cmake REQUIRED) 16 | find_package(rclcpp REQUIRED) 17 | find_package(std_msgs REQUIRED) 18 | <<<'findPackage'|group>>> 19 | 20 | 21 | add_executable({{parameters.node.name|underscore}} src/{{parameters.node.name|underscore}}.cpp) 22 | ament_target_dependencies({{parameters.node.name|underscore}} rclcpp std_msgs <<<'ament_target_dependencies'|group>>>) 23 | 24 | install(TARGETS {{parameters.node.name|underscore}} 25 | DESTINATION lib/${PROJECT_NAME}) 26 | 27 | <<<'extras'|group>>> 28 | 29 | ament_package() 30 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Ros2Cpp/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Ros2Cpp/Tests/test_Ros2Cpp.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_ros_2_cpp.py: Unit testing file 5 | # 6 | # Created on: 08 October, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Outputs.Ros2Cpp import Output 14 | 15 | class TestRos2Cpp(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Ros 2 cpp tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/Ros2Cpp/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 08 October, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/RosCpp/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/RosCpp/Templates/_nodename_/.ccls.template: -------------------------------------------------------------------------------- 1 | clang 2 | %cpp -std=c++11 3 | -Iinclude 4 | -I/opt/ros/{{parameters.Transformers.ROS.distribution}}/include 5 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/RosCpp/Templates/_nodename_/launch/_nodename_.launch.template: -------------------------------------------------------------------------------- 1 | <<>> 2 | 12 | 13 | {% if parameters.Transformers.ROS.useSimulationTime %} 14 | 15 | 16 | {% endif %} 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/RosPy/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Outputs/RosPy/Templates/_nodename_/launch/_nodename_.launch.template: -------------------------------------------------------------------------------- 1 | <<>> 2 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /RoboticsLanguage/Scripts/docker/AWSRobomaker/rol_aws_docker: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$(docker ps -q -f name=AWSRoboticsLanguage)" ]; then 4 | docker run -it --rm --name=AWSRoboticsLanguage \ 5 | --env="DISPLAY" \ 6 | --env="QT_X11_NO_MITSHM=1" \ 7 | --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \ 8 | -p 9090:9090 -p 8000:80 \ 9 | roboticslanguage/aws bash 10 | else 11 | docker exec -i -t AWSRoboticsLanguage /bin/bash 12 | fi 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Scripts/docker/ros1/rol_docker: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$(docker ps -q -f name=RoboticsLanguage)" ]; then 4 | docker run -it --rm --name=RoboticsLanguage -p 9090:9090 -p 8000:80 roboticslanguage/rol bash 5 | else 6 | docker exec -i -t RoboticsLanguage /bin/bash 7 | fi 8 | -------------------------------------------------------------------------------- /RoboticsLanguage/Scripts/docker/ros1/rol_docker_development: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # find where rol is installed 4 | ROL_PATH=`python -c "import os; import RoboticsLanguage; print os.path.dirname(os.path.abspath(RoboticsLanguage.__file__)) + '/..'"` 5 | 6 | # start the docker 7 | # remove rol 8 | # install rol using the mapping of the rol installation folder 9 | if [ ! "$(docker ps -q -f name=DevelopmentRoboticsLanguage)" ]; then 10 | docker run -it --rm -v $ROL_PATH:/home/roboticslanguage/RoboticsLanguage --workdir=/home/roboticslanguage/RoboticsLanguage --name=DevelopmentRoboticsLanguage -p 9090:9090 -p 8000:80 roboticslanguage/rol bash -c "sudo pip -q uninstall --yes RoboticsLanguage; cd /home/roboticslanguage/RoboticsLanguage; sudo pip install -e .; bash" 11 | else 12 | docker exec -i -t DevelopmentRoboticsLanguage /bin/bash 13 | fi 14 | -------------------------------------------------------------------------------- /RoboticsLanguage/Scripts/docker/ros2/rol2_docker: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$(docker ps -q -f name=2RoboticsLanguage)" ]; then 4 | docker run -it --rm --name=2RoboticsLanguage roboticslanguage/rol:ros2 bash 5 | else 6 | docker exec -i -t 2RoboticsLanguage /bin/bash 7 | fi 8 | -------------------------------------------------------------------------------- /RoboticsLanguage/Scripts/docker/ros2/rol2_docker_development: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ROL_PATH=`python -c "import os; import RoboticsLanguage; print os.path.dirname(os.path.abspath(RoboticsLanguage.__file__)) + '/..'"` 3 | 4 | if [ ! "$(docker ps -q -f name=Development2RoboticsLanguage)" ]; then 5 | docker run -it --rm -v $ROL_PATH:/home/roboticslanguage/RoboticsLanguage --workdir=/home/roboticslanguage/RoboticsLanguage --name=Development2RoboticsLanguage roboticslanguage/rol:ros2 bash -c "sudo pip -q uninstall RoboticsLanguage; cd /home/roboticslanguage/RoboticsLanguage; sudo pip install -e .; bash" 6 | else 7 | docker exec -i -t Development2RoboticsLanguage /bin/bash 8 | fi 9 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/AWSRobomaker/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 01 November, 2019 7 | # Author: user name 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | # longLicense 12 | # 13 | 14 | error_exception_functions = {} 15 | 16 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/AWSRobomaker/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 01 November, 2019 7 | # Author: user name 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | # longLicense 12 | # 13 | 14 | language = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/AWSRobomaker/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 01 November, 2019 7 | # Author: user name 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | # longLicense 12 | # 13 | 14 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/AWSRobomaker/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 01 November, 2019 7 | # Author: user name 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | # longLicense 12 | # 13 | 14 | parameters = { 15 | 'copyAWSExamplesHere': False 16 | } 17 | 18 | command_line_flags = { 19 | 'copyAWSExamplesHere': { 20 | 'longFlag': 'copy-aws-examples-here', 21 | 'noArgument': True, 22 | 'fileNotNeeded': True, 23 | 'description': 'Copies a set of examples from AWS plugin into the current folder' 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/AWSRobomaker/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module AWS Robomaker 2 | 3 | The AWS Robomaker Transformers implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/AWSRobomaker/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 01 November, 2019 7 | # Author: user name 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | # longLicense 12 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Base/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Base/Templates/Outputs/Cpp/_nodename_/include/_nodename_/_nodename_.hpp.template: -------------------------------------------------------------------------------- 1 | 2 | {% set definitions %} 3 | 4 | {# FUNCTIONS #################################### #} 5 | {% for function in code|xpaths('/node/option[@name="definitions"]//function_definition') -%} 6 | {% set returns = function|xpaths('function_returns')|first|serializedCode -%} 7 | {% set arguments = (function|xpaths('function_arguments/element')|serializedCode)+(function|xpaths('function_arguments/assign')|serializedCode) -%} 8 | {% if returns|length==0 %}void{% else %}{{returns}}{% endif %} {{function|attribute('name')}}({% if arguments|length==0 %}void{% else %}{{arguments|join(", ")}}{% endif %}); 9 | {% endfor -%} 10 | 11 | {% endset %} 12 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Base/Templates/Outputs/Python/_nodename_/scripts/_nodename_.py.template: -------------------------------------------------------------------------------- 1 | 2 | {% set functions %} 3 | 4 | {# FUNCTIONS #################################### #} 5 | {% for function in code|xpaths('/node/option[@name="definitions"]//function_definition') -%} 6 | {% set returns = function|xpaths('function_returns')|first|serializedCode -%} 7 | {% set arguments = (function|xpaths('function_arguments/element')|serializedCode)+(function|xpaths('function_arguments/*/element/..')|serializedCode) -%} 8 | def {{function|attribute('name')}}({% if arguments|length==0 %}{% else %}{{arguments|join(", ")}}{% endif %}): 9 | #>> 10 | {{function|xpaths('function_content')|first|serializedCode}}; 11 | #<< 12 | {% endfor -%} 13 | 14 | {% endset %} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/CachedComputation/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the parameters for this package 5 | # 6 | # Created on: 05 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/CachedComputation/Examples/cachedComputation.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"example cached computation", 3 | 4 | definitions: block( 5 | 6 | state ∈ Signals(Strings, rosTopic:'/test/state'), 7 | x ∈ Signals(Reals, rosTopic:'/test/x'), 8 | y ∈ Signals(Reals, rosTopic:'/test/y'), 9 | z ∈ Reals 10 | ), 11 | 12 | cachedComputation: 13 | block( 14 | if(state == "idle" and x > 0, 15 | z = x 16 | ), 17 | if(state == "sleep", 18 | z = y, 19 | if (z > 0, 20 | x = z, 21 | x = 2) 22 | ), 23 | if(state == "walk", 24 | x = z 25 | ) 26 | ) 27 | ) 28 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/CachedComputation/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 05 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | from RoboticsLanguage.Base.Types import optional 12 | 13 | 14 | language = { 15 | 'node': { 16 | 'definition': { 17 | 'optional': { 18 | 'cachedComputation': optional('anything', None) 19 | }, 20 | }, 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/CachedComputation/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 05 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/CachedComputation/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 05 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = { 13 | 'printGraphviz': False 14 | } 15 | 16 | command_line_flags = { 17 | 'printGraphviz': { 18 | 'longFlag': 'show-cached-computation-graphviz', 19 | 'noArgument': True 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/CachedComputation/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Cached computation 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/CachedComputation/Templates/Outputs/RosCpp/_nodename_/include/_nodename_/_nodename_.hpp.template: -------------------------------------------------------------------------------- 1 | 2 | {% set includes %} 3 | {% if code.xpath('//option[@name="cachedComputation"]')[0].getchildren()|length > 0 %} 4 | 5 | #include 6 | #include 7 | 8 | {% endif %} 9 | {% endset %} 10 | 11 | {% set definitions %} 12 | {% if code.xpath('//option[@name="cachedComputation"]')[0].getchildren()|length > 0 %} 13 | {% for cache in code|xpaths('//*[@cacheId]') %} 14 | void cacheFunction_{{cache|attribute('cacheId')}} (); 15 | {% endfor %} 16 | void cacheFunction_{{code|xpaths('//*[@cacheId]')|length + 1}} (){}; 17 | 18 | std::vector> caches_list; 19 | {% endif %} 20 | {% endset %} 21 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/CachedComputation/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 05 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DecisionGraph/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Decision Graph Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DecisionGraph/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Decision Graph Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DecisionGraph/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Decision Graph Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DecisionGraph/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 14 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DecisionGraph/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 14 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | language = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DecisionGraph/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 14 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DecisionGraph/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 14 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | parameters = {'graphs': {}} 13 | 14 | command_line_flags = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DecisionGraph/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Decision Graph 2 | 3 | The Decision Graph Transformers implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DecisionGraph/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DecisionGraph/Tests/test_DecisionGraph.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_decision_graph.py: Unit testing file 5 | # 6 | # Created on: 14 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Transformers.DecisionGraph import Transform 14 | 15 | class TestDecisionGraph(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Decision Graph tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DecisionGraph/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 14 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DeepInference/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Deep Inference Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DeepInference/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Deep Inference Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DeepInference/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Deep Inference Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DeepInference/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DeepInference/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | language = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DeepInference/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DeepInference/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DeepInference/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Deep Inference 2 | 3 | The Deep Inference Transformers implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DeepInference/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DeepInference/Tests/test_DeepInference.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_deep_inference.py: Unit testing file 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Transformers.DeepInference import Transform 14 | 15 | class TestDeepInference(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Deep Inference tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DeepInference/Transform.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Transform.py: Deep Inference code transformer 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # 11 | 12 | 13 | def transform(code, parameters): 14 | 15 | return code, parameters 16 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/DeepInference/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 25 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Developer/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 07 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Developer/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 07 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | language = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Developer/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 07 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Developer/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 07 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Developer/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Developer 2 | 3 | The Developer Transformers implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Developer/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Developer/Tests/test_Developer.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_developer.py: Unit testing file 5 | # 6 | # Created on: 07 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Transformers.Developer import Transform 14 | 15 | class TestDeveloper(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Developer tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Developer/Transform.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Transform.py: Developer code transformer 5 | # 6 | # Created on: 06 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | 13 | from RoboticsLanguage.Base import Utilities 14 | 15 | def transform(code, parameters): 16 | 17 | if len(filter(lambda x: isinstance(x, basestring) and x != '', parameters['Outputs']['Developer']['create'].itervalues())) > 0: 18 | if isinstance(parameters['globals']['output'], list): 19 | parameters['globals']['output'].append('Developer') 20 | else: 21 | parameters['globals']['output'] = [parameters['globals']['output'], 'Developer'] 22 | 23 | return code, parameters 24 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Developer/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 07 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Events/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the parameters for this package 5 | # 6 | # Created on: 05 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Events/Examples/events.rol: -------------------------------------------------------------------------------- 1 | node( 2 | rate:25, 3 | name:"example events", 4 | 5 | definitions: block( 6 | 7 | state ∈ Signals(Booleans, rosTopic:'/test/events/state'), 8 | 9 | when(□[1,0](state), 10 | print('always true for 1 second') 11 | ), 12 | 13 | when(state, 14 | print('true') 15 | ), 16 | 17 | when(¬state, 18 | print('false') 19 | ) 20 | ) 21 | ) 22 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Events/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 05 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | from RoboticsLanguage.Base.Types import arguments, returns 12 | 13 | language = { 14 | 'when': { 15 | 'definition': { 16 | 'arguments': arguments('boolean anything*'), 17 | 'returns': returns('nothing') 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Events/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 05 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Events/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 05 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} 15 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Events/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Events -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Events/Templates/Outputs/Cpp/_nodename_/include/_nodename_/_nodename_.hpp.template: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% set definitions %} 4 | 5 | 6 | {% for when in code.xpath('//when') %} 7 | 8 | void when{{when|attribute('whenId')}}(); 9 | bool when_last_{{when|attribute('whenId')}} = false; 10 | 11 | {% endfor %} 12 | 13 | {% endset %} 14 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Events/Templates/Outputs/Cpp/_nodename_/src/_nodename_.cpp.template: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% set functions %} 5 | 6 | 7 | {% for when in code.xpath('//when') %} 8 | 9 | void {{parameters.node.name|camelCase}}Class::when{{when|attribute('whenId')}}() 10 | { 11 | bool when_condition_{{when|attribute('whenId')}} = {{when.getchildren()[0]|serializedCode}}; 12 | bool when_run_{{when|attribute('whenId')}} = (when_last_{{when|attribute('whenId')}} != when_condition_{{when|attribute('whenId')}}); 13 | if (when_run_{{when|attribute('whenId')}}) 14 | { 15 | when_last_{{when|attribute('whenId')}} = when_condition_{{when|attribute('whenId')}}; 16 | if (when_condition_{{when|attribute('whenId')}}) 17 | { 18 | {{when.getchildren()[1]|serializedCode}}; 19 | } 20 | } 21 | } 22 | 23 | {% endfor %} 24 | 25 | 26 | {% endset %} 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Events/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 05 September, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/FiniteStateMachine/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Finite State Machine Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/FiniteStateMachine/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Finite State Machine Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/FiniteStateMachine/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Finite State Machine Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/FiniteStateMachine/Examples/NonDeterminstic.rol: -------------------------------------------------------------------------------- 1 | # A finite state machine 2 | node( 3 | name:'example state machine fail', 4 | definitions: block( 5 | 6 | # a mini-language: code is defined within `<{ }>` 7 | FiniteStateMachine<{ 8 | 9 | name:machine 10 | initial:idle 11 | 12 | (running) -error-> (fault) 13 | (running) -error-> (idle) 14 | 15 | }> 16 | ) 17 | ) 18 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/FiniteStateMachine/README.md: -------------------------------------------------------------------------------- 1 | # Module Finite State Machine 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/FiniteStateMachine/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Generic/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # generic Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Generic/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # generic Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Generic/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # generic Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Generic/Examples/Generic.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example generic', 3 | 4 | initialise: block( 5 | print('Generic') 6 | ) 7 | ) -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Generic/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 22 October, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: Apache 2.0 9 | # Copyright: Gabriel Lopes 10 | # 11 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not use 12 | # this file except in compliance with the License. You may obtain a copy of the 13 | # License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by 14 | # applicable law or agreed to in writing, software distributed under the License 15 | # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the specific language 17 | # governing permissions and limitations under the License. 18 | # 19 | 20 | language = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Generic/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 22 October, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: Apache 2.0 9 | # Copyright: Gabriel Lopes 10 | # 11 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not use 12 | # this file except in compliance with the License. You may obtain a copy of the 13 | # License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by 14 | # applicable law or agreed to in writing, software distributed under the License 15 | # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the specific language 17 | # governing permissions and limitations under the License. 18 | # 19 | 20 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Generic/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module generic 2 | 3 | The generic Transformers implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Generic/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 22 October, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: Apache 2.0 9 | # Copyright: Gabriel Lopes 10 | # 11 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not use 12 | # this file except in compliance with the License. You may obtain a copy of the 13 | # License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by 14 | # applicable law or agreed to in writing, software distributed under the License 15 | # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the specific language 17 | # governing permissions and limitations under the License. 18 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Mathematics/Examples/math.rol: -------------------------------------------------------------------------------- 1 | node( name:"example mathematics", 2 | 3 | definitions: block( 4 | a in Reals = 2, 5 | b in Reals = 3, 6 | c in Reals = 4 7 | ), 8 | 9 | initialise: block( 10 | print('a = ', a), 11 | print('b = ', b), 12 | print('a + b = ' , a + b), 13 | print('a - b = ' , a - b), 14 | print('a * b = ' , a * b), 15 | print('a / b = ' , a / b) 16 | ) 17 | ) 18 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Mathematics/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/ROS/Examples/WorkInProgress/RosClass.rol: -------------------------------------------------------------------------------- 1 | library(name:"example ros class", 2 | definitions: block( 3 | 4 | value in Reals, 5 | 6 | define set(x in Reals): 7 | block(value = x), 8 | 9 | define get() -> Reals: 10 | return(value) 11 | ) 12 | ) 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/ROS/Examples/WorkInProgress/RosClassUsage.rol: -------------------------------------------------------------------------------- 1 | node(name:"example ros class usage", 2 | definitions: block( 3 | 4 | example_ros_class in RosClass(class:'ExampleRosClassClass', 5 | package:'example_ros_class', 6 | namespace:'example_ros_class', 7 | arguments:{}), 8 | 9 | set_integer in Signals(Integers, rosTopic:'/example_import_class/set', onNew: 10 | block( 11 | example_ros_class.set(set_integer), 12 | get_integer = example_ros_class.get(), 13 | print('number = ', get_integer) 14 | ) 15 | ), 16 | 17 | get_integer in Signals(Integers, rosTopic:'/example_import_class/get') 18 | 19 | ) 20 | ) 21 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/ROS/Examples/WorkInProgress/functions.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"function example", 3 | 4 | definitions:block( 5 | 6 | question ∈ Signals(rosType:'my_msgs/FooMsg', rosTopic: '/metrics', onNew: answer = DistanceToGoal(question)), 7 | 8 | answer ∈ Signals(Strings, rosTopic: '/monitor/test/bar'), 9 | 10 | define DistanceToGoal(x ∈ RosType('my_msgs/FooMsg')) -> Strings: 11 | return(x.foo.data) 12 | ) 13 | ) 14 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/ROS/Examples/WorkInProgress/my_msgs.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"my msgs", 3 | 4 | definitions:block( 5 | 6 | # the ROS Message mini-language 7 | ROSMessage<{ 8 | 9 | name:FooMsg 10 | 11 | std_msgs/String foo 12 | 13 | }> 14 | ) 15 | ) 16 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/ROS/Examples/echo.rol: -------------------------------------------------------------------------------- 1 | # A simple topic echo node 2 | node( 3 | name:"example echo", 4 | 5 | definitions: block( 6 | # the input signal 7 | echo_in ∈ Signals(Strings, rosTopic:'/echo/in', onNew: echo_out = echo_in ), 8 | 9 | # the echo signal 10 | echo_out ∈ Signals(Strings, rosTopic:'/echo/out') 11 | ) 12 | ) 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/ROS/Examples/fibonacci.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:"example Fibonacci", 3 | definitions: block( 4 | 5 | # incoming and outgoing signals 6 | question ∈ Signals(ℕ, rosTopic: '/fibonacci/question', onNew: answer = Fibonacci(question)), 7 | answer ∈ Signals(ℕ, rosTopic: '/fibonacci/answer'), 8 | 9 | # Definition of a function 10 | define Fibonacci(n ∈ ℕ) -> ℕ: 11 | if(n ≡ 0 ∨ n ≡ 1, 12 | return(n), 13 | return(Fibonacci(n-1)+Fibonacci(n-2)) 14 | ) 15 | ) 16 | ) 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/ROS/README.md: -------------------------------------------------------------------------------- 1 | # The Robotics Language 2 | 3 | 4 | ## Type conversion 5 | Set|RoL |C++ 6 | --|---|-- 7 | ℝ | Reals | float (32bit), double (64bit) 8 | ℤ | Integers | int8_t,int16_t,int32_t,int64_t 9 | ℕ | Naturals | uint8_t,uint16_t,uint32_t,uint64_t 10 | 𝔹 | Booleans | uint8_t 11 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/ROS/Templates/Outputs/RosCpp/_nodename_/CMakeLists.txt.template: -------------------------------------------------------------------------------- 1 | 2 | {% set addMessageFiles -%} 3 | {% for message in code.xpath('//rosm:message', namespaces={'rosm': 'rosm'}) -%} 4 | {{message.xpath('.//rosm:name', namespaces={'rosm': 'rosm'})|first|text}}.msg 5 | {% endfor -%} 6 | {% endset -%} 7 | 8 | {% set generateMessages -%} 9 | {% for dependency in parameters.Transformers.ROS.messageDependencies -%} 10 | {{dependency}} 11 | {% endfor -%} 12 | {% endset -%} 13 | 14 | 15 | {% set findPackage -%} 16 | {% for dependency in parameters.Transformers.ROS.buildDependencies -%} 17 | {{dependency}} 18 | {% endfor -%} 19 | {% endset -%} 20 | 21 | 22 | 23 | {% set catkinDepends -%} 24 | {% for dependency in parameters.Transformers.ROS.buildDependencies -%} 25 | {{dependency}} 26 | {% endfor -%} 27 | {% endset -%} 28 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/ROS/Templates/Outputs/RosCpp/_nodename_/package.xml.template: -------------------------------------------------------------------------------- 1 | 2 | {% set build_depend -%} 3 | {% for dependency in parameters.Transformers.ROS.buildDependencies -%} 4 | {{dependency}} 5 | {% endfor -%} 6 | {% if code.xpath('//rosm:message', namespaces={'rosm': 'rosm'})|length > 0 -%} 7 | message_generation 8 | {% endif -%} 9 | {% endset -%} 10 | 11 | {% set run_depend -%} 12 | {% for dependency in parameters.Transformers.ROS.buildDependencies -%} 13 | {{dependency}} 14 | {% endfor -%} 15 | {% if code.xpath('//rosm:message', namespaces={'rosm': 'rosm'})|length > 0 -%} 16 | message_runtime 17 | {% endif -%} 18 | {% endset -%} 19 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/ROS/Templates/Outputs/RosPy/_nodename_/CMakeLists.txt.template: -------------------------------------------------------------------------------- 1 | 2 | {% set addMessageFiles -%} 3 | {% for message in code.xpath('//rosm:message', namespaces={'rosm': 'rosm'}) -%} 4 | {{code.xpath('.//rosm:name', namespaces={'rosm': 'rosm'})|first|text}}.msg 5 | {% endfor -%} 6 | {% endset -%} 7 | 8 | {% set generateMessages -%} 9 | {% endset -%} 10 | 11 | {% set catkinDepends -%} 12 | {% endset -%} 13 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/ROS/Templates/Outputs/RosPy/_nodename_/package.xml.template: -------------------------------------------------------------------------------- 1 | 2 | {% set build_depend %} 3 | 4 | {% if code.xpath('//rosm:message', namespaces={'rosm': 'rosm'})|length > 0 %} 5 | message_generation 6 | {% endif %} 7 | 8 | {% endset %} 9 | 10 | {% set run_depend %} 11 | 12 | {% if code.xpath('//rosm:message', namespaces={'rosm': 'rosm'})|length > 0 %} 13 | message_runtime 14 | {% endif %} 15 | 16 | {% endset %} 17 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Serialise/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Serialise -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Shell Documentation -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Shell Reference -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Shell Tutorials -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the error handling functions for this package 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Language.py: Definition of the language for this package 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | language = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Messages.py: Definition of the messages for this package 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = {} 13 | 14 | command_line_flags = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Shell 2 | 3 | The Shell Transformers implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/Templates/Outputs/Cpp/_nodename_/include/_nodename_/_nodename_.hpp.template: -------------------------------------------------------------------------------- 1 | 2 | {% set includes %} 3 | {% if code.xpath('//shell:script', namespaces={'shell':'shell'})|length > 0 -%} 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | {% endif %} 11 | {% endset %} 12 | 13 | {% set definitions %} 14 | {% if code.xpath('//shell:script', namespaces={'shell':'shell'})|length > 0 -%} 15 | std::string execute_shell(const char* cmd); 16 | {% endif %} 17 | {% endset %} 18 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/Tests/test_Shell.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # test_shell.py: Unit testing file 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | import unittest 13 | from RoboticsLanguage.Transformers.Shell import Transform 14 | 15 | class TestShell(unittest.TestCase): 16 | 17 | # ------------------------------------------------------------------------------------------------- 18 | # Shell tests 19 | # ------------------------------------------------------------------------------------------------- 20 | def test_template(self): 21 | self.assertEqual(1,1) 22 | 23 | 24 | 25 | if __name__ == '__main__': 26 | unittest.main() -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/Transform.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Transform.py: Shell code transformer 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | 13 | def transform(code, parameters): 14 | 15 | return code, parameters 16 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/Shell/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 15 February, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TemporalLogic/Documentation/README.md: -------------------------------------------------------------------------------- 1 | # Temporal Logic Documentation 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TemporalLogic/Documentation/Reference.md: -------------------------------------------------------------------------------- 1 | # Temporal Logic Reference 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TemporalLogic/Documentation/Tutorials.md: -------------------------------------------------------------------------------- 1 | # Temporal Logic Tutorials 2 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TemporalLogic/Examples/supervisor_example.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example temporal logic 1', 3 | rate:25, 4 | 5 | definitions: block( 6 | # a signal 7 | sensor_seat ∈ Signals(Booleans, rosTopic:'/sensor/seat', onNew:print('Sensor_seat: ', sensor_seat)), 8 | sensor_getup ∈ Signals(Naturals, bits:8, rosTopic:'/sensor/getup', onNew:print('Sensor_getup: ', sensor_getup)) 9 | 10 | 11 | ), 12 | 13 | initialise: block( 14 | if(◇[3,0]( 15 | □[2,1]( 16 | ◇[2,1](sensor_getup > 0 ) ∧ □[5,6](¬(sensor_getup > 0)))), 17 | print('Oscilating...')), 18 | 19 | if(□[2,0](sensor_seat), 20 | print('Sitting (ALWAYS INTERVAL)')), 21 | 22 | if(◇[4,0](sensor_seat), 23 | print('Sitting (EVENTUALLY INTERVAL)')) 24 | 25 | ) 26 | ) 27 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TemporalLogic/Examples/temporal.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example temporal logic 2', 3 | 4 | definitions: block( 5 | # a signal 6 | x ∈ Signals(Reals, rosTopic:'/temporal_logic/test/x'), 7 | 8 | y ∈ Signals(Reals, rosTopic:'/temporal_logic/test/y'), 9 | 10 | z ∈ Signals(Booleans, rosTopic:'/temporal_logic/test/z') 11 | 12 | ), 13 | 14 | initialise: block( 15 | if( □[0,1](¬◇[1,2](z or ◇[0,1](x > y))), 16 | print('x positive') 17 | ) 18 | , 19 | 20 | if(◇(x == 0), 21 | print('x = 0') 22 | ) 23 | ) 24 | ) 25 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TemporalLogic/Examples/test.rol: -------------------------------------------------------------------------------- 1 | node( 2 | name:'example temporal logic 3', 3 | 4 | definitions: block( 5 | 6 | # a signal 7 | x ∈ Signals(Booleans, rosTopic:'/temporal_logic/x'), 8 | 9 | when(□[1,0](x), 10 | print('always 1 0')), 11 | 12 | when(◇[2,0](x), 13 | print('eventually 2 0')), 14 | 15 | when(□[3,1](x), 16 | print('always 3 1')), 17 | 18 | when(◇[4,1](x), 19 | print('eventually 4 1')), 20 | 21 | when(□[5,0](◇[1,0](x) ∧ ◇[1,0](¬x)), 22 | print('oscilating faster then 1Hz for at least 5 seconds')) 23 | 24 | ) 25 | ) 26 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TemporalLogic/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Temporal Logic 2 | 3 | The Temporal Logic transformer implements ... 4 | 5 | 6 | - [Documentation](Documentation/README.md) 7 | - [Tutorials](Documentation/Tutorials.md) 8 | - [Reference](Documentation/Reference.md) 9 | - [Examples](Examples) 10 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TemporalLogic/Tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # __init__.py 5 | # 6 | # Created on: 11 March, 2019 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: Robot Care Systems BV 10 | # -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TypeChecking/ErrorHandling.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # ErrorHandling.py: Definition of the parameters for this package 5 | # 6 | # Created on: 31 July, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | error_exception_functions = {} 13 | 14 | error_handling_functions = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TypeChecking/Language.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 31 July, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | language = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TypeChecking/Messages.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 31 July, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | messages = {} -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TypeChecking/Parameters.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 31 July, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | parameters = { 13 | 'ignoreSemanticErrors': True 14 | } 15 | 16 | command_line_flags = { 17 | 'ignoreSemanticErrors': { 18 | 'longFlag': 'ignore-semantic-errors', 19 | 'noArgument': True, 20 | 'description': 'Ignores the semantic errors and attempts to generate code. Result may not compile.' 21 | }, 22 | } 23 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TypeChecking/README.md: -------------------------------------------------------------------------------- 1 | # Transformer module Type Checking -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TypeChecking/Transform.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 31 July, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # 11 | 12 | from RoboticsLanguage.Tools import Semantic 13 | 14 | 15 | def transform(code, parameters): 16 | 17 | # check if should ignore semantic checking 18 | if parameters['Transformers']['TypeChecking']['ignoreSemanticErrors']: 19 | return code, parameters 20 | 21 | # do all semantic checking 22 | code, parameters = Semantic.Checker(code, parameters) 23 | 24 | return code, parameters 25 | -------------------------------------------------------------------------------- /RoboticsLanguage/Transformers/TypeChecking/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # This is the Robotics Language compiler 3 | # 4 | # Parameters.py: Definition of the parameters for this package 5 | # 6 | # Created on: 31 July, 2018 7 | # Author: Gabriel Lopes 8 | # Licence: license 9 | # Copyright: copyright 10 | # -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [pycodestyle] 2 | ignore = E226,E24, E111, E114 3 | max_line_length = 120 4 | --------------------------------------------------------------------------------