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)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|