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.

TopCodes Service

javadoc

TopCodes service allows to recognize a special code. You can print these codes using the attached topcodes.pdf.

The service gives back the following information :

  • Number of the code recognized
  • Coordinates of the center of the code (x,y)
  • Diameter of the code (which can be used to find distance)
  • Angular rotation of the code

​THERE ARE 99 DIFFERENT CODES.

CAMERA SHOULD BE AS PERPENDICULAR AS POSSIBLE TO THE CODE, IN ORDER TO WORK WELL.


InverseKinematics Service

javadoc

This service allows to calcuate inverse kinematics for a N Degrees of Freedom robot arm, mounted on a rotating base..

Insert your point coordinates (x,y,z) and your rods lenght , and it will calculate angles of rods and base in order to reach that point

TODO : send calculated angles to arduino service and servos service

References


FindHuman Service

javadoc

Attempts to find humans through OpenCV facedetect. Utilizes a pan / tilt kit and LKOptical track points to track human after detection.

 

 

So far you have to use Eclipse and change the FindHuman.java file in the service directory to set your Arduino pin and com port settings, etc. Then start it like you would any other MRL Service.


Twitter Service

javadoc

References

[[Twitter.simpletweet.py]]

[[Twitter.uploadpicture.py]]

[[Twitter.uploadFromOpenCV.py]]


TesseractOCR Service

javadoc

TesseractOCR will use optical character recognition on an image to read English words.

Currently limited to Linux 32/64 bit, and Windows 32 bit. It is possible to run on Windows 64 bit by download ing the Java 32 bit JRE, and then starting MRL in 32 bit Java.

There is currently one method to use,
public String OCR(SerializableImage image)
pass TesseractOCR an image, and it returns a String of text.

example: 
This example reads the upper left corner of the screen:
 
AWTRobot awt = (AWTRobot) Runtime.createAndStart("awt", "AWTRobot");
awt.setBounds(0, 0, 100, 100); 
TesseractOCR tess = (TesseractOCR) Runtime.createAndStart("tess",
"TesseractOCR");
tess.subscribe("publishDisplay", awt.getName(), "OCR");

AWTRobot Service

javadoc

This service uses java.awt.Robot to provide a video stream of your screen, and to allow access to programmatically clicking the mouse and pressing keys.


Sphinx Service

javadoc

Sphinx is a speech recognition service (Speech To Text)

 


WebServer Service

javadoc

A WebServer service - allows control through AJAX and web services

The WebServer service load the contenent of the MRL folder on : http://localhost:19191/

localhost is : 127.0.0.1 and the defaulf port is : 19191


AudioCapture Service

javadoc

A simple service to record voice using a microphone