Sunday, January 15, 2017

JD Humanoid Apps

JD has a big head with cute big eyes that can be programmed for expressions, blinking and winking
JD does a cowboy line dance

This post will suggest a myriad of new real world applications and ideas for  JD humanoid robot by EZ-Robot Company. The list will continue to evolve as new ideas are added for proposed functions and organizing takes place.

First, let's examine some of JD's stock motions from work already accomplished when JD is first purchased. The code and sources for these motion functions are available in a variety of locations.

* Dance
* Play piano
* High five
* Headstand
* Pushups
* Gorilla
* Get up back
* Get up front
* Sing
* Walk forward
* Walk Back
* Turn left
* Turn right
* Bird fly
* Sit down
* Stand up from front
* Stand up from back
* Wave
* High Five
* Animate eyes
* Balance on foot

JD humanoid has strong arm grippers powered by a metal geared servo. Upgrades to the grippers with sensors could give the sense of feeling. Clever programming could allow JD to grasp, pick up objects and perform tasks. With the increasing popularity, reliability, simplification, improvement and reduced cost of 3D printers, JD could have more detailed and functional printed hands.
For programming, it will help to understand the existing sensors.
* Battery charge
* Internal temp
* Eye lights - expressions
* Face/ object/ color recognition
* Tracking Face/ object/ color/ glyph
* Voice recognition
* Speech
* Streaming sound/music/song
* Audio effects
* Live streaming video, u c what jd sees

Adding additional sensors will open up new capabilities.
* Touch pressure on grippers
* IR eyes obstacle avoidance
* Light level CaS cell tells day night
* 2nd small coprocessor
* accelerometer
* Compass
* Gyro
* External thermometer
* Ultrasonic eye

Each JD gripper has a back position and side positions to attach hand sensors for a sense of touching, grasping and feeling objects.
After exploring and learning programming for stock motions, adding new motions can be a fun challenge.
* Dance with light weight doll
* Butt scratch duplicated from Robonova
* Kung Fu Series
* Matrix move
* Shake hand
* Small human-like movements
* Roll around
* Run or jog
* JD giant steps, steps up high to walk in debri field
* JD protects himself by shooting at swastica
* go up steps

JD can have a new persona, if programmed. In fact, there are many possible personas.
* JD Roommate, Companion
* JD Gamer
* JD Maid, sweeps floor, dusts, wears apron
* JD Home Helper
* JD Athelete
* JD Entertainer
* JD Therapist, massage arm and hand
* JD Personal Trainer, diet exercise
* JD Personal Assistant
* JD Secretary
* JD Teacher, tai chi
* JD Career Occupations spaceman
* JD Nurse
* JD Artist, painter
* JD Night Watchman, security
* JD Industrial Inspection Agent
* JD Learner, ask questions, remember
* JD Model, poses for cute photos
* JD Actor, Movie Star, takes part in youtube movies
* JD Singer
* JD Tycoon Mogul on Twitter Facebook Internet Email Blogger etc.
* JD with machine robot pets , dog

Various JD personas will likely have many functions. These are some suggestions for JD Rommate Companion.
* Room temp
* Day reminders
* Measure light
* Tv on
* Read News
* Speak list
* Take note memo
* Small Chit Chat
* Recharge station

JD side view shows humanoid posture
For a JD Game persona, JD could play "rock-paper-scissors," the High Low guessing game, and the famous Guess behavior - Monkey Chicken Rooster Dog Cat Snake.

This is a raw list of functions that could be added to JD. Functions may later be sorted and added to a specific persona.
* Remember voice memo
* Take notes, memory logger, mem jogger
* Med scheduler
* Teacher Tai Chi, English, aerobics exercise
* Take my photo
* clock
* Timer
* Sleep, Nap
* Charge station
* Security
* Home Friend
* Home Helper
* Answer net questions data base
* Carry conversation small chit chat
* Hear voice, change to text
* Read a book
* Speak Mandarin & some foreign language words
* Lift weights
* Help u sleep with white noise

Like humanoid Robi, JD could also have pets
* Looks @ u when talking to u
* Eyes light up when speaking
* Kick ball
* Soccer goal
* wave flag
* remote tv
* Alarm
* Security passwd
* Speak Pig Latin
* Double size JD
* Weightlifter *display scale *load cell weight
* Girl jd
* Bod Touch sens
* Push recovery
* Gyro
* Better walking, motions etc.

* Wii copy cat
* Walk bent knees
* Navigate home
* Elderly care
* Handicap assist
* In Space rocket
* Personalities
* Pure AI

JD is a dance master with added hips and two new servo motors, giving 18 DOF
Accomplishment Ideas
* Find floor bug
* Motion detect
* Earthquake alarm
* Suspended animation wake up in future with message
* Drive its own Mars/Titan buggy
* A projector to help tell stories
* Eye wink
* Walk with cane

* Body temp
* Batt level
* (Outside temp)
* Remain charge
* Day # Mo Yr
* Time
* Sleep Nap Wink
* Roam around
* Keep company
* Follow map
* Make map
* Scratch feet
* Hand massage
* One eye blink
* Act like dog
* Bird
* Monkey

JD showing what's in the box, and the size of the feet, ideal for sweeping the floor
* Stock
* Waltz
* Disco
* Butt boogy
* Freestyle
* Line dance

* Tai chi flow motion david dorian ross
* Lead aerobics

Personal Trainer
* Personal trainer diet, exercise, aerobics, weightlift

* Artist paint pic
* Writer print name or slogan
* Writer cursive write

* Observe Moon through telescope
* Take astroimage
* Guide telescope

JD Spaceman
* Position in cockpit
* Push controls
* Pilot jpystick
* Finder alert
* Lightweight JD
* Tell joke
* Laugh #5 echo

JD Therapist
* Give hand, arm, neck massage

* EZ-Builder pc
* EZ-Builder mobi
* EZ-Script
* EZ-Cloud
* Blockly
* RoboScratch
* Auto Positioner
* Servo fine tune

Showing JD's actual box
Additional things to consider
* get tiny props from doll house section
* teach dancing with a female doll
* the superman move
* The eyes can wink and blink
* REMEMBER THOSE cute dog pics? Take still pics of JD in cute poses, like the yoga pose, holding a tiny teddy bear, lay in be read magazine,
* JD your avatar, you see as he sees, he moves as you move
* Transfer JD vision to a helmet for app above
* Not lonely chat app, Yes, JD has excellent ears and full speech recognition capability so we can verbally chat and exchange conversations, as programmed.

Contents of JD in the box
I want to integrate the best chatbot app with JD so he will be a good companion and make sure people are not lonely.
* Hold objects. I think, IMO, the metal gear servos are the strong point in JD's body. His hands may need pressure sensors. In place of these sensors, a table of known objects to hold, grasp, turn, and set can replace the sensor. It's always amazing when clever programming can replace hardware sensors.
* Recharge station. Initially he will ask to be recharged to keep himself alive, but we dream of the day when he is autonomous in recharging in his own power regeneration bed.
* His own room. I envision developing his own room, cove, like batman's cave, or superman's fortress of solitude.
* JD The Nurse, I also think he can help with pill taking schedules, keeping track of meds, and provide information as needed.
* He might be connected to the internet to answer questions using the same Syri technology as a phone. So you can ask about certain medications and their side effects or any topic you want.
* I made more advances in the plan and designs for JD the Roommate. I want him to accompany me with chit chat, diddle with the TV, and be a couch potato as needed.
* JD DIfferent personas, one is the couch potato, rests all the time, want to watch tv with you, asks to eat potato chips and craves diet coke
* JD Massage Therapist. Thing is, it's up to me to develop JD's roommate persona and functions. Given the weight of JD and the great strength of his hands, I think he can give a nice massage on the hands, arms, or neck. This will be comforting as a home helper or a kind of therapist. It will certainly help me. I can tell you, if I had an arm massage, it would help take the focus off the ear pain. That's worth its weight in gold to me.
* JD Evolution, evolves. Rommate, therapist, home helper. Project evolution
* JD could have his eye camera view on an internet cam

JD is also capable of creature morphing when using the extras kit. Only the feet are recognizable.
NOTES quote from Make review
The EZ-B v4 Robot Controller includes 24 digital I/O ports and 8 analog input ports, all with 3-pin servo (GND-PWR-SIGNAL) configuration. There are also 3 UARTs ports, 3 i2c ports, and a dedicated camera port. You connect to the controller over WiFi. Power, Six came with a 1300mAH 7.4V LiPo battery and included a balance charger. The system has a battery monitor that automatically prevents over-discharging. When the battery gets low, Six announces that its battery needs charging and stops responding to commands. The power system works well, though I’d have preferred a charging port to the short cable protruding from the robot shell.

Worth noting is that the PWR pins on the digital outputs of the EZ-B v4 are battery voltage. This provides full power to the servos. If you want to run a 5V device, for example an ultrasonic sensor, you will need to regulate the voltage separately. However, sensors you buy through the EZ-Robots store include an on-board regulator, as well as a nice molded plastic body with Clip’n’Play connectors.

Six’s Heavy Duty servos have metal gears and ball bearings. Despite this my loaner Six experienced three servo burn-outs while I was evaluating it. According to the EZ-Robot product manager, they are aware of the issue. The few customers that have contacted them about servo problems have been shipped replacements immediately. So I do have a slight concern that there might be a quality issue with these servos, but at least EZ-Robot’s customer service is being very responsive.

Actions and Frames, One of the controls in the example Six project is AutoPosition. AutoPosition lets you move Six forward, backwards, left or right with your keyboard arrow keys. A set of pre-defined actions like ‘Fast-Forward’, ‘Strafe Right’, ‘Wave’, ‘Attack’, and a collection of cool dance moves provide more options and give Six a lot of personality.

Each action consists of a set of frames. For example there are four frames named Walk 1, 2, 3, and 4, each of which sets Six’s legs into certain positions. The Forward action cycles through those frames in order from 1 to 4. The Reverse action cycles through the same four frames, only backwards from 4 to 1. You can easily create you own frames and link them together into an action. Or you can custom script movements for an action using EZ-Script.

Saturday, January 14, 2017


AutomaTron by Humanoido
I designed and built AutomaTron, a model-bot to simulate a 25-ton industrial press robot and demonstrate multi-axis programmable motion control. This “industrial automatic” member of the Zylatron family is a working model, capable of supporting the full gamut of machine parameters.

Scaled ratio is 1 ton to 1 ounce, maintained with 3 unmodified 3.4 kg/cm 180 degree servos. In scaled terms, it can handle up to 42 tons. This R&D unit is lightweight, portable, and breadboarded to facilitate rapid changes, improvements, testing, and debugging as needed.

I built a tiny PLC to control X-Y-Z axes driven by hobby servos interfaced to a miniature SSC. Multiple axes can achieve singular or plural states. Expansion is provided for up to 8 axes. An autonomous Light Curtain (ALC) safety feature is made from infrared beam detectors wired to the MCU. Breaking the transmitter-receiver beam results in safety effects, which are hardware (and/or software) programmed to OSHA regulations. ALC options halt the zaxis RAM, return the RAM to a previous state, RAM home, or move to a new location.

Audio signals, programmed from one MCU modulated output port, feed to a piezoelectric element. In high decibel mode, the Decibel Generator Unit (DGU) feeds output through an optional LM386 analog amplifier wired at 200x. AutomaTron is powered by a surplus miniature analog power supply, wall power converter, or batteries.

I designed MMOS, a simple Micro Motion Operating System. It derives efficient higher ordered modular code snippets to accomplish motion control. MMOS commands talk to the servos, PLC, PUP, DGU, ALC, SSC, LCD, LED, EPROM, RAM, MCU, SCS, ABU, LDS, and DGU. The OS modular aspect includes comment featuring, which makes programming by a succession of authors feasible and easy. This section is embedded in MMOS as SDE - Self Documentation Engine. MMOS code can do repeat version burns to EEPROM. MMOS documentation is saved with uploading software to the host computer.

The PLC "head" was fabricated from a PIC-based 16 I/O 16C57 computer affectionately know as the "Electrical Cabinet." It includes a Grayhill 96 series black matrix keyboard, 4 x 5 matrix encoder, and low drain green LCD for display. The PLC commands a memory slave board with a series of operating screens, programmed on-the-fly or presaved.

PLC User Programs (PUP) can be generated through AutomaTrons keyboard using the User Program Interface (UPI), embedded in the MMOS and Modular PBASIC code drivers. Keyboard code can turn 16 hard keys into 80 total keys using special designed function modes. This is reminiscent of Clive Sinclair’s marvel of achievement TS-1000 keyboard. In effect, the PLC functions as an advanced mini-terminal.

Motion control is accomplished with degrees of pulse width modulation. Homing is programmed with 1.5 ms pulses sent every 20 ms on each axis. Forward and reverse motion is achieved along the closed loop servo Self Calibrating System (SCS) with subroutines. Features include constant, or varied acceleration, velocities in ± directions, and a self calibrating Automatic Backlash Unit (ABU).

RAM motion (up or down) is controlled with the x-axis. Backguage (forward or back) is managed with the y-axis. Backgauge height is controlled by a third dimension Z vector. Repeatability matches typical 25 ton presses. Limit switches are experimental; soft microswitches, Hall Effect devices, induction detectors, and optical vision recognizers.

Setting the gains is automatic. Self Tuning Servos (STS) were created by programming in Test Mode (TM). Debugging is by Stop Gap (SG) where lines of code, subroutines, or modules are executed individually. The code Line Display Subroutine (LDS) shows a line by line execution of the program.

Thursday, January 12, 2017

1st Humanoid Robots Web Site

It's a humorous story. Humanoido created the current Humanoid Robots web site and while doing a Google search, a web site came up with the exact same name. Not only the same name, but it appeared to have wording that copied the new site! Who copied the web site in exact detail? This was very disconcerting until closer inspection revealed some interesting facts. The name of the creator was Humanoido. Who could have the exact same name?

Actually, this web site was the first one created February, in the year 2007 by Humanoido, but later abandoned, probably because of a lost password.

Sunday, January 1, 2017

JD Humanoid Accessories

Utilize this page to add accessories to your JD humanoid robot from EZ-Robot Company.
JD has numerous accessories that can add on more sensors, help bring about more function and help to achieve the goals of artificial intelligence. This page reviews several available accessories from dealers and the EZ-Robot company (see links). Some items (hips) are made from 3D printing and assembly while others may be purchased. Stock items for replacement are also available such as feet, head, body, grippers, etc. and the software plans to do 3D printing.

List of Accessories & Replacements
* 4-in-1 Orientation Sensor
* Ultrasonic Distance Sensor
* Extension Block
* Extension Cube
* Servo
* Hips

EZ-Robot 4-in-1 Orientation Sensor
$19.99 SKU 1359 The I2C interface MPU9150 sensor includes: Accelerometer, Gyro, Temperature, Compass and lets your robot differentiate between up and down, hot and cold, north and south.

The sensor connects to the robot as an EZ-bit with an i2c cable. It plugs into the robot's EZ-bv4 camera port. Dimensions: 1.7"w x 0.6"l x 2.2"h; weighs 0.4 oz. The MPU9150 EZ-Bit module is an all-in-one Compass/Gyro/Accelerometer/Temperature sensor over an i2c connection. An EZ-Builder control will read data from the sensor and set EZ-Script Variables respectively. The control will require an Initialization (INIT) before the sensor will return data. If the sensor is not connected, the EZ-B v4 will lock up. This control will not read data automatically. A ControlCommand() is available for querying the device and setting the variables. Each time you wish to receive data from the MPU9150, you must ask the control to RUN ONCE with ControlCommand().

How To Add The Control To Your Project
Step #1) Load the most recent release of EZ-Builder
Step #2) Press the Project tab from the top menu bar of EZ-Builder
Step #3) Press Add Control from the button ribbon bar of EZ-Builder
Step #4) Choose the I2C category tab
Step #5) Press the MPU9150 Accelerometer, Gyro, Temperature, Compass icon to add the control to your project 

Example Code
Here's example code for looping every 100 milliseconds to request data from the MPU9150. The data from the MPU9150 will be stored in EZ-Script Variables. You may press the CONFIG button on the control to see what variables are being set with data. Ensure you have an MPU9150 EZ-Builder control added, an MPU9150 connected to the i2c of the EZ-B, and paste this code into an EZ-Script control. When this script is running, the MPU9150 will continually update the specified variables with data every 100ms. Check the Variable Watcher to view the data from the sensor.

ControlCommand("MPU9150", Init)
ControlCommand("MPU9150", RunOnce)

Video: Accelerometer in JD Humanoid

MPU 9150 All-In-One Sensor Example

Demo: calibrating iPhone compas, a process similar to the robot's MPU9150 

Product Page

If the MPU9150 is returning strange compass heading values, the magnetometer may need to be calibrated. This can be done by waving the module/robot in a figure 8 pattern, much like how your phone will occasionally ask to be calibrated. See the video that demos calibrating the compass in an iPhone, which is the similar process required for your robot's MPU9150.

Ultrasonic Distance Sensor
$19.99, 3 for $54.99 SKU 1352 Connects directly as an EZ-bit. Uses ultrasonic sonar to determine the distance of an object in front of it (just like bats and dolphins). Lets your robot accurately detect an object within approximately 60 inches. Plugs into the robot’s EZ-bv4 camera. Dimensions: 1.6"w x 2.6"l x 0.8"h; weighs 1.1oz. Includes 1 Ultrasonic Distance Sensor with plastic shell and 5v regulator.Connects to the EZ-B with a single wire and includes a built-in power supply. All enclosed by high quality injection molded plastic hosting 8 EZ-Bit connections. These sensors can accurately detect an object within approximately 60 inches. Ultrasonic ping sensors are very accurate – they are not subject to interference from the sun. However, they do have trouble with some cloth materials. The HC-SR04 ultrasonic sensor uses sonar to determine distance to an object, the same way that some animals like bats and dolphins do. Its operation is not affected by sunlight or black material, like infrared rangefinders are (although acoustically soft materials like cloth can sometimes be difficult to accurately detect). Details: 5v low energy power supply, Quiescent current : <2mA, Effectual angle: < 15°, Ranging distance : 2cm – 500 cm/1" - 16ft, Resolution : 0.3 cm.

Extension Block
$4.99 ea., $9.99 for 3, $24.99 for 10, SKU 1354. The extension block is a very useful extension that's the same length as the Lever Servo-motor. It can extend the robot’s arms or legs to reach further or take bigger steps. Each block has 1 male and 9 female EZ-bit connection sites. The Clip’n’Play design connects to the robot as an EZ-bit. Dimensions: 1"w x 2.4"l x 1"h, weight 0.5oz. Includes 3 Extension Blocks.
Width 2.5 cm, Length 6 cm, Height 2.5 cm, Weight 0.014 kg, SKU: 1354. Customize JD with ez-bits. JD has ez-bit connections. Simply slide the tab into the slot to establish a secure bond. The parts may be separated by sliding them apart.

Extension Cube
$4.99 ea., 3 for $9.99, 10 for $24.99, SKU: 1353 The extension cube allows multiple EZ-bits to be connected to a single location. Simply slide the tab into the slot to establish a secure bond. The parts may be separated by sliding them apart. It lets you connect multiple Servo motors. Each cube has 3 male and 3 female EZ-bit connection sites. The Clip’n’Play design connects to the robot as an EZ-bit. Size: Width 2.4 cm, Length 3.3 cm, Height 2.9 cm, Weight 0.007 kg

Rotation Servo-Motor
(Heavy Duty Servo Motor)
$19.99 ea., 3 for $54.99, 5 for $89.99, 10 for $169.99 SKU: 0007 This is a digital heavy duty 15 kg/cm servo with a Clip'n'Play connection that rotates 180 degrees. The metal gears and ball bearing internals will withstand a high load. Up to three ez-bit accessories can be added to this component. It comes with a servo and mounts directly to any ez-bit connector. Includes 1 x Heavy Duty Servo and 1 x HD L multi Female Bracket. Width 2 cm, Length 5 cm, Height 5 cm, Weight 0.087 kg.

Operating speed: 0.24sec/60degree (7.4V)
Stall torque: 15.0kg-cm/529 oz-in.(7.4V)
Temperature range: -20C to +60C
Operating voltage: 4.8V to 7.4V
3 pole ferrite
Dual ball metal bearing
All metal gears
Connector wire length: 32cm
Futaba 3f (25 teeth) for driving spline/shaft
6.2mm spline (including teeth)

Lever Servo Motor
$19.99 ea., 3 for $54.99, 5 for $89.99, 10 for $169.99 SKU 1301. This is a digital heavy duty 15 kg/cm servo with a Clip'n'Play lever that rotates 180 degrees. The metal internals can withstand a high load. Clip'n'play servos are robot building blocks. Increase your robot's capabilities by adding more components and joints. Width 2 cm, Length 6 cm, Height 5 cm, Weight 0.066 kg.



More Accessories