A.I & ROBOT

Artificial Intelligence Humanoid Robot

by Dr. Guero

http://ai2001.ifdef.jp


Bipedal robot that does not fall

Note: The original blog post by Dr. Guero has a machine translated version of the English post. I originally did not see a need to add my translation, but many people have asked me to add my page with comments/explanation where needed to make a very difficult topic a bit easier to understand.

Note: As for the YouTube video, make sure you turn on the “CC/Subtitles” on the YouTube and press the Gear Icon (Settings) to select Auto-Translate. Japanese to English seems to work really well.

After performing the UVC physics simulation, I tried to applied it on the actual machine/robot. The video outlines some of the key topics including; the movement of a robot using UVC when an external force is applied, the principle of UVC, and the hardware configuration of the robot. Also, although it may be difficult to apply it on a different robot, I’ve decided to share the source code. (source code download).

**Thank you Dr. Guero for the detailed explanation of the robot and how it was applied in the code. There are many AI scientists and Robot Enthusiasts in the USA who love your work. I for one find myself learning something new every time I watch your video. THANK YOU!


Walk on a simple principle

Note: The original blog post by Dr. Guero has a machine translated version of the English post. I originally did not see a need to add my translation, but many people have asked me to add my page with comments/explanation where needed to make a very difficult topic a bit easier to understand.


[Physical Simulation] A bipedal robot walks on a simple principle UVC (Upper body Vertical Control). A physics simulation ODE (Open Dynamics Engine) was used to validate a stability control of a robot when external force is applied to the robot. Generally, walking control of a robot requires complex dynamic movement calculation; however, this particular robot does not rely on a dynamic calculation at all. Instead, it uses the posture reflex (mechanical compliance) as seen in a human body using only about 100 steps of program (lines of code). In the video, you see the robot stepping backward to maintain balance when the external force is applied. This is not due to the pre-programmed code, but due to the UVC causing randomized reactive actions in order to maintain balance.

[Source Code] [Description of UVC] [Q&A]

Walking experiment only using posture reflex like a human.

UVC application. These are some examples UVC applications: initializing walking, walking on a slope, and stepping off a step.

[Source Code]




A BIPED ROBOT THAT PERFORMS DYNAMIC WALKING WITH ONLY FOUR SERVOS

NOTE: There was no blog post featuring this video. However, this was posted on Dr. Guero’s YouTube channel & I took the liberty to post it here for everyone to see. Simply an amazing work & I am really looking forward to your future progress!

YouTube video posted on Nov 5, 2020


RIDING A BICYCLE RETAKE

ROBOT USED: [PRIMER-V2]

It has been about 10 years since the first video was released. The image quality of the video is very poor, and it was retaken using the SLR (Single-Lens Reflex) camera (D5600) which was a product that I once recommended. The balancing performance has improved due to the servo motor replacement and adjustment, so the piano wire and the pad that was attached to the waist for shock absorption in an event of a fall have been removed. Please refer to the "Riding a bicycle" below for a detailed explanation.

As for the shaky/blurry video images, the cameraperson (wife) who had to run alongside the bicycle was unable to keep up due to her physical limitations resulted in a poor uncut video, which had to be edited afterword to make it a decent video that matches the background music.

YouTube video posted on Oct 29, 2020


HANDSTAND CHALLENGE

ROBOT USED: [PRIMER-V7]

Regarding the handstand, the effort was made to provide videos mainly focusing on each movements from the start of the handstand to the landing to help redefine the floor exercise. The handstand challenge is not only the momentary balance control, but also the problem of selecting and optimizing from the myriad of possible movement patterns which will transition it to the target state, requiring intelligent processing.

For the past 10 years, based on the idea of “the skill and intelligence are equivalent”, I have challenged various skills using robots. However, I would like to stop the effort of focusing only on the movement of the robot, but proceed with the AI-based experiments and studies that focuses on the principals of commonality between the skills and intelligence.

YouTube video posted on Sep 13, 2020


NATURAL HUMANLIKE WALKING GAIT II

ROBOT USED: [PRIMER-V7]

Just like a human, the robot is walking naturally by using the waist, toes and heels. Compared to the previous iterations, the effects of moving the toes and heels is also making the footstep quieter. The major improvements includes, 1) the use of waist, toes, and heels to suppress the impact as the foot touches the ground, 2) moving the foot slightly inward while stepping forward to suppress the left and right lateral movement, 3) optimizing the variation of the forward momentum to suppress the forward and backward movement, 4) UVC (Upper body Vertical Control) is used to improve the overall balance. Regarding the UVC, the effect is verified by the UVC experiment.

YouTube video posted on Aug 13, 2020


Ballet Spinning Technique Challenge 

Robot Used: [PRIMER-V7]

Utilization of a classic ballet Pique spinning techniques to validate the complex movement and balancing controllability of a humanoid robot. Although the combination of various fine tuning techniques have been applied such as adjusting the arm movements to make the body rotation speed consistent, it is extremely difficult for a human to program every complex movements one by one. As such, human body mechanism (reflex & advanced movement functions) will be referenced to train the robot. It is still in the infant stage, but various different methods are being considered.

YouTube video posted on Aug 11, 2020


Natural walking and turing experiment 

ROBOT USED: [ROBOTIS OP2]

The experimentation of a natural walking gait and a 180 degree turn based on a small robot was staged as a fashion show. The turns and poses were developed as modular motions and the attempts were made to recreate human like movements. However, considering variety of external conditions at play, such techniques will be limited in its application and currently a new approach is being considered. The experiment doubled as a beta test, but perhaps I may have gone a bit too deep for a hobby.

YouTube video posted on July 4, 2018


Controlled by the artificial intelligence 

ROBOT USED: [a.i. 2001]

A dancing robot was developed using an artificial intelligence technology (imitating parts of the brain). By imitating the functions of a human motor cortex (subdivided function) and the functions of a motor association cortex (coordinates movements), the most stable movement controls in response to the instructions (choreography) were generated, which is completely different than the approach used until know (inverse kinematics). The tasks are distributed to multiple PCs and the results are sent to the robot via wireless LAN.

Link (translation coming soon) - Additional details here (January 11th Update - added details)

YouTube video posted on Dec 16, 2014


Rough terrain walking experiment 

ROBOT USED: [PRIMER-V6]

A small humanoid robot was setup to walk on an uneven rough terrain made of gravel and sand. Because it was difficult to maintain the balance only by the controlling the legs, the movement of the arms were also used to assist. In the case of uneven tertian, I wanted to raise the legs a little higher so it would not stumble, but was limited due to the speed of the servos. The video of the rough uneven terrain walking is attached below.

Walking on sandy ground

Tried to walk on the sandy ground at the park. While walking, the posture looks a bit skewed, but it was caused by the angle of my camera. ;)

Lateral Balance Control

In oder to confirm the lateral balancing control, the robot was put on the swing sideways.  The arms are swung left and right in order to balance. If the movement of the arms were to stop, the robot will surely fall.

Walking over a step

By detecting the slope before and after and adjusting the center of gravity position accordingly, it can walk over the step.

The book on the floor is the 2002 ROBODEX official guidebook which includes a short article about the MR1.

Stability from external force

The chest was pushed and objects were thrown at the robot to test the stability from the external forces applied to it. Someone commented that this was a “robot abuse”, but I really did not mean to do that.

Negotiate an obstacle while waking with knees bent

By using a tissue box and a tape on top, I wanted to see what would happen when things come in contact with or start dragging on the legs. Surely, when the posture is lowered, the load on the hip joint servo decreases resulting on more stability.

Negotiate an obstacle while waking with knees straight

Similarly, I experimented with the knees straightened. This time, although the tape used was lighter, the obstacle had impact on the walking.

ROUGH TERRAIN WALKING EXPERIMENT II (walking on sandy beach)

If the center of gravity is moving forward while the upper body is moving side to side too much, the feet can get buried in the sand. As such, I adjusted the walking gait to step inward as much as possible in order to impact the center of gravity least. Also, to configure the gait most suitable for walking on the sand, the foot is raised up high and swung straight down vertically in order to prevent the foot from moving around on the bumpy or soft sand.


moving heavy load 

■ lift to carry

rOBOT USED: [PRIMER-V5 kai]

A video of an experiment on lift to carry a heavy object. Adjusts the center of gravity by leaning the upper body backward according to the weight of the load. Also, when it gets heavy, the waist level is lowered to stabilize the walking, and the walking speed is reduced at the same time to compensate for the positioning error caused by increased load on the servos.

■ pull to carry

rOBOT USED: [PRIMER-V6]

A video of an experiment on pull to carry a heavy object. Depending on the weight of the load, the upper body is leaned forward to create a balance against the tension caused by friction. Also, as the tension increases, the load on the servos also increases causing the positioning error, so it compensates by reducing the walking speed. In the middle, there is a scene where the robot is getting pushed in the chest to test its ability to keep balance. This time, I refrained from hitting it with the ball for some reason.


Natural humanlike walking gait 

ROBOT USED: [primer-v5]

A commercially available hobby robot was modified to build a robot that can walk naturally like a human being. For a small humanoid robot to be able to walk naturally with the knees straight is perhaps first in the world. Please compare the difference in walking style against the conventional humanoid robots (squat walk) in the video below.

Link (translation coming soon) - Misc Info


tightrope challenge 

ROBOT USED: [primer-v4]

A small bipedal robot was used to walk on a tightrope. As a quick glance, it may look like the balancing is achieved only with the inertia of the moving arms (the rotational angle of the arms are too small to gain enough counter balance), but it actually uses the combination of the lowering of the arm and the rebound caused by the movement (robot’s locational shift of the center of gravity and the counter action on the rope) is also used.

Link (translation coming soon) - Q&A


balance 

ROBOT USED: [primer-v3]

Attempt to test the performance of a small bipedal walking robot’s balancing capability. Please see the robot survive the experiment to balance while standing on one leg with weights hanging on the arm and the leg, walking while on the slope, and being pushed around while trying to walk.

■ Slope walking

Walking on the sloped surface. By detecting the inclinations in all directions of the horizontal plane, the balance can be maintained while walking up, down, and turn without falling.

■ walking while being pushed

When pushed, it strengthens the legs to avoid the fall. By detecting the inclinations in all directions of the horizontal plane, and detecting the fall rate, it widens the stands and strengthens the legs in the opposite direction to resist the fall.


Riding a bicycle 

ROBOT USED: [primer-v2]

A small bipedal walking robot was used to ride a bicycle. The robot is really stepping on the paddle with its own feet and steers the handlebar to control the bicycle. Up until now, most small model bicycle robots (or model motorcycle robots) used the effects of a built-in gyro to balance and control; the controlled unit (remote control motorcycle or bicycle) with the use of a reaction wheel (rotation of the flywheel to balance) to maintain balance. As such, a robot that rides bicycle in the same way as a human may be the world’s first.

Link (translation coming soon) - Additional details here


walking gait based on a human model

ROBOT USED: [simulated model]

A new walking physical simulation based on the human model.

The topics including (Creation of walking gait and Indirect drive related to the self-organization of an inverse model; CPG; Primitive reflexes (Automatic stepping/walking reflex); Controlling mechanism that mimics the cerebellum) were partially presented at the Simulations category of the “5th ROBO-ONE on PC”.

Attached below is the detailed explanation presented at the event.


Stilts robot 

ROBOT USED: [primer]

A new walking algorithm applied to an actual small bipedal robot.

I competed at the Practical Mechanical Category (Stilt Robot) of the 5th ROBO-ONE on PC event.


actualize dynamic walking using 4 small servos 

ROBOT USED: [mr1]

MR1 with only 4 servos succeeded in bipedal walking (dynamic walking). An extremely simple structural designed was used in contrast to the standard bipedal walking robot which uses approximately 10 servos to drive its legs. The development was pursued with the thinking that the basics of walking control requirement and the problems would become clearer by simplifying the structural design.

Link (translation coming soon) - Additional details here


human brain model 

ROBOT USED: [artifical brain]

The functional aspects of consciousness (exclusive characteristics of the focus, prediction, etc.) which includes the instinct to seek reward (pleasure) or avoiding pain, and generalization/integration/categorization functions were developed using a programmable neural net (self-made). Also, in order to consciously pursue the central requirement of the system, the transcendental self-reflection (returning back to the methods of recognition), the system itself is mainly the object of processing, so that the learning apparatus, meta learning apparatus, can be multiplexed and self-organized.

Link (translation coming soon) - Additional details here