This is a listing of Services which can operate in MyRobotLab framework. You could think of these Services as being little software machines managing input, output and communicating to other systems.

DiscordBot Service

javadoc

A while back we added the DiscordBot service to MyRobotLab.  The Discord Bot service acts as a gateway.  

The DiscordBot service implements 2 interfaces in MyRobotLab, the first is UtterancePublisher and the UtteranceListener.  

The idea is that DiscordBot connects to a discord server using the Discord java API.  The DiscordBot logs into the server using a security token that is associated with a discord bot user. 

Example for develop:

[[DiscordBot.py]]

InverseKinematics3D Service

javadoc

Example for develop:

[[InverseKinematics3D.py]]

ServoMixer Service

javadoc

General purpose service to orchestrate servos.

Example for develop:

[[ServoMixer.py]]

Random Service

javadoc

The Random service can create random messages with random parameters.  Any method accessable can be called at some interval with ranges of parameters.  For example, if you wanted a Servo to move at some interval between 1 and 5 seconds between 35 and 165.

random = Runtime.start('random','Random')
random.addRandom(1000, 5000, 'servo01', 'moveTo', random.intRange(35, 165))

 

Example of Web UI list of current random method events

Example for develop:

[[Random.py]]

Mpr121 Service

javadoc

The Mpr121 service

Example for develop:

[[Mpr121.py]]

Hd44780 Service

javadoc

 
The HD44780 is the primary chip for a 16 character x 2  or 16 x 4 line LCD display.
 
These small displays can be found cheap online and are easy to use with a device with an I2C bus master.

Example for develop:

[[Hd44780.py]]

ServoMixer Service

javadoc


User interface is worky in this pr - https://github.com/MyRobotLab/myrobotlab/pull/801 
"sub panels" how to get service page parts showing in other service pages is worky, as you might be able to tell by the set of servos here.

Example for develop:

[[ServoMixer.py]]

FiniteStateMachine Service

javadoc

A Finite State Machine, or FSM, is a computation model that can represent and control execution flow. Finite State Machines can be used to model problems in many fields, including mathematics, artificial intelligence, games or linguistics.

Example for develop:

[[FiniteStateMachine.py]]

MimicSpeech Service

javadoc

A text to speech system from the mycroft project.

References :

Example for develop:

[[MimicSpeech.py]]

Chassis Service

javadoc

A generalized chassis platform using a differential drive.  Used to implement higher level functions like turning to a specific heading or following a path.

Example for develop:

[[Chassis.py]]