Wednesday, January 22, 2014

National Robotics Competition (NRC) 2012 - Robot Connecting People - StP...






CUTIE, THE ROBOTIC PET 3.0

Vision
To produce an Interactive Robotic Pet as the Human Companion

Mission
1. Robot Pet that has artificial intelligent and can explore the room by himself; play with people.
2. Robot Pet that behave like human that has the emotion in its action.
3. Robot Pet that obey the commands with human voice.

Objective
1. Playing Mode: Robot Pet that can explore the room by himself; trying to avoid walls with its ultrasonic “eyes”, and can get him to turn in one direction or the other direction by calling him and it will hear you with its sound sensor and come to you.
2. Emotion Mode: Robot Pet that will get into different moods when different color plates detected on its body.
3. Obedient Mode: Robot Pet that obey the human voice commands, “Run”, “Stop”, “Turn Left” and “Turn Right” with its sound sensor, make it connecting the people in real time.

Introduction about the project in detail
A Robotic Pet is an artificially intelligent machine made in the image of an animal commonly kept as a pet. So far, these animals include dogs, cats, rabbits, and birds. Some people even treat these robots as actual pets. Robotic pets may also include things not normally considered pets, like Plea, a simulation robotic dinosaur.

Perhaps the best known form of robot companion for now is robotic pets, usually in the shape of real or mythical animals. Animal robot companies like Sony’s AIBO are highly popular with the physically & mentally ill and elderly, as these pets provide them with much needed comfort and companionship, without hassles that come with taking care of live animals.

After conducting some study and research, we found that to make the robotic pets to become human companion, the robot needs to perform at least in three different modes:

A) Playing Mode – The robot can play with human.
B) Emotion Mode – The robot has the emotion like human.
C) Obedient Mode – The robot can obey commands given by human.

Therefore, our team has decided to build a Robotic Cat.

Synopsis of the project
(a) Background
We used ideas we got from many online sources such as Wikipedia, Youtube, Google, etc to get ideas for the design of the robot. We also substituted the ideas from the pictures when building our robot.
AIBO (Artificial Intelligence roBOt) was one of the several types of robotic pets designed and manufactured by Sony. AIBO is able to walk, “see” its environment via camera and recognize spoken commands in Spanish and English. AIBO robotic pets are considered to be autonomous robots since they are able to learn and mature based on external stimuli from their owner, their environment and from other AIBOs. Using AIBO, medical researchers were able to confirm the emotional and even some physical benefits of robotic pet companionship, especially for seniors and disabled groups. Some of the researchers in the university have published several findings that robotics pets are beneficial to health, and that these companion machines could even be improved to perform more specific tasks, such as reminding patients to take their medication.

(b) Robot functionality
1) Playing Mode: People can play with CUTIE in this mode. In this mode, the robot will use its ultrasonic sensor to detect the object in front. It will stop immediately when the objects come closer. He will turn in its neck to left direction first to check by using sound sensor if anyone calls him. If there is someone calls him, it will move to left direction and vice versa. When no sound is detected, CUTIE will turn to the direction of wider space. CUTIE will keep meowing until the end of the program.

2) Emotion Mode – The color sensor is used as the Emotion Sensor to detect the emotion of the human. The robot will be in different emotional mode like Happy, Joyful, Sad and Anger when the plate with different color is detected by the color sensor. When the robot is in “Sad” feeling (Blue Color plated detected), then, it will meow and move in slow movement. If Green color is detected, means it is in “Happy” feeling, then, it will meow and move in very fast movement. If Yellow color is detected, it is in “Joy” feeling, and then it will meow and move, turn in fast movement. If Red color is detected, then it is in “Anger” feeling, CUTIE will move in a very aggressive way forward and backward. No movement and just meowing when Black or White is detected. Obedient Mode – In this mode, the program uses a couple of tricks to distinguish between the four voices commands that the robot can understand. The NXT’s sound sensor is very simple and is only capable of measuring the loudness of sound that it hears, so the Robot program uses a few simple tricks based on the loudness and timing of your voice to determine what command you are saying. Here is the description of how each command should sound, along with a picture of what the graph might look like for the sound on the NXT’s display.
By using the sound sensor as the voice detector, the robot can listen to the simple commands, “Run”, Turn Left”, “Turn Right” and “Stop”. When the robot is moving forward you can only give the “Stop” command, and when the robot is stopped you can only give the “Go” or “Run”, “Turn Right” or “Turn Left” commands. You must pause or touch the robot’s touch sensor in between the voice commands, to allow the robot to know that this is the end of the command and the robot can start the action.

(c) Uniqueness and interactive behavior
1) Our robot can interact and play with human.
2) Our robot has the feeling like human.
3) Our robot can listen to the voice command; make it connecting to people in real time.
Comparison of the usages of the Sony AIBO with our robot CUTIE is in the appendix.




Sensors
from SONY AIBO
(Dog)

Usage

Sensor
from CUTIE
(Cat)

Usage

Touch Sensor

For
recognizing tactile simulation like being pet or hit.

Touch Sensor

For
recognizing the tactile simulation (skin) for the robot to move the next
action.

Range Finder

For
detecting the distance to objects.

Ultrasonic Sensor

For
detecting the distance to objects to avoid them.

Color CCD Camera

For
detecting the shapes and colors of objects when approaching or avoiding them.

Color Sensor

For
detecting the color of the plate to express the mood/emotion (Happy, Joy,
Sad, Anger) of the robot.

Miniature Speaker

Allows
“AIBO” to make sounds

NXT Speaker

Allows
“CUTIE” to make the “meow” sound.

Mini Stereo Microphone

For
detecting the direction of a sound source and hearing sound from the remote
control.

Sound Sensor

To detect
the sound level and hearing the voice commands from the human.


Designing and Building Process
(a) Concept and Implementation

(b) Brainstorming and solution to the problem
1) Due to the sensitivity of the sound sensor, in Obedient mode, we have added one touch sensor in order to let our robot know and go ahead with next action when the touch sensor is bumped. This is to replace the sound sensor sensitivity of Quiet level.
2) The front castor wheels on this robot work OK on smooth hard floors because this robot has less than half of the total robot weight over the drive wheels. To turn easily on carpet, you need most of the weight of the robot on the wheels are driven by the motors and less weight on any other wheels.

(c) Engineering and stability of the structures
1) Two NXT Motors connected to port B and C is use for the movement action.
2) Touch Sensor - For recognizing the tactile simulation (skin) for the robot to move to the next action.
3) Color Sensor - For detecting the color of the plate to express the mood/emotion.
4) NXT Speaker -Allows “CUTIE” to make the “meow” sound.
5) NXT Motors connected to the port A for Neck Moving.
6) Sound Sensor - To detect the sound level and hearing the voice commands from the human.
7) Ultrasonic Sensor - For detecting the distance to objects to avoid them.

Programming
(a) Concept
After brainstorming with the group, we have gathered some programming techniques from the sample program we found from the Internet to program our robot.
1) Playing Mode – The robot will go straight for 1 second or it founds something in front less 12 inches, the robot will stop. The neck of the robot will turn left. If there is someone calls the robot, the robot will turn to left direction. If no one calls him, it will turn its neck to right. If someone calls at this position, it will turn to right direction. If no one calls him, it will check if distance from the left direction if greater than right direction. Bigger distance value means more space. The robot will turn to that direction.
2) Emotion Mode – The robot will do the action when the color sensor senses the color of the plate given. If Black or White plate is given, no action and only the dog “Barking” sound. If the robot senses the Blue color, assuming the dog is in sad feeling, the robot will move in slow movement with meowing sound. If Green and Yellow are sensed, assuming the dog is in Happy and Joy feeling respectively, the robot will move faster with meowing sound. If Red color is sensed, assuming the robot is in angry feeling, the robot will move in a very fast motion.
3) Obedient Mode – The key to getting the "Go", "Turn Right", and "Turn Left" commands right is the timing of the loudest part of the command. Note that the graph displayed on the NXT is divided into three parts by the two vertical lines, and the program will draw a tick mark along the horizontal line at the top of graph where the loudest part of the command was heard:

a. If the tick mark ends up in the left part of the graph, it will be "Go".
b. If the tick mark ends up in the middle part of the graph, it will be "Turn Right".
c. If the tick mark ends up in the right part of the graph, it will be "Turn Left".

The Wiring, functionality and used in which mode of the input / output of the NXTs are listed in the table below.




Port

Input /
Output

Functionality

Playing
Mode

Emotion
Mode

Obedient
Mode

B

NXT Motor

Motion
Movement.



x

x

x

A

NXT Motor

Neck
Movement.

x

x

x

C

NXT Motor

Motion
Movement.

x

x

x

1

Color
Sensor

Detect the
color of the plate.



x



2

Sound
Sensor

Detect the
sound level of the voice.

x



x

3

Touch
Sensor

Move to
next action when bumped.





x

4

Ultrasonic
Sensor

Detect the
object in range.

x







 (b) Brainstorming and solution to the problem

1) The initial program of this robot is that there is no meowing sound. To make it like a real peg, we have found the dog meowing sound on the internet. But the sound is in wav format. So, we are using a program call wav2rso.exe to convert the wav file into rso sound file which is recognized by the NXT.

2) Programming also a big challenge for us as we want to make an artificial intelligent robot. Luckily we get lot of guidance from our Mentor and slowing by slowing we are able to master and complete our programming.

National Robotics Competition (NRC) 2012 - StPaul - Robert, THE RECYCLER...






ROBERT, THE RECYCLER ROBOT

Vision
To produce the robot that encourage people to use the latest technology to save the earth in their life especially students.

Mission
To make the robot that not only can mimic the facial expressions and can communicate with people; the robot can also help human to save the earth by recycle the rubbish.

Objectives

1. To introduce students how science and technology can help to save the earth.
2. To expose students with existence of robots that can give a lot of advantages of human.
3. To build a robot that can have a conversation with people.
4. Robot that can do the human facial expression (Joy, Happy, Sad and Angry) with voice.
5. Robot that can help people to recycle the rubbish like paper, glass or bottle and drink cans by sorting them into respective categories.

Introduction about the project in detail
At the current rate of global population growth and consumption of resources, it appears clear that where we’re going to end: in a waste-covered Earth like that depicted in the movie WALL-E. There is ton of waste out there in the world.

Needless to say recycling is one of the most important things we can do to keep our planet sustainable.

Out ideas is to build the robot that can deliver the ‘reduce, reuse, recycle’3R message to the students. To make the robot more lively and interactive, we have added the robot that can show the human expression like Kobian.


Introduction of the robot
1. Our robot, Robert, The Recycler Robot can talk to humans and mimic the human expression. Robert can also do the recycle job by sorting the different recycled items into different categories.
2. Description of the Robot
a. Our robot, Robert, can talk a simple words like Hello, Good, Thank you, Bravo, Fantastic, No, Crying Sound, Laughing Sound , OK, Good Bye, Have A Nice Day and Ouch Voice.
b. Robert can mimic the human expression by moving his two eyebrows and his mouth. He can mimic the human expression of happiness, sadness, Anger etc.
c. Robert also has the feeling of “hurt” when his skin on top of his head being hit by human.
d. Robert will say “Thank You” when he hears the clap sound.
e. Robert can sort rubbish like paper, glass, plastic drink cans and will give rewards once the items is recognized. Robert also will detect the size of the rubbish.


Synopsis of the project

(a) Background
We used ideas we got from many online sources such as Wikipedia, Youtube, Google, etc to get ideas for the design of the robot.
Researchers at Waseda University in Japan have unveiled Kobian, a humanoid robot that walks, talks and realistically expresses 7 human emotions.

To help to keep our planet clean, we have make our robot to help human to easily identified or sort out different kind of wastes like the recycle bin below. For example, paper, drinks can, glass and plastic bottles.

We also substituted the ideas from Kobian and recycle bin when building our robot, Robert, The Recycler Robot.

1) We have build the eyebrows which controlled by two NXT motors.
2) The mouth is controlled by another NXT Motor.
3) The voice of our robot is from the speaker from NXT.
4) Replace three different recycle bins into single intelligent sorting bin.

(b) Robot functionality
1) Our robot, Robert, The Recycler Robot, can mimic the human expression by moving his eyebrows and his mouth. The eyebrows are controlled by two NXT motors. The mouth is controlled by single NXT motor. With the combination of these motors, Robert can mimic the expression like happiness, anger, sadness and joyful.
2) We have made the robot that expresses the emotion as well as the facial expression by doing the conversation with him.
3) The Touch sensor is used to act like the skin of the robot. The robot will shout out “Ouch” Voice when being hit by human.
4) The Sound Sensor will act like the ear of the robot. The robot will say “Thank You” when he hears the clap sound at the end of our conversation.
5) The robot is able to detect different kind of rubbish like paper, glass, plastic and drink cans. The robot also able to detect the size of the rubbish.
6) The robot is able to detect the motion of the human when come closer.
7) The robot is able to dispense the reward for those who has help to bring in the recycle items.


(c) Uniqueness and interactive behavior
1) Our robot, Robert, The Recycler Robot, can communicate with human.
2) He will mimic the facial expression and emotion like human during the conversation.
3) Robert will shout when being hit or touch by human.
4) At the end of the conversation, Robert will politely say “Thank You” to the audience.
5) Our robot can detect different kind of rubbish and the size of it.
6) Our robot able to dispense the reward.

Designing and Building Process
(a) Concept and Implementation
(b) Brainstorming and solution to the problem
1. To mimic the human expression, the most important part is the eyebrows of the robot. The eyebrows must close to each other in order to mimic the facial expression. This is one of the reasons why we are using the two gears.
2. Another reason why the gears are used is to slow down the movement of the eyebrows so that the robot can show the “emotion” when expressing his facial expression.
3. To have our robot more “Lively”, we have added Touch Sensor (Skin of the robot) and also the Sound Sensor (Ear of the Robot).
4. As for the recycler part, most challenging part is the reward dispenser. As we use candy as the reward, it is very difficult to design the dropper. Finally, we have come out with the solution as shown below.

(c) Engineering and stability of the structures
1) Two motors are used to control the eyebrows. The angle beam is used to act like the eyebrow. The gear with the ratio of 12:36 or 1:3 is used to control the movement of the eyebrow.
2) Another motor is used to control the movement (e.g. open and close) of the mouth of the robot.
3) The Touch Sensor is attached with the axles and connectors to the top of the robot. It acts like the skin of the robot. When the Touch Sensor is pressed or touched, it will make the “Ouch” Sound; move his mouth and the eyebrows.
4) The Sound Sensor is connected to act like the ear of the robot. When the robot hears the louder clap sound at the end of the conversation, it will say “Thank You”.
5) As for Recycler, we are using the cupboard, metal frame, and LEGO parts together in order to make it the structure stable.


Programming
(a) Concept
1) The Sound Blocks are used to act like the robot can talk and express emotion like human.
2) The movement of the mouth is controlled by Loop Count. We can change the number of movement of the mouth by changing the “Count” times.
3) The Wait Block is used when doing the conversation with human. The script is pre-written so that the robot will have smooth conversation with the robot.
The Wiring and functionality of the input / output of the NXTs are listed in the table below.
Facial NXT





Port

Input /
Output

Functionality

B

Motors
(Output)

Move the
eyebrow (Left).

A

Motor
(Output)

Move the
mouth of the Robot.

C

Motors
(Output)

Move the
eyebrow (Right).

1

Touch
Sensor (Input)

Trigger
the Robot when pressed.

2

Sound
Sensor (Input)

Trigger
the Robot when the Sound Level reach the limit.

3

Not Used



4

Not Used





Recycler NXT



Port

Input /
Output

Functionality

B

Motors
(Output)

Gate
Closer.

A

Motor
(Output)

Reward
Dispenser

C

Motors
(Output)

Rubbish
Sweeper

1

Ultrasonic
Sensor (Input)

Size
Detector

2

Color
Sensor (Input)

To detect
the color of the rubbish (cube).

3

Touch
Sensor

As start
to start the sorting process.

4

Ultrasonic
Sensor (Input)

Size
Detector



(b) Brainstorming and solution to the problem

1) Due to limitation of the memory, mostly occupied by the Sound files, we only can download one program in the NXT. To overcome this limitation, we have make the facial expression, human emotion, conversation, the reaction of the “Skin” of the robot, the reaction of the “Ear” of the robot into one conversation script.

2) My Block is used to simplify the movement of the eyebrows, the Sound and also the movement of the mouth.