legs . . . .

FML_CPU's picture

Hello im new here, The robot should have legs. Integrate a gyroscope to creat the gravity center of the robot.

The Intention of Arduino Sensor Attach

GroG's picture

Kwatters asked me about the intention of Arduino Sensor attach.  I know it could be refactored, but its good to know the intention before doing so.

The general goal is quite simple :  Support as many sensors as possible with as little code !

So the idea I had was a generalized Sensor would exist in the MRLComm.c.  This struct is a union of all the sensors data we desired to support.  Not a C-union (because those can be even more tricky with memory issues), but just a simple struct.

Project Tango - this needs to be Borg'd

GroG's picture

Don't know all the details .. but it feels like this Sooooooooo  needs to be Borg'd.
What I think this is .. is .. the all powerful "Google" has created an sdk to harness the full potential of the most common commercially available hardware which contains the most densely packed sensor platform (ie. the smartphone)

Software reset in Arduino

Mats's picture


To avoid runaway tasks in MRLComm if MRL is closed, this code could be exected when MRLComm detects that the contact with MRL has been lost.

void(* resetFunc) (void) = 0;  // Define the reset function at address 0

resetFunc();  // Call the reset 
It will then end up in the initial setup() and reinitiate. So all pins will be reste to their initial state and the communicaiton will go into it's initial state.

PID Service


A PID service allows the tracking and transformation of output in relation to iinput.  This is currently used as one of the tracking strategies in the Tracking service.  Input is sent to PID, a "compute" method is sent and appropriate output is sent to a servo.



PIR sensor problem still

harland's picture

It is amazing how hard it is to get some things to work in MRL.

My PIR code works on the bench using a mega board on digital pin 12.

You see on a mega board and using pin 12:

14:38:43.836 [COM8.portListener 1] INFO  class org.myrobotlab.service.Arduino - Publish Pin: {

  "pin": 12,

  "type": 2,

  "value": 0,

  "source": "arduino"

And when the PIR is triggered you see:

MyRobotLab Coding Style

GroG's picture

Java :

Simplicity is a good rule to follow.  So, many of the details of formatting are left to eclipse IDE. 
2 very important and useful key strokes in eclipse are 

GoogleCloud Service


Google make exemplary software.  Much of it the publish as open source.  (Thank You Google).  
Some of it, they make impressive services.  This service allows our robots to interact with those services. 

They include Vision, Speech, Translate, & Cloud Machine Learning.

Arduino and MRLComm setup and loop methods

kwatters's picture

I've been working on debugging various issues that people are having with the arduino service.  I've found that it's a bit overwhelming to read through so I took a crack at cleaning it up.  Below, I will share some notes about the coding convention that I've taken on with this refactor/code cleanup.

Design principals

Error when installing webGUI

KYO's picture

Hi, I just I am new to MRL. I just downloaded the latest version from https://github.com/MyRobotLab/myrobotlab/releases

But I seem to be having an issue when trying to install webGUI, I get the following error


ERROR Runtime: error unresolved dependency: org.java_websocket.websocket#websocket;1.2: not found