Skip to main content

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.

Release files for RoboticsLanguage 0.3.21

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for RoboticsLanguage 0.3.21
File Interpreter ABI Platform
RoboticsLanguage-0.3.21-py2-none-any.whl Python 2 none any Details

Release files / RoboticsLanguage-0.3.21-py2-none-any.whl

Download URL RoboticsLanguage-0.3.21-py2-none-any.whl
Size 5.5 MB
Tags Python 2
SHA-256 checksum
How to use checksums
8248731cbed82c0f1d7ce57390eabe60d0b767770fdd18740b29c2751bd11778
BLAKE2b-256 checksum
How to use checksums
4fa383a6c936fa05862203279bce0ef35b51c834778524792bda86f6e254777e
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

0.3.26

1 release file

0.3.25

1 release file

0.3.24

1 release file

0.3.23

1 release file

0.3.22

1 release file

This release

0.3.21 This release

1 release file

0.3.20

1 release file

0.3.19

1 release file

0.3.18

1 release file

0.3.17

1 release file

0.3.16

1 release file

0.3.15

1 release file

0.3.14

1 release file

0.3.13

1 release file

0.3.12

1 release file

0.3.11

1 release file

0.3.10

1 release file

0.3.9

1 release file

0.3.8

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page