├── .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 |
2 |
3 |
4 |
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 |
2 |
3 |
4 |
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 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RoboticsLanguage/Documentation/Compiler/Reference/Inputs/RoL/Parse/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ```python
7 | parse(text, parameters)
8 | ```
9 | Main parser for the robotics language
10 |
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 |
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 |
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 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RoboticsLanguage/Documentation/Compiler/Reference/Transformers/Base/Messages/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RoboticsLanguage/Documentation/Compiler/Reference/Transformers/Base/Transform/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RoboticsLanguage/Documentation/Compiler/Reference/Transformers/FiniteStateMachines/Transform/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RoboticsLanguage/Documentation/Compiler/Reference/Transformers/LinearAlgebra/Transform/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RoboticsLanguage/Documentation/Compiler/Reference/Transformers/ROS/Transform/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
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 |
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 |
--------------------------------------------------------------------------------