Next version 'Nixie' is coming soon !

Help us to get ready with MyRobotLab version Nixie: try it !
Javadoc link
Example code (from branch develop):
#########################################
# MotorDualPwm.py
# description: Motor service which support 2 pwr pwm pins clockwise and counterclockwise
# categories: motor
# more info @: http://myrobotlab.org/service/MotorDualPwm
#########################################
# Config
port="COM3"
# start optional virtual arduino service, used for test
if ('virtual' in globals() and virtual):
    virtualArduino = runtime.start("virtualArduino", "VirtualArduino")
    virtualArduino.connect(port)
arduino = runtime.start("arduino","Arduino")
motor = runtime.start("motor","MotorDualPwm")
arduino.connect(port)
motor.setPwmPins(10,11)
motor.attach(arduino)
# At this point you should be able to control the motor thru the Gui
# move both motors forward
# at 50% power
# for 2 seconds
motor.move(0.5)
sleep(2) 
# move both motors backward
# at 50% power
# for 2 seconds
motor.move(-0.5)
sleep(2)
# stop and lock
motor.stopAndLock()
# after locking
# motor should not move
motor.move(0.5)
sleep(2)
# unlock motor and move it
motor.unlock()
motor.move(0.5)
sleep(2)
motor.stop()
Example configuration (from branch develop):
!!org.myrobotlab.service.config.MotorDualPwmConfig
axis: null
controller: null
leftPwmPin: null
listeners: null
locked: false
mapper:
  clip: true
  inverted: false
  maxIn: 100.0
  maxOut: 100.0
  minIn: -100.0
  minOut: -100.0
peers: null
pwmFreq: null
rightPwmPin: null
type: MotorDualPwm

A general DC continous Motor which is controlled by 2 inputs.
A motor controller (such as Arduino or AdafruitMotorShield) is needed for the MotorDualPwm service to attach.
One of the most useful methods is the motor's move(powerLevel).  The powerLevel needs to be a float value between -1.0 and 1.0   

2 problems (  if you have others solutions, it is welcome ) :

Still not satisfied with final microphone's rendering, but I've tried, that was fun...

 

- I can't use anymore kinect microphone inside chrome ( refused )

- Microphones orientation, hidden

About chrome :

Uncheck this, from main sound card

Ahoy !  First thanks for all the hard work, whether it was squashing bugs, or finding them, or testing to make sure they are gone.  We've done an amazing job of getting things ship shape before we go on our next release voyage.  If you have a github account you can see we've found and closed over 50+ bugs !!!

Javadoc link
Example code (from branch develop):
#file : Pir.py (github)
#########################################
# Pir.py
# description: PIR - Passive Infrared Sensor
# categories: sensor
# more info @: http://myrobotlab.org/service/Pir
#########################################
 
from datetime import datetime
 
# start the service
pir = Runtime.start('pir','Pir')
pir.setPin('23')
 
# start a micro controller
mega = Runtime.start('mega','Arduino')
 
# start a speech synthesis service
mouth = Runtime.start('mouth','LocalSpeech')
 
# connect the micro controller
mega.connect('/dev/ttyACM1')
mega.attach(pir)
 
# attach the pir sensor to the micro controller
pir.attach('mega')
 
# subscribe to the pir's publishSense method - callback will be python onSense
python.subscribe('pir', 'publishSense')
# enable the pir
pir.enable()
 
# callback method - change state of pir this method will be called
def onSense(data):
    print('onSense', data, str(datetime.now()))
    mouth = Runtime.getService('mouth')
    if data:
        mouth.speak('I see you')
    else:
        mouth.speak('where did you go?')
    
Example configuration (from branch develop):
#file : Pir.py (github)
!!org.myrobotlab.service.config.PirConfig
controller: null
enable: true
listeners: null
peers: null
pin: null
rate: 1
type: Pir

 

A passive infrared sensor (PIR sensor) is an electronic sensor that measures infrared (IR) light radiating from objects in its field of view. They are most often used in PIR-based motion detectors.

Arduino schéma ( you can also use an other compatible controler )

 

Result :

 

sorry, one of the silly questions maybe

but looking at the output of the java log I see zillion of messages of the kind

... [WARN] searching through 239 methods
... [WARN] attempting upcasting
 

these messages kind of "clutter" the log and at least I can not gain any info from it - so for whom are these messages important?

 

Hi everybody,

This my view for InMoov hardware.

For body, i use one arduino mega + MrlComm for head, torso and 2 arms. I add on serial com 1, Activator. Activator manages differents power supply, manages the mouth with the audio and neo pixel.

For each hand, i use arduino nano + MrlComm. This nano is in each hand. This allows the finger sensors to be as close as possible to the microcontroller without interference.

For the futur, one raspberry pi or mega or due for legs (gyroscope sensor inside).

To resume, i use 4 USB port com.

a nice way to get everything in place and mrl running.

my problem with it? whenever I run the bat file it reloads/overwrites my private servo settings in  the InMoov/config folder.

My question therefore:

how can I maintain my own adjusted config files from version to version?

I know, I could create my own folder and do my changes there - but then I can't use start_inmoov.bat anymore.

I could probably set my modified files to "read only" but that makes it a bit complicated for adjustments.

What I would like?