Next version 'Nixie' is coming soon !

Help us to get ready with MyRobotLab version Nixie: try it !
Setup

More info to come...

example

test

Javadoc link
Example configuration (from branch develop):
#file : InMoov2.py (github)
!!org.myrobotlab.service.config.InMoov2Config
heartbeat: true
idleTimer: true
loadGestures: true
locale: en-US
peers:
  audioPlayer:
    autoStart: true
    name: inmoov2.audioPlayer
    type: AudioFile
  chatBot:
    autoStart: false
    name: inmoov2.chatBot
    type: ProgramAB
  controller3:
    autoStart: false
    name: inmoov2.controller3
    type: Arduino
  controller4:
    autoStart: false
    name: inmoov2.controller4
    type: Arduino
  ear:
    autoStart: false
    name: inmoov2.ear
    type: WebkitSpeechRecognition
  eyeTracking:
    autoStart: false
    name: inmoov2.eyeTracking
    type: Tracking
  fsm:
    autoStart: false 
    name: inmoov2.fsm
    type: FiniteStateMachine
  head:
    autoStart: false
    name: inmoov2.head
    type: InMoov2Head
  headTracking:
    autoStart: false
    name: inmoov2.headTracking
    type: Tracking
  htmlFilter:
    autoStart: false
    name: inmoov2.htmlFilter
    type: HtmlFilter
  imageDisplay:
    autoStart: false
    name: inmoov2.imageDisplay
    type: ImageDisplay
  leap:
    autoStart: false
    name: inmoov2.leap
    type: LeapMotion
  left:
    autoStart: false
    name: inmoov2.left
    type: Arduino
  leftArm:
    autoStart: false
    name: inmoov2.leftArm
    type: InMoov2Aram
  leftHand:
    autoStart: false
    name: inmoov2.leftHand
    type: InMoov2Hand
  mouth:
    autoStart: false
    name: inmoov2.mouth
    type: MarySpeech
  mouthControl:
    autoStart: false
    name: inmoov2.mouthControl
    type: MouthControl
  neoPixel:
    autoStart: false
    name: inmoov2.neoPixel
    type: NeoPixel
  openWeatherMap:
    autoStart: false
    name: inmoov2.openWeatherMap
    type: OpenWeatherMap
  opencv:
    autoStart: false
    name: inmoov2.opencv
    type: OpenCV
  pid:
    autoStart: false
    name: inmoov2.pid
    type: Pid
  pir:
    autoStart: false
    name: inmoov2.pir
    type: Pir
  random:
    autoStart: false
    name: inmoov2.random
    type: Random
  right:
    autoStart: false
    name: inmoov2.right
    type: Arduino
  rightArm:
    autoStart: false
    name: inmoov2.rightArm
    type: InMoov2Arm
  rightHand:
    autoStart: false
    name: inmoov2.rightHand
    type: InMoov2Hand
  servoMixer:
    autoStart: false
    name: inmoov2.servoMixer
    type: ServoMixer
  simulator:
    autoStart: false
    name: inmoov2.simulator
    type: JMonkeyEngine
  torso:
    autoStart: false
    name: inmoov2.torso
    type: InMoov2Torso
  ultrasonicLeft:
    autoStart: false
    name: inmoov2.ultrasonicLeft
    type: UltrasonicSensor
  ultrasonicRight:
    autoStart: false
    name: inmoov2.ultrasonicRight
    type: UltrasonicSensor
pirEnableTracking: false
pirWakeUp: false
shutdownStartupSpeed: 50.0
type: InMoov2
virtual: false

More info coming ...

Setup

Py4J enables Python programs running in a Python interpreter to dynamically access Java objects in a Java Virtual Machine. 

Methods are called as if the Java objects resided in the Python interpreter and Java collections can be accessed through standard Python collection methods.

Py4J also enables Java programs to call back Python objects. Py4J is distributed under the BSD Python 2.7 -to- 3.x is supported to use you will need the py4j lib in your python application.

https://pypi.org/project/py4j/  

More info here: https://www.py4j.org/ 

Javadoc link
Example code (from branch develop):
#file : Py4j.py (github)
################################
# Py4j.py
# more info here: https://www.py4j.org/
# Py4J enables Python programs running in a Python interpreter to dynamically access 
# Java objects in a Java Virtual Machine. 
# Methods are called as if the Java objects resided in the Python interpreter and 
# Java collections can be accessed through standard Python collection methods. 
# Py4J also enables Java programs to call back Python objects. Py4J is distributed under the BSD
# Python 2.7 -to- 3.x is supported
# to use you will need the py4j lib
 
# run in mrl instance in Jython or start manually
py4j = runtime.start("py4j","Py4j")
 
# start the listening socket on the gateway
py4j.start()
 
########################################
# In your python 3.x project
# pip install py4j
# you have full access to mrl instance that's running
# the gateway
 
from py4j.java_gateway import JavaGateway
gateway = JavaGateway()
runtime =  gateway.jvm.org.myrobotlab.service.Runtime.getInstance()
print(runtime.getUptime())
brain = runtime.start('brain','ProgramAB')
response = brain.getResponse('what can you do?')
Example configuration (from branch develop):
#file : Py4j.py (github)
!!org.myrobotlab.service.config.ServiceConfig
peers: null
type: Py4j
Javadoc link
Example configuration (from branch develop):
!!org.myrobotlab.service.config.DiscordBotConfig
connect: true
peers: null
token: null
type: DiscordBot
utteranceListeners: null

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. 

file taken from C:\mrl\resource\Arduino\MrlComm

trying to verify MrlComm before uploading to Arduino gives this error message

What is my best option?

 

Compilation error: cannot convert 'bool' to 'ListNode<Device*>*' in return

 

I am having a problem where the microphone in chrome doesn't  shut off  so Inmoov just keeps responding to himself. I have tried clean installs on 2 different windows tablets and get the same thing. Has anyone had this happe and found a solution? Thanks.

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. 

I'm using Inmoov2 version 1.1.701 to test my hand servos.There is a GREEN bar and a BLUE bar that adjusts the 'input' and 'output lock (?)'.  I understand the orange 'rest' bars purpose but I don't understand the relationship between the input and output setpoints. Will you describe how to use these setpoints as a unit --- perhaps a finger example?

I have tried to get OpenCV working on MRL (ver 1.1.823) with a Mac without success, is there a set of instructions or tutorial that I could review - I am new to this and would appreciate some help. Thanks.

This is now sorted - moved to Nixie build.