Skip to main content

The Robotics Language

Project description

The Robotics Language (RoL) is an open extensible domain-specific (or model-based) language for robotics. RoL is an abstraction on top of ROS to efficiently and quickly develop ROS applications using a mathematics-centred language. RoL generates ROS c++ nodes, HTML interfaces, or any other elements.

The base RoL language has a structure similar to standard high-level programming languages

# A simple topic echo node
node(
  name:'example echo',

  definitions: block(
    # the input signal
    echo_in in Signals(Strings, rosTopic:'/echo/in', onNew: echo_out = echo_in ),

    # the echo signal
    echo_out in Signals(Strings, rosTopic:'/echo/out')
  )
)

The power of the RoL is in its ability to integrate mini-abstraction languages:

# A finite state machine
node(
  name:'example state machine',

  definitions: block(

    # a mini-language: code is defined within `<{ }>`
    FiniteStateMachine<{

      name:machine
      initial:idle

      (idle)-start->(running)-stop->(idle)
      (running)-error->(fault)-reset->(idle)
      (idle)-calibration->(calibrate)-reset->(idle)

    }>,

    # the start signal
    start in Signals(Empty, rosTopic:'/start', onNew: machine.fire('start')),

    # the stop signal
    stop in Signals(Empty, rosTopic:'/stop', onNew: machine.fire('stop'))

  )
)

The RoL is in practice an open compiler where users can develop their own languages by means of plug-ins. The RoL is programmed in python and uses XML as the internal abstract syntax tree.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

RoboticsLanguage-0.3.21-py2-none-any.whl (5.5 MB view details)

Uploaded Python 2

File details

Details for the file RoboticsLanguage-0.3.21-py2-none-any.whl.

File metadata

  • Download URL: RoboticsLanguage-0.3.21-py2-none-any.whl
  • Upload date:
  • Size: 5.5 MB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.19.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/2.7.15

File hashes

Hashes for RoboticsLanguage-0.3.21-py2-none-any.whl
Algorithm Hash digest
SHA256 8248731cbed82c0f1d7ce57390eabe60d0b767770fdd18740b29c2751bd11778
MD5 05f6876b73c739b593ca06480da09458
BLAKE2b-256 4fa383a6c936fa05862203279bce0ef35b51c834778524792bda86f6e254777e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page