InMoov

javadoc

The InMoov service allows control of the InMoov robot.  This robot was created by hairygael.  It's an open source 3D printable robot.  All of the parts and instructions to build are on his blog (http://inmoov.blogspot.com/).

InMoov is a composite of servos, Arduinos, microphone, camera, kinect and computer.  The InMoov service is composed of many other peer services, and allows easy initialization and control of these sub systems.

Current Services of InMoov

Service Name Quantity Description
InMoov 1 A composite service to control and allow easy operation of other all of InMoov's subsystems
Arduino 2+ Arduino control of the left, right sides of InMoov
Servo 22+ A software servo service for motorized control and articulation of InMoov body parts
Tracking 1 A service which allows a pan / tilt camera system to track objects
Speech 1 A service to synthesise speech, basic multi-lingual capability
AudioFile 1 A service to play audio files
PID 2 An important service to implement a PID (proportional integral derivative) controller - e.g. allows smooth tracking of objects
OpenCV 2 The vision service which wraps opencv
Python 1 A python scripting IDE
GUIService 1 A Swing graphical user interface
Sphinx 1 speech recognition service

Future Services for InMoov

Service Name Quantity Description
       
PointCloud   Development to integrate Kinect or Xtion sensor to generated 3D point cloud for SLAM and internal mapping

 

Arduino - Servo Standard Pin Setup

pin2 thumb
pin3 index
pin4 majeure
pin5 ringfinger
pin6 pinky
pin7 wrist
pin8 bicep
pin9 rotational bicep
pin 10 shoulder
pin11 lifting shoulder
pin12 up down neck (if installed)
pin13 rotation neck (if installed)
 

hairygael's picture

Alright, there has been much

Alright, there has been much progress done with the service.

The left and right sides get correctly initiated and set to an initial position that avoid big arms movements.

Setting the speeds also works, which is a big step for to optimize movements and gestures.

GroG's picture

From a "clean" start - The

From a "clean" start - The following should get you started on the "left" side
Clean start - start MRL & reset Arduino (if possible)

inMoov = Runtime.createAndStart("inMoov","InMoov")
inMoov.initialize("left", "atmega328p","COM12")
inMoov.systemCheck()