Next version 'Nixie' is coming soon !

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

So I have been trying to get face recognition working for a couple weeks now.  I burned up my first LifeCam HD-3000 with a crappy USB Hub, it also took out my Xbox Kinect 360, it was dark days...  I was able to get a new Kinect the same day for $25 from a local game store, I had to order a new LifeCam which came yesterday.  So I started up this work again.  The issue I have been having is that when I attempt to train via the OpenCV feed it does not populate photos into the training folder.

Hello,

Impossible to operate the PID service someone would have an idea Here is the script I use

Myrobotlab Version 1.0.1758

test = Runtime.createAndStart("pid","Pid")
test.setMode("x",1)
test.setOutputRange("x",-5, 5)
test.setPID("x",10.0, 0, 1.0)
test.setControllerDirection("x",0)

This returns the following error:

 

Hello,

Impossible to operate the PID service someone would have an idea Here is the script I use

 
Hello, Impossible to operate the PID service someone would have an idea Here is the script I use
 
 
test = Runtime.createAndStart("pid","Pid")
test.setMode("x",1)
test.setOutputRange("x",-5, 5)
test.setPID("x",10.0, 0, 1.0)
test.setControllerDirection("x",0)

arduino3 branch (along with ArduinoMsgGenerator) and MRLCOMM version 46 has been merged into develop branch ... WHOOHOO !

publishPinArray and enablePin appear to be working with new ArduinoMsgGenerator framework now...
(on arduino3 branch)

I've pushed all the stuff I have been working on into a new branch called arduino3.

All the important stuff is in src/resource/Arduino/generate

Javadoc link
Example code (from branch develop):
# This is a demo of the setup for DiyServo. 
# This setup is valid from version 1.0.2274
# The difference compared to earlier versions is that it now
# starts a MotorDualPwm service that connects to the Arduino
# Before the DiyServo connected directly to the Arduino.
#
# 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)
# Start of script for DiyServo
# Analog input A0 is the same as digital 14 on the Arduino Uno
A0 = 14
# Start the Arduino
arduino = runtime.start("Arduino","Arduino")
arduino.connect(port)
# Start the MotorDualPwm. You can use also use a different type of Motor
motor = runtime.start("diyservo.motor","MotorDualPwm")
# Tell the motor to attach to the Arduino and what pins to use
motor.setPwmPins(10,11)
motor.attach(arduino)
# Start the DiyServo
servo = runtime.start("diyservo","DiyServo")
servo.attach(arduino,A0) # Attach the analog pin 0
# Set the PID values. This example shows what DiyServo has as default.
servo.pid.setPid("diyservo", 0.020, 0.001, 0.0)
servo.moveTo(90)
# At this stage you can use the gui or a script to control the DiyServo
Example configuration (from branch develop):
!!org.myrobotlab.service.config.DiyServoConfig
autoDisable: false
clip: true
controller: null
enabled: true
idleTimeout: null
inverted: false
listeners: null
maxIn: 180.0
maxOut: 180.0
minIn: 0.0
minOut: 0.0
peers:
  motor:
    autoStart: true
    name: diyservo.motor
    type: MotorDualPwm
  pid:
    autoStart: true
    name: diyservo.pid
    type: Pid
pin: null
rest: 90.0
speed: null
sweepMax: null
sweepMin: null
synced: null
type: DiyServo

The DiyServo service is a service that can be used as a normal servo, but it's built from a motor and an analog input. The idea is that you should be able to use any motor and any analog input to byild your own servo. The circuit below can be used to connect the motor and the servo to a single Arduino. But it's also possible to configure in alternate ways. 

DiyServo

 

A while ago I was able to use my xbox 360 controler in the InMoov scipts.

But in the latest builds (I am using 1785) it does not work anymore.
It looks like the attached listeners are not active. 

Christian: I got a script from Mats to have my bnoValues read every 50 ms.

Looking at the code there are so many options what to get from the device - I am confused. For my hand leveling I need the offsets of pitch and roll in relation to horizontal.

I can not get usable values from the service, most of the times I get a few readings and after that only 0's.

Did you expect that the function "getOrientationEuler" would provide above mentioned values as yaw, pitch and roll and what do you think could cause the values to switch to 0 after a few reads?