SlideShare a Scribd company logo
1 of 22
Download to read offline
NCNU
林容杉

國立暨南國際大學電機工程學系
專題研究

蠍型機器人設計
Design of a BIOLOID Scorpion

姓名:Bruno Chung 鍾正方
學號:98323060
指導老師:Prof. Jung-Shan Lin 林容杉
日期:101 年 06 月 20 日

EE
6/20/2012
Table of Contents
1.
2.
3.
4.
5.
6.

Abstract .............................................................................................................................. 3
Choosing a Subject ............................................................................................................. 3
Purpose ............................................................................................................................... 3
BIOLOID Overview ........................................................................................................... 4
Approach ............................................................................................................................ 4
BIOLOID Creations ........................................................................................................... 5
a. Crocodile Mouth................................................................................................. 5
b. Attacking Duck................................................................................................... 5
c. LED Example ..................................................................................................... 6
d.
e.
f.

7.
8.

Crossing Gate ..................................................................................................... 7
Crossing Gate 1.0 ............................................................................................... 9
NASCAR Car ..................................................................................................... 9

g. Excavator .......................................................................................................... 11
h. Scorpion............................................................................................................ 13
i. Scorpion 1.0...................................................................................................... 14
j. Scorpion 2.0...................................................................................................... 17
Conclusions and Thoughts ............................................................................................... 20
Reference .......................................................................................................................... 21

Page | 1
Table of Figures
FIG. 1 CROCODILE MOUTH .............................................................................................................................................5
FIG. 2 ATTACKING DUCK ................................................................................................................................................6
FIG. 3 DYNAMIXEL AX-12 ..............................................................................................................................................6
FIG. 4 AUX LED ON

FIG. 5 AUX LED OFF .......................................................................................................7

FIG. 6 CROSSING GATE ..................................................................................................................................................7
FIG. 7 CROSSING GATE PROGRAMMING WITH SPEED CONTROL ..............................................................................................8
FIG. 8 CROSSING GATE 1.0 .............................................................................................................................................9
FIG. 9 NASCAR CAR PROGRAM ....................................................................................................................................10
FIG. 10 NASCAR CAR .................................................................................................................................................10
FIG. 11 EXCAVATOR BASE .............................................................................................................................................11
FIG. 12 EXCAVATOR ....................................................................................................................................................12
FIG. 13 ENRAGED EXCAVATOR SENSING RANGE ................................................................................................................12
FIG. 14 THE FIRST SCORPION DESIGN
FIG. 16 SCORPION WITHOUT EXTRA LEG

FIG. 15 SCORPION .................................................................13
FIG. 17 SCORPION WITH EXTRA LEG ...............................................................14

FIG. 18 TESTING MOTORS.............................................................................................................................................15
FIG. 19 SCORPION 1.0 .................................................................................................................................................16
FIG. 20 FLOWCHART OF SCORPION 2.0 PROGRAM ............................................................................................................17
FIG. 21 SCORPION 2.0 .................................................................................................................................................18
FIG. 22 MOTION PICTURE OF THE ATTACK SEQUENCE FROM THE SCORPION 2.0 PROGRAM........................................................19

Page | 2
1. Abstract
This report is about the use of the BIOLOID kit to build and design a scorpion robot with
a behavior program which is similar to that of an actual scorpion. The focuses on the scorpion
design lead the project to be named “Design of a BIOLOID Scorpion”. The entire process
from learning how to assemble with the kit to finally finish building and programming the
scorpion are discussed along with all issues encountered.
2. Choosing a Subject
The project was going to be based on control systems due to the nature of the advisor’s
specialty. At first a trip was made to the Control Systems Lab to see what materials were
available. Knowing what is available to use gives direction as well as focus to the project and
insight about how to target and approach the designated goals.
In the lab new BIOLOID kits were available, which reminds a lot the more popular
LEGO blocks. The most interesting thing about LEGO blocks is that one single kit allows for
innumerous designs to be made, the only boundary being your own imagination. The only
drawback was that LEGO blocks are mostly stationary, but the BIOLOID kit allows
movement so that now creations can become a moving robot instead of just a stationary model
car. This added feature allows even more constructions to be made, this time with motors to
assist in even more interesting ideas.
Although somewhat similar in concept the BIOLOID kit is still a lot more complex than
LEGO blocks. Instead of fitting pieces together like with the LEGO blocks, the BIOLOID
pieces had to be screwed together. This was a relatively small setback compared to the
benefits of the motors. Now designs could move and be autonomous. The flexibility of the
designs that could be created paired with movements made the BIOLOID kit an easy choice
for a medium to accomplish my goals.
3. Purpose
As previously introduced, the BIOLOID kit is going to be used to attain my goal of
designing a scorpion robot. The purpose of this project is to build and design a scorpion robot
using the BIOLOID kit and create a behavioral program to mimic the movements of an actual
scorpion. The most prominent behaviors from an actual scorpion will first be mimicked like
the tail attacking its prey and escaping afterwards.

Page | 3
4. BIOLOID Overview
The BIOLOID is an educative all-around robot kit that assists its users in engaging in
creative and scientific creations. It contains many blocks of different shapes allowing easy
assembly of various robots.
Main BIOLOID parts include:
 Main controller, CM-5: The main controller of the BIOLOID robot where program
is downloaded to and from.
 Robot Actuator, Dynamixel AX-12: Actuator that functions as the joints of the
robot.
 Robot Sensor Module, Dynamixel AX-S1: A sensor module that consists of three



pairs of sensors that detect distance, brightness and heat. It can function as sound
detector, remocon transceiver and sound buzzer as well.
Assembly parts: Various frames, cables and bolts that connect CM-5, AX-12 and
AX-S1 to assemble robots.

5. Approach
Although I compared the BIOLOID to the LEGO blocks, they are very different from each
other. LEGO blocks just fit and snap on top of each other whilst the BIOLOID has to be
screwed together. Adding to that LEGO blocks are usually just rectangular in shape, while the
BIOLOID has a lot of different pieces to allow more flexibility in its design. Building a
BIOLOID robot requires careful selection of parts and proper screwing to make a complete
and nicely finished robot.
It is extremely hard to directly start designing a scorpion so being familiar with
assembling with the parts provided is a good first step. To start learning how to assemble, the
“BIOLOID: Quick Start Guide” was used to learn step-by-step how to assemble previously
designed BIOLOID examples. These examples already have their programming finished,
which require a simple download to the main controller (the CM-5) so that the robot can start
moving.
After assembly the next step should be learning how to program. For basic programming
the “BIOLOID: User’s Guide” was used as it explains in a very clear and easy way the
operating principle and the program process of the BIOLOID. Upon learning basic
programming, practice should was done on existing BIOLOID examples. When substantial
assembly and programming skills are acquired, designing the scorpion robot became a lot
easier and fluid. The complexity of the design and programming of the scorpion made
learning how to assemble and program extremely difficult.
Page | 4
6. BIOLOID Creations
a. Crocodile Mouth
The Crocodile Mouth was the first BIOLOID robot assembled due to its simplicity, while
still learning very basic programming.

Fig. 1 Crocodile Mouth

The Crocodile Mouth program runs as follows. When a center object is sensed the mouth
of the Crocodile Mouth opens and when no object is sensed the mouth closes.
Some issues were encountered while building the Crocodile Mouth, which further
increased my knowledge of how to build with the BIOLOID kit. Each Dynamixel in a
BIOLOID kit is assigned an ID so that the proper joint starts moving at the correct time and
sequence. For the program to successfully be downloaded to the controller all motors used in
the program needs to be connected to it. The issue encountered was the use of the motor with
a wrong ID in the Crocodile Mouth. The proper Dynamixel ID could not be detected by the
main controller CM-5 so the mouth would not open or close. Screws also have their specific
size and proper places to be screwed, where at first was not paid much attention.
b. Attacking Duck
The Attacking Duck was the second robot to be built to further improve my assembling
skills. This example has an increased complexity due to the higher number of motors present.
This example was also chosen due to the similarities to that of a scorpion tail, which could be
embedded on the final scorpion design.

Page | 5
Fig. 2 Attacking Duck

The program of the Attacking Duck was designed to make it 'attack' just as the name of
the robot implies. When a center object is sensed the robot attacks its front side by reaching
forward. Same happens when a side object is sensed. If the right side sensor senses something
the robot turns 90° to the right and strikes.
Some issues were also encountered in the Attacking Duck.
When running the program the robot was making turns that
were more than 180° instead of the 90° that it should be
doing. Initially it was thought that the problem was the motor
with the wrong ID was used because different IDs were
installed from that of the guide. After considerable time the
issue was found. The Dynamixel AX-12 has a zero point or
default position in which it has to be before assembly or the
robot will not run as intended. The default position is marked
with a small line on both the rotating part and the
non-moving part of the Dynamixel as shown on Fig. 4.

Fig. 3 Dynamixel AX-12

c. LED Example
Programming was an aspect of the project which started slow as to not make any mistakes
in the future. At first a simple program was created for a robot so simple that it did not have
any joints in it. The only part being controlled was the AUX LED on the CM-5. The AUX
LED is the only LED in the CM-5 that can be programmed freely.

Page | 6
Fig. 4 AUX LED on

Fig. 5 AUX LED off

The AUX LED from the CM-5 was programmed to light up when the U or up button is
pressed and to turn off when the D or down button is pressed. Here there were no issues as the
program was relatively simple containing only three command lines.
d. Crossing Gate
In the first attempt of programming only a simple LED was being controlled. LED is
easy to control because it only has two states, 1 and 0 or on and off. To increase the
complexity of the program a Dynamixel AX-12 was controlled instead of a simple LED,
making this the first time a motor is programmed. Using one of the joints, a gate like structure
was built to make the design simulate a more real life application, thus the name Crossing
Gate.

Fig. 6 Crossing Gate

As the name implies, this design was supposed to simulate a gate. The gate was
programmed to open or change to a 90° angle so an object or vehicle of some sort can cross,
and closes down or moves to a 180° where there is no longer anything trying to cross. This is
Page | 7
controlled through button input on the controller. When the R button is pressed the bridge
moves up to the 90° position and when the L button is pressed the bridge moves to the 180°
position if it is not in that position already. Speed control was also added because the gate
seemed a bit unstable due to the high speed in which it opened and closed. The speed was
changed to 150; by comparison the maximum speed is 1024.

Fig. 7 Crossing Gate programming with speed control

This was the first time programming for a motor. The motor can only move at a 300°,
unless it is initiated as a wheel where it can instead turn at a 360°. To move the motor to a
specific angle for example the command is LOAD DYNAMIXEL 1024 which is the variable
for 300°. The programming has to be between the START and END command, and anything
outside of it is completely ignored. First all DYNAMIXELs, in this case just one, is set to an
initial position of 500. The IF commands sets the condition in which it will run its command if
the condition is met. If the condition is not met the command after IF is ignored and the
program jumps to the next command line. The first IF command calls the up loop where the
gate moves up when the L button is pressed. The lines of commands are applied to the second
condition in which the R button is used and the down command is called. Another important
thing is that the speed of the motor must be set before it LOADs its angle so the motor can set
its speed before moving. These can be seen on Fig. 7 above.
The Crossing Gate was fully my design and not from any of the guides. At first it was
difficult to choose parts that would make the design look more like a real gate. The parts were
finally chosen and the result was previously illustrated in Fig. 6. Program syntaxes were
misused as happens when first trying a new programming language. After a few trial and
errors the gate was successfully designed and programmed.

Page | 8
e. Crossing Gate 1.0
The objective is to make an autonomous robot and a robot is not really autonomous if it
has to rely on human input to function. The Crossing Gate required someone to be present to
press the appropriate buttons to make it work, but the Crossing Gate can be an autonomous
machine with the simple addition of a Dynamixel AX-S1 or the sensor module. This would
allow the robot to function by itself, making this the next logical improvement.

Fig. 8 Crossing Gate 1.0

The robot was named Crossing Gate 1.0 as it was a revision of the first Crossing Gate.
The sensor was placed at the left side of the bridge and it was assumed that vehicles would
only pass through the gate from the left. When the sensor senses anything ranging from 0 to
15cm from the tip of the sensor it opens the gate and stays open until the object is no longer
sensed, where it will slowly close. In the guide there was a very interesting feature that used
sound detection and an experiment was done on the Crossing Gate 1.0. If three or more claps
are sensed then the gate opens and stays open. If less than three claps are sensed, ranging from
one to two claps, then the Crossing Gate 1.0 closes.
f. NASCAR Car
The Crossing Gate 1.0 was still relatively simple in that it only used one motor. The next
step is to increase complexity by adding more motors to the design. In this case a design from
the guide was used instead of creating a new robot. The example used is called the Obstacle
Detection Car where the car escapes or avoids crashing when a center object is sensed and
escapes to the side when a side object is sensed. This car shape example was chosen because
it could be later used as the scorpion’s main body. It was initially thought that the scorpion
legs would represent a great challenge so at first the objective was to use wheels of the
Obstacle Detection Car to keep the design as realistic as possible.
Page | 9
A new program was written for the Obstacle Detection Car to apply newly acquired
programming skills. This new program was designed to fit different requirements. The
original program focused on avoiding obstacles so the new program was designed to make the
car perform more like a race car, thus the name “NASCAR Car”, which is a reference to the
popular stock car race.

Fig. 10 NASCAR Car

The Obstacle Detection Car stopped, went backwards and
escaped from the center object that was sensed. The NASCAR
Car instead senses the object at a distance and thus escapes it
or makes a turn to the proper side before being too late escape
it, thus eliminating the needing to stop and go backwards
which would greatly decrease time spent on tracks. The
NASCAR Car also avoids the sides like the Obstacle Detection
Car to keep distance, but the program was changed so that it
could avoid the side when it is much closer or else it would
keep sensing the side walls and reacting accordingly if the way
program
was too narrow. The speed of the car was also increased from
600 to 900 making the NASCAR Car even faster in completing tracks in wide mazes. The
robot completed the same tracks at an incredibly faster time leading to the name NASCAR
Fig. 9 NASCAR Car

Car.
One issue that came up while building and programming the NASCAR Car was the
reversed sides. The left joints are the exact reverse of the right ones making the assembling
and programming a little confusing. At first this was note taken into account so when a
program was created to make it move forward it instead moved to the left or right. To move
Page | 10
forward the left wheels must be rotating counter-clockwise and the right wheels in the
clockwise direction. Also lack of attention caused me to build three left joints instead of two.
Programming for the NASCAR Car provided a great deal of programming experience as
the program was significantly larger than that of the Crossing Gate 1.0. Refer to Fig. 7 for the
programming of the Crossing Gate 1.0 and Fig. 10 for the NASCAR Car program.
g. Excavator
After the NASCAR car the period of familiarizing with assembly and programming was
about finished. The initial thought was to use the Attacking Duck and join it with the
NASCAR Car to start as the scorpion robot. However when checking the “BIOLOID: Quick
Start Guide” the Excavator was noticed due to its very interesting feature. The Excavator had
four wheels like the NASCAR Car, but it had an additional fifth motor on the middle of the
four as shown in Fig. 11. It was also a good start for the scorpion design as the body was
already done and a simple redesign of its excavating hand can turn it into a scorpion tail.
4

5
3

2

1

Fig. 11 Excavator base

The fifth motor on the Excavator base allows the Excavator to rotate its body without
using the wheels. The original programming the Excavator moves forward until it senses an
object in front or on the sides. When an object is sensed on the front it performs a digging
action. If an object is sensed on the right the Excavator stops and instead of the wheels
making the turn the fifth motor rotates the body to the right until it detects the object in front
of it followed by the digging action later escaping to the left side. This feature was very
impressive and one that was added to the first scorpion design.
The Excavator is an intermediate example of the guide unlike the previous robots which
were just beginner examples. The increase in complexity made the assembly a little
challenging and the malfunction of some motors after the completion of the robot was also
frustrating. The whole robot had to be dismantled to replace the faulty motors.
Page | 11
Fig. 12 Excavator

The original program for the Excavator was unimpressive as its digging action looked
nothing like a real excavating machine doing some real digging. The main reason for choosing
to build this example was to take advantage of the fifth motor at the base, thus resulting in a
fully rewritten program.
Instead of Excavator the robot was renamed to Enraged Excavator as it better suits the
new programming. In the new program the excavator would move forward at a relatively slow
pace while performing a scanning function in which the body keeps moving at a 70° range
sensing for any close objects. Upon sensing an object on the right it does the same digging
action as the original Excavator, albeit a lot more aggressively, after which it escapes to the
left side and goes back to the scanning loop. The same steps are taken when an object on the
left is sensed.

70°
Fig. 13 Enraged Excavator sensing range

Page | 12
Without the scanning function the Enraged Excavator would only be able to sense objects
directly in front of the sensor, which is thinner than the robot’s body. This can result in a crash
to the sides of the robot against an object that is slightly to the left or to the right of the
sensor’s range. The scanning functionality can solve this problem without much sacrifice as if
the same were to be done with the wheels the robot would have to move in a zigzag like form.
A great deal of time would be wasted and complexity of the program would greatly increase.
A new programming issue came up when running the Enraged Excavator program, the
Error Code 0009, which is also known as “Call Stack Overflow”. There is a limit of eight
consecutive call commands that can be used on a program and this was easily solved by
changing CALL commands to JUMP commands.
h. Scorpion
Following the assembly and programming for the Excavator the next step was to start
building the Scorpion through the redesign of the Excavator. This was done by redesigning
the excavating hand to look more like a scorpion tail. The tail design was time consuming as
there was no guide for it. The final tail design was reached after many attempts and much
dismantling. After the redesign the tail was attached to the back of the body to mimic a real
scorpion giving a really rough initial scorpion design on Fig. 14.
The design still did not look like a real scorpion with just the tail so the pincers were also
added giving a more convincing scorpion form as shown in Fig. 15. Now programming can
begin with the initial scorpion design.

Fig. 14 The first scorpion design

Fig. 15 Scorpion

Programming was similar to the one in the Enraged Excavator where it scans at a 70°
range while moving forward, except that now the excavating hand is a scorpion tail placed at
the back. The values had to be corrected and the pincers accounted for.
Page | 13
Upon turning on the Scorpion first goes to its initial position. After it reaches its initial
position the Scorpion starts moving forward while scanning for any objects. When an object is
sensed the scorpion stops moving, open and closes both pincers and strikes the object twice in
this sequence. The attack happens in three steps: firstly the tail slowly moves back and
becomes a straight line; secondly the tail strikes reaching the front of the sensor at a much
higher speed, lastly the tail slowly moves back to its original position before the attack. After
the attack the robot escapes to the right if the object was sensed at the left, the same happening
if the object was sensed on the right side. A frame by frame illustration of the attack sequence
will be later shown.
One issue was encountered when programming to the Scorpion. Before running the whole
program the attacking sequence was tested on the robot without the moving forward program.
The body was not heavy enough to sustain the weight of the tail stretching at the back when
preparing for an attack, causing the robot to fall back. This was corrected by adding an extra
leg as shown on Fig. 16 and 17. The extra leg was an easy and quick solution to the problem
until a better solution was thought about.

Fig. 16 Scorpion without extra leg

Fig. 17 Scorpion with extra leg

i. Scorpion 1.0
After finishing the Scorpion it was initially thought that the purpose was met to create a
scorpion robot that has a scorpion behavior. The design looks like an actual scorpion when
excluding the wheels that substituted the legs. The scanning function was also a very
interesting implementation that can improve the sensing range of the robot without an
additional sensor. Initially it was thought that changing the wheels into legs would be time
consuming and extremely complex to design and program for. On the other hand the legs
would make the design become more scorpion-like and also make it more stable, thus
eliminating the need for the extra leg on the back of the Scorpion, which was not aesthetically
good. These factors led to the second scorpion design, the Scorpion 1.0
Page | 14
To avoid any assembling problems like those encountered with the Excavator, where
some motors were discovered to be faulty only after the finishing assembling the robot, all
motors used on the legs were tested before hand as shown in Fig. 18.

Fig. 18 Testing motors

After making sure all Dynamixels were working properly the building started. There were
slight complications in creating a new scorpion design. A real scorpion has eight legs, four in
each side. Building eight legs was easy, but joining the eight legs was going to be very hard so
initially six legs were built and if required two additional legs would be built. On the
excavator the main controller was at a horizontal position where there is little space to attach
the legs, thus the body was rotated to have a vertical position. On this vertical position the six
legs could be attached, but there was not enough room to move so it was pointless. To solve
the assembly problem the rear legs were instead attached to the middle legs instead of body
and the two middle and front legs were attached to the body, but more separately to allow
space for movement. This can be seen on Fig. 19 where the rear legs are in the same position
as the tail and far from the body to allow more space to move the legs. The hands were also
redesigned to save parts that were needed on the legs.

Page | 15
Fig. 19 Scorpion 1.0

Scorpion 1.0 may seem a like a completely different robot to that of the previous Scorpion
robot, but their programs still remain alike except that the Scorpion 1.0 now lacks the wheels
and the scanning feature found on the Scorpion robot. They are similar because first it goes to
its initial position and initializes its motors and starts moving forward. When moving forward
it also starts sensing for any close objects in front of it. If an object is detected the robot stops
and goes into his attacking position where it crouches or lowers its front and middle legs and
uses the same attacking sequence as the one present on the Scorpion. Following the attack the
scorpion stands up and escapes the object by turning to the right about 80° and then it
continues to move forward and the program runs again in a loop. If the robot detects an object
a second time this time it will escape to the left after the attack, and then to the right if
detected again and so on. This program is represented on the flowchart shown on Fig. 20.

Page | 16
Initial Action

Move Forward

Close Object
Sensed in Front?

No

Yes

Crouch and Attack

Escape

Fig. 20 Flowchart of Scorpion 2.0 program

j. Scorpion 2.0
It took considerable less time to finish building and programming for the Scorpion 1.0
than initially thought, which gave time to further improve the scorpion design and its
programming. To improve the programming the new robot design should be able to grab or
lock the object on its hand before attacking, which would make the design act even more like
an actual scorpion, thus two additional motors were attached on the pincers to allow
movement since they can only open and close. This led to the design shown on Fig. 21 the
final scorpion design the Scorpion 2.0.

Page | 17
Fig. 21 Scorpion 2.0

The only difference with this robot is the presence of two additional motors on the pincers
to allow movement and the walking program was refined to make it more stable and allow the
robot to move more quickly. Initially the middle legs moved forward or backwards depending
on the programming, but on the Scorpion 2.0 the middle legs did not move and instead were
used to sustain the scorpion on the appropriate side that the legs were used. On the Scorpion
1.0 the walking program happened in four sequences: first two legs on the left and one on the
right lifts up; secondly one leg on the left and two on the right push the robot forward; thirdly
the two legs on the left and the one on the right that were up now come down; and lastly the
one leg on the left and the two on the right that did the first push will lift. This process is done
twice on both sides to make the robot move forward. The refined walking program on the
Scorpion 2.0 there are only two sequences, making it walk a lot faster. The first and second
step of the walking program in the Scorpion 1.0 happens simultaneously and is followed by
the third and last step, which also happen at the same time. All of this happens while the speed
is increased and the second move starts immediately after the first one finishes. On the
previous program there was about a half second delay before the next move would start.

Even though two more motors were added to increase maneuverability of the pincers it
was extremely hard to apply the grabbing and locking action into the robot without making it
knock down or push the objects away so it was unfortunately taken out. The final program
does not use the two additional motors as there was not enough time to further study a way to
make it function as intended. Thus the final program is the same and just sets the additional
motors to a default stationary position.

Page | 18
Fig. 22 Motion picture of the attack sequence from the Scorpion 2.0 program

Here is an illustration to visually and more clearly show the attack sequence used on the
scorpion robots. The numbers represent the sequence of events of the attacking action from
the Scorpion 2.0. First picture represents the initial position or the standing position. The
second picture is when the scorpion goes into his attacking position by crouching. After
crouching the robot prepares its attack by slowly lifting its tail as shown on the frames 3, 4
and 5. The strike action takes only one frame and the tail repositions itself to its original
position within two frames. After two attacks the scorpion goes to its initial standing position.

Page | 19
7. Conclusions and Thoughts
The final scorpion design was really successful in resembling an actual scorpion.
Aesthetically it should be very easy for it to be identified as a scorpion robot if the viewer has
ever seen a picture or a real scorpion beforehand. The program also makes the robot behave
like a real scorpion as it has a very convincing attack when sensing an object. Escaping after
an attack also further makes the robot seem like an actual scorpion. Overall the purpose seems
to have been met and it is safe to say that the project was successful.
This was a very interesting project where a lot was learned. There were no courses
teaching how to use the BIOLOID kit so everything had to be learned through the internet, the
provided guides and examples which were extremely helpful. Every time an issue was
encountered it was solved through own means and sometimes by discussing with other
classmates and the advising professor. The BIOLOID is not a very complex kit, but requires
some knowledge and care to handle it and create own robot designs. An essential factor that
helped make this project as successful as it is was the frequent meetings with the advisor,
which gave me very constructive criticism and suggestions for the next step and how to
approach some issues. These meetings also helped me keep track on what has been done, what
had to be improved and what had to be finished.
A lot of effort was put into this project to make reach the final product. Showing pictures
of the results of individual experiments makes it look easy when in fact assembling a robot
and creating a new design is an extremely time consuming task, but on in where a lot of
experience could be gained to make something more efficient and better every time. For
example in total I had three tail designs before finally building the final one that was used.
Each of the three times the tail had to be completely dismantled. To reach the design that most
suited my needs about four hours were put on trial and error. This was crucial to meet a
satisfying design.
This project course was very helpful in preparing me for a graduate degree as it taught me
how to do my own research and use what was relevant to try an experiment and refine it to
meet my goals. This showed me my capacity of problem solving and even further improved it
while also making me more confident in giving oral presentations. The frequent progress
reports helped me feel comfortable about giving presentations, when before it always made
me feel nervous. I also learned how to accept criticism and learn from it instead of just
avoiding or being afraid of it. This helped me and my projects grow. This course has helped
me gain a lot of experiences and I am very thankful for that.

Page | 20
8. Reference


ROBOTIS, 2006. BIOLOID: For robotic projects in schools.
<http://www.robotis.com/xe/bioloid_en>



ROBOTIS, 2006. BIOLOID: User’s Guide.



ROBOTIS, 2006. BIOLOID: Quick Start Guide.

Page | 21

More Related Content

Similar to Design of a BIOLOID Scorpion Report

Return of the monolith
Return of the monolith Return of the monolith
Return of the monolith Alper Hankendi
 
A.Levenchuk -- visuomotor learning in cyber-phisical systems
A.Levenchuk -- visuomotor learning in cyber-phisical systemsA.Levenchuk -- visuomotor learning in cyber-phisical systems
A.Levenchuk -- visuomotor learning in cyber-phisical systemsAnatoly Levenchuk
 
What is Club Project 2020?
What is Club Project 2020?What is Club Project 2020?
What is Club Project 2020?OASIS STEM
 
User guide lego mindstorms ev3 10 all enus (2)
User guide lego mindstorms ev3 10 all enus (2)User guide lego mindstorms ev3 10 all enus (2)
User guide lego mindstorms ev3 10 all enus (2)Hans Alvarez
 
Introduction to Bitreactive
Introduction to BitreactiveIntroduction to Bitreactive
Introduction to BitreactiveGhassen Chaieb
 
Scaling mobile testing on AWS: Emulators all the way down
Scaling mobile testing on AWS: Emulators all the way downScaling mobile testing on AWS: Emulators all the way down
Scaling mobile testing on AWS: Emulators all the way downKim Moir
 
Book FYP_Low Cost Reconfigurable Modular Robots.pdf
Book FYP_Low Cost Reconfigurable Modular Robots.pdfBook FYP_Low Cost Reconfigurable Modular Robots.pdf
Book FYP_Low Cost Reconfigurable Modular Robots.pdfJamelBaili2
 
A Custom Robotic ARM In CoppeliaSim
A Custom Robotic ARM In CoppeliaSimA Custom Robotic ARM In CoppeliaSim
A Custom Robotic ARM In CoppeliaSimJim Jimenez
 
Top 10 robotics for beginners
Top 10 robotics for beginnersTop 10 robotics for beginners
Top 10 robotics for beginnersslulu226
 
A Wire Parameter and Reaction Manager basedBiped Character Setup and Rigging ...
A Wire Parameter and Reaction Manager basedBiped Character Setup and Rigging ...A Wire Parameter and Reaction Manager basedBiped Character Setup and Rigging ...
A Wire Parameter and Reaction Manager basedBiped Character Setup and Rigging ...ijcga
 
A WIRE PARAMETER AND REACTION MANAGER BASED BIPED CHARACTER SETUP AND RIGGI...
A WIRE PARAMETER AND REACTION  MANAGER BASED BIPED CHARACTER  SETUP AND RIGGI...A WIRE PARAMETER AND REACTION  MANAGER BASED BIPED CHARACTER  SETUP AND RIGGI...
A WIRE PARAMETER AND REACTION MANAGER BASED BIPED CHARACTER SETUP AND RIGGI...ijcga
 
System Document (Revised)
System Document (Revised)System Document (Revised)
System Document (Revised)Zeyad Saleh
 
Lentin joseph learning robotics using python design, simulate, program, an...
Lentin joseph   learning robotics using python  design, simulate, program, an...Lentin joseph   learning robotics using python  design, simulate, program, an...
Lentin joseph learning robotics using python design, simulate, program, an...Rajmeet Singh
 
Design of a BIOLOID Scorpion
Design of a BIOLOID ScorpionDesign of a BIOLOID Scorpion
Design of a BIOLOID ScorpionBruno Chung
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerSherif Mousa
 
Robotics Slideshare Resource
Robotics Slideshare ResourceRobotics Slideshare Resource
Robotics Slideshare Resources0133116
 

Similar to Design of a BIOLOID Scorpion Report (20)

Return of the monolith
Return of the monolith Return of the monolith
Return of the monolith
 
Modbots
ModbotsModbots
Modbots
 
A.Levenchuk -- visuomotor learning in cyber-phisical systems
A.Levenchuk -- visuomotor learning in cyber-phisical systemsA.Levenchuk -- visuomotor learning in cyber-phisical systems
A.Levenchuk -- visuomotor learning in cyber-phisical systems
 
What is Club Project 2020?
What is Club Project 2020?What is Club Project 2020?
What is Club Project 2020?
 
User guide lego mindstorms ev3 10 all enus (2)
User guide lego mindstorms ev3 10 all enus (2)User guide lego mindstorms ev3 10 all enus (2)
User guide lego mindstorms ev3 10 all enus (2)
 
Introduction to Bitreactive
Introduction to BitreactiveIntroduction to Bitreactive
Introduction to Bitreactive
 
Scaling mobile testing on AWS: Emulators all the way down
Scaling mobile testing on AWS: Emulators all the way downScaling mobile testing on AWS: Emulators all the way down
Scaling mobile testing on AWS: Emulators all the way down
 
Gazebo.docx
Gazebo.docxGazebo.docx
Gazebo.docx
 
Book FYP_Low Cost Reconfigurable Modular Robots.pdf
Book FYP_Low Cost Reconfigurable Modular Robots.pdfBook FYP_Low Cost Reconfigurable Modular Robots.pdf
Book FYP_Low Cost Reconfigurable Modular Robots.pdf
 
A Custom Robotic ARM In CoppeliaSim
A Custom Robotic ARM In CoppeliaSimA Custom Robotic ARM In CoppeliaSim
A Custom Robotic ARM In CoppeliaSim
 
Neuronvisio codejam5
Neuronvisio codejam5Neuronvisio codejam5
Neuronvisio codejam5
 
Top 10 robotics for beginners
Top 10 robotics for beginnersTop 10 robotics for beginners
Top 10 robotics for beginners
 
A Wire Parameter and Reaction Manager basedBiped Character Setup and Rigging ...
A Wire Parameter and Reaction Manager basedBiped Character Setup and Rigging ...A Wire Parameter and Reaction Manager basedBiped Character Setup and Rigging ...
A Wire Parameter and Reaction Manager basedBiped Character Setup and Rigging ...
 
A WIRE PARAMETER AND REACTION MANAGER BASED BIPED CHARACTER SETUP AND RIGGI...
A WIRE PARAMETER AND REACTION  MANAGER BASED BIPED CHARACTER  SETUP AND RIGGI...A WIRE PARAMETER AND REACTION  MANAGER BASED BIPED CHARACTER  SETUP AND RIGGI...
A WIRE PARAMETER AND REACTION MANAGER BASED BIPED CHARACTER SETUP AND RIGGI...
 
System Document (Revised)
System Document (Revised)System Document (Revised)
System Document (Revised)
 
Lentin joseph learning robotics using python design, simulate, program, an...
Lentin joseph   learning robotics using python  design, simulate, program, an...Lentin joseph   learning robotics using python  design, simulate, program, an...
Lentin joseph learning robotics using python design, simulate, program, an...
 
Design of a BIOLOID Scorpion
Design of a BIOLOID ScorpionDesign of a BIOLOID Scorpion
Design of a BIOLOID Scorpion
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
Roboclub, IITK (2008)
Roboclub, IITK (2008)Roboclub, IITK (2008)
Roboclub, IITK (2008)
 
Robotics Slideshare Resource
Robotics Slideshare ResourceRobotics Slideshare Resource
Robotics Slideshare Resource
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Design of a BIOLOID Scorpion Report

  • 1. NCNU 林容杉 國立暨南國際大學電機工程學系 專題研究 蠍型機器人設計 Design of a BIOLOID Scorpion 姓名:Bruno Chung 鍾正方 學號:98323060 指導老師:Prof. Jung-Shan Lin 林容杉 日期:101 年 06 月 20 日 EE 6/20/2012
  • 2. Table of Contents 1. 2. 3. 4. 5. 6. Abstract .............................................................................................................................. 3 Choosing a Subject ............................................................................................................. 3 Purpose ............................................................................................................................... 3 BIOLOID Overview ........................................................................................................... 4 Approach ............................................................................................................................ 4 BIOLOID Creations ........................................................................................................... 5 a. Crocodile Mouth................................................................................................. 5 b. Attacking Duck................................................................................................... 5 c. LED Example ..................................................................................................... 6 d. e. f. 7. 8. Crossing Gate ..................................................................................................... 7 Crossing Gate 1.0 ............................................................................................... 9 NASCAR Car ..................................................................................................... 9 g. Excavator .......................................................................................................... 11 h. Scorpion............................................................................................................ 13 i. Scorpion 1.0...................................................................................................... 14 j. Scorpion 2.0...................................................................................................... 17 Conclusions and Thoughts ............................................................................................... 20 Reference .......................................................................................................................... 21 Page | 1
  • 3. Table of Figures FIG. 1 CROCODILE MOUTH .............................................................................................................................................5 FIG. 2 ATTACKING DUCK ................................................................................................................................................6 FIG. 3 DYNAMIXEL AX-12 ..............................................................................................................................................6 FIG. 4 AUX LED ON FIG. 5 AUX LED OFF .......................................................................................................7 FIG. 6 CROSSING GATE ..................................................................................................................................................7 FIG. 7 CROSSING GATE PROGRAMMING WITH SPEED CONTROL ..............................................................................................8 FIG. 8 CROSSING GATE 1.0 .............................................................................................................................................9 FIG. 9 NASCAR CAR PROGRAM ....................................................................................................................................10 FIG. 10 NASCAR CAR .................................................................................................................................................10 FIG. 11 EXCAVATOR BASE .............................................................................................................................................11 FIG. 12 EXCAVATOR ....................................................................................................................................................12 FIG. 13 ENRAGED EXCAVATOR SENSING RANGE ................................................................................................................12 FIG. 14 THE FIRST SCORPION DESIGN FIG. 16 SCORPION WITHOUT EXTRA LEG FIG. 15 SCORPION .................................................................13 FIG. 17 SCORPION WITH EXTRA LEG ...............................................................14 FIG. 18 TESTING MOTORS.............................................................................................................................................15 FIG. 19 SCORPION 1.0 .................................................................................................................................................16 FIG. 20 FLOWCHART OF SCORPION 2.0 PROGRAM ............................................................................................................17 FIG. 21 SCORPION 2.0 .................................................................................................................................................18 FIG. 22 MOTION PICTURE OF THE ATTACK SEQUENCE FROM THE SCORPION 2.0 PROGRAM........................................................19 Page | 2
  • 4. 1. Abstract This report is about the use of the BIOLOID kit to build and design a scorpion robot with a behavior program which is similar to that of an actual scorpion. The focuses on the scorpion design lead the project to be named “Design of a BIOLOID Scorpion”. The entire process from learning how to assemble with the kit to finally finish building and programming the scorpion are discussed along with all issues encountered. 2. Choosing a Subject The project was going to be based on control systems due to the nature of the advisor’s specialty. At first a trip was made to the Control Systems Lab to see what materials were available. Knowing what is available to use gives direction as well as focus to the project and insight about how to target and approach the designated goals. In the lab new BIOLOID kits were available, which reminds a lot the more popular LEGO blocks. The most interesting thing about LEGO blocks is that one single kit allows for innumerous designs to be made, the only boundary being your own imagination. The only drawback was that LEGO blocks are mostly stationary, but the BIOLOID kit allows movement so that now creations can become a moving robot instead of just a stationary model car. This added feature allows even more constructions to be made, this time with motors to assist in even more interesting ideas. Although somewhat similar in concept the BIOLOID kit is still a lot more complex than LEGO blocks. Instead of fitting pieces together like with the LEGO blocks, the BIOLOID pieces had to be screwed together. This was a relatively small setback compared to the benefits of the motors. Now designs could move and be autonomous. The flexibility of the designs that could be created paired with movements made the BIOLOID kit an easy choice for a medium to accomplish my goals. 3. Purpose As previously introduced, the BIOLOID kit is going to be used to attain my goal of designing a scorpion robot. The purpose of this project is to build and design a scorpion robot using the BIOLOID kit and create a behavioral program to mimic the movements of an actual scorpion. The most prominent behaviors from an actual scorpion will first be mimicked like the tail attacking its prey and escaping afterwards. Page | 3
  • 5. 4. BIOLOID Overview The BIOLOID is an educative all-around robot kit that assists its users in engaging in creative and scientific creations. It contains many blocks of different shapes allowing easy assembly of various robots. Main BIOLOID parts include:  Main controller, CM-5: The main controller of the BIOLOID robot where program is downloaded to and from.  Robot Actuator, Dynamixel AX-12: Actuator that functions as the joints of the robot.  Robot Sensor Module, Dynamixel AX-S1: A sensor module that consists of three  pairs of sensors that detect distance, brightness and heat. It can function as sound detector, remocon transceiver and sound buzzer as well. Assembly parts: Various frames, cables and bolts that connect CM-5, AX-12 and AX-S1 to assemble robots. 5. Approach Although I compared the BIOLOID to the LEGO blocks, they are very different from each other. LEGO blocks just fit and snap on top of each other whilst the BIOLOID has to be screwed together. Adding to that LEGO blocks are usually just rectangular in shape, while the BIOLOID has a lot of different pieces to allow more flexibility in its design. Building a BIOLOID robot requires careful selection of parts and proper screwing to make a complete and nicely finished robot. It is extremely hard to directly start designing a scorpion so being familiar with assembling with the parts provided is a good first step. To start learning how to assemble, the “BIOLOID: Quick Start Guide” was used to learn step-by-step how to assemble previously designed BIOLOID examples. These examples already have their programming finished, which require a simple download to the main controller (the CM-5) so that the robot can start moving. After assembly the next step should be learning how to program. For basic programming the “BIOLOID: User’s Guide” was used as it explains in a very clear and easy way the operating principle and the program process of the BIOLOID. Upon learning basic programming, practice should was done on existing BIOLOID examples. When substantial assembly and programming skills are acquired, designing the scorpion robot became a lot easier and fluid. The complexity of the design and programming of the scorpion made learning how to assemble and program extremely difficult. Page | 4
  • 6. 6. BIOLOID Creations a. Crocodile Mouth The Crocodile Mouth was the first BIOLOID robot assembled due to its simplicity, while still learning very basic programming. Fig. 1 Crocodile Mouth The Crocodile Mouth program runs as follows. When a center object is sensed the mouth of the Crocodile Mouth opens and when no object is sensed the mouth closes. Some issues were encountered while building the Crocodile Mouth, which further increased my knowledge of how to build with the BIOLOID kit. Each Dynamixel in a BIOLOID kit is assigned an ID so that the proper joint starts moving at the correct time and sequence. For the program to successfully be downloaded to the controller all motors used in the program needs to be connected to it. The issue encountered was the use of the motor with a wrong ID in the Crocodile Mouth. The proper Dynamixel ID could not be detected by the main controller CM-5 so the mouth would not open or close. Screws also have their specific size and proper places to be screwed, where at first was not paid much attention. b. Attacking Duck The Attacking Duck was the second robot to be built to further improve my assembling skills. This example has an increased complexity due to the higher number of motors present. This example was also chosen due to the similarities to that of a scorpion tail, which could be embedded on the final scorpion design. Page | 5
  • 7. Fig. 2 Attacking Duck The program of the Attacking Duck was designed to make it 'attack' just as the name of the robot implies. When a center object is sensed the robot attacks its front side by reaching forward. Same happens when a side object is sensed. If the right side sensor senses something the robot turns 90° to the right and strikes. Some issues were also encountered in the Attacking Duck. When running the program the robot was making turns that were more than 180° instead of the 90° that it should be doing. Initially it was thought that the problem was the motor with the wrong ID was used because different IDs were installed from that of the guide. After considerable time the issue was found. The Dynamixel AX-12 has a zero point or default position in which it has to be before assembly or the robot will not run as intended. The default position is marked with a small line on both the rotating part and the non-moving part of the Dynamixel as shown on Fig. 4. Fig. 3 Dynamixel AX-12 c. LED Example Programming was an aspect of the project which started slow as to not make any mistakes in the future. At first a simple program was created for a robot so simple that it did not have any joints in it. The only part being controlled was the AUX LED on the CM-5. The AUX LED is the only LED in the CM-5 that can be programmed freely. Page | 6
  • 8. Fig. 4 AUX LED on Fig. 5 AUX LED off The AUX LED from the CM-5 was programmed to light up when the U or up button is pressed and to turn off when the D or down button is pressed. Here there were no issues as the program was relatively simple containing only three command lines. d. Crossing Gate In the first attempt of programming only a simple LED was being controlled. LED is easy to control because it only has two states, 1 and 0 or on and off. To increase the complexity of the program a Dynamixel AX-12 was controlled instead of a simple LED, making this the first time a motor is programmed. Using one of the joints, a gate like structure was built to make the design simulate a more real life application, thus the name Crossing Gate. Fig. 6 Crossing Gate As the name implies, this design was supposed to simulate a gate. The gate was programmed to open or change to a 90° angle so an object or vehicle of some sort can cross, and closes down or moves to a 180° where there is no longer anything trying to cross. This is Page | 7
  • 9. controlled through button input on the controller. When the R button is pressed the bridge moves up to the 90° position and when the L button is pressed the bridge moves to the 180° position if it is not in that position already. Speed control was also added because the gate seemed a bit unstable due to the high speed in which it opened and closed. The speed was changed to 150; by comparison the maximum speed is 1024. Fig. 7 Crossing Gate programming with speed control This was the first time programming for a motor. The motor can only move at a 300°, unless it is initiated as a wheel where it can instead turn at a 360°. To move the motor to a specific angle for example the command is LOAD DYNAMIXEL 1024 which is the variable for 300°. The programming has to be between the START and END command, and anything outside of it is completely ignored. First all DYNAMIXELs, in this case just one, is set to an initial position of 500. The IF commands sets the condition in which it will run its command if the condition is met. If the condition is not met the command after IF is ignored and the program jumps to the next command line. The first IF command calls the up loop where the gate moves up when the L button is pressed. The lines of commands are applied to the second condition in which the R button is used and the down command is called. Another important thing is that the speed of the motor must be set before it LOADs its angle so the motor can set its speed before moving. These can be seen on Fig. 7 above. The Crossing Gate was fully my design and not from any of the guides. At first it was difficult to choose parts that would make the design look more like a real gate. The parts were finally chosen and the result was previously illustrated in Fig. 6. Program syntaxes were misused as happens when first trying a new programming language. After a few trial and errors the gate was successfully designed and programmed. Page | 8
  • 10. e. Crossing Gate 1.0 The objective is to make an autonomous robot and a robot is not really autonomous if it has to rely on human input to function. The Crossing Gate required someone to be present to press the appropriate buttons to make it work, but the Crossing Gate can be an autonomous machine with the simple addition of a Dynamixel AX-S1 or the sensor module. This would allow the robot to function by itself, making this the next logical improvement. Fig. 8 Crossing Gate 1.0 The robot was named Crossing Gate 1.0 as it was a revision of the first Crossing Gate. The sensor was placed at the left side of the bridge and it was assumed that vehicles would only pass through the gate from the left. When the sensor senses anything ranging from 0 to 15cm from the tip of the sensor it opens the gate and stays open until the object is no longer sensed, where it will slowly close. In the guide there was a very interesting feature that used sound detection and an experiment was done on the Crossing Gate 1.0. If three or more claps are sensed then the gate opens and stays open. If less than three claps are sensed, ranging from one to two claps, then the Crossing Gate 1.0 closes. f. NASCAR Car The Crossing Gate 1.0 was still relatively simple in that it only used one motor. The next step is to increase complexity by adding more motors to the design. In this case a design from the guide was used instead of creating a new robot. The example used is called the Obstacle Detection Car where the car escapes or avoids crashing when a center object is sensed and escapes to the side when a side object is sensed. This car shape example was chosen because it could be later used as the scorpion’s main body. It was initially thought that the scorpion legs would represent a great challenge so at first the objective was to use wheels of the Obstacle Detection Car to keep the design as realistic as possible. Page | 9
  • 11. A new program was written for the Obstacle Detection Car to apply newly acquired programming skills. This new program was designed to fit different requirements. The original program focused on avoiding obstacles so the new program was designed to make the car perform more like a race car, thus the name “NASCAR Car”, which is a reference to the popular stock car race. Fig. 10 NASCAR Car The Obstacle Detection Car stopped, went backwards and escaped from the center object that was sensed. The NASCAR Car instead senses the object at a distance and thus escapes it or makes a turn to the proper side before being too late escape it, thus eliminating the needing to stop and go backwards which would greatly decrease time spent on tracks. The NASCAR Car also avoids the sides like the Obstacle Detection Car to keep distance, but the program was changed so that it could avoid the side when it is much closer or else it would keep sensing the side walls and reacting accordingly if the way program was too narrow. The speed of the car was also increased from 600 to 900 making the NASCAR Car even faster in completing tracks in wide mazes. The robot completed the same tracks at an incredibly faster time leading to the name NASCAR Fig. 9 NASCAR Car Car. One issue that came up while building and programming the NASCAR Car was the reversed sides. The left joints are the exact reverse of the right ones making the assembling and programming a little confusing. At first this was note taken into account so when a program was created to make it move forward it instead moved to the left or right. To move Page | 10
  • 12. forward the left wheels must be rotating counter-clockwise and the right wheels in the clockwise direction. Also lack of attention caused me to build three left joints instead of two. Programming for the NASCAR Car provided a great deal of programming experience as the program was significantly larger than that of the Crossing Gate 1.0. Refer to Fig. 7 for the programming of the Crossing Gate 1.0 and Fig. 10 for the NASCAR Car program. g. Excavator After the NASCAR car the period of familiarizing with assembly and programming was about finished. The initial thought was to use the Attacking Duck and join it with the NASCAR Car to start as the scorpion robot. However when checking the “BIOLOID: Quick Start Guide” the Excavator was noticed due to its very interesting feature. The Excavator had four wheels like the NASCAR Car, but it had an additional fifth motor on the middle of the four as shown in Fig. 11. It was also a good start for the scorpion design as the body was already done and a simple redesign of its excavating hand can turn it into a scorpion tail. 4 5 3 2 1 Fig. 11 Excavator base The fifth motor on the Excavator base allows the Excavator to rotate its body without using the wheels. The original programming the Excavator moves forward until it senses an object in front or on the sides. When an object is sensed on the front it performs a digging action. If an object is sensed on the right the Excavator stops and instead of the wheels making the turn the fifth motor rotates the body to the right until it detects the object in front of it followed by the digging action later escaping to the left side. This feature was very impressive and one that was added to the first scorpion design. The Excavator is an intermediate example of the guide unlike the previous robots which were just beginner examples. The increase in complexity made the assembly a little challenging and the malfunction of some motors after the completion of the robot was also frustrating. The whole robot had to be dismantled to replace the faulty motors. Page | 11
  • 13. Fig. 12 Excavator The original program for the Excavator was unimpressive as its digging action looked nothing like a real excavating machine doing some real digging. The main reason for choosing to build this example was to take advantage of the fifth motor at the base, thus resulting in a fully rewritten program. Instead of Excavator the robot was renamed to Enraged Excavator as it better suits the new programming. In the new program the excavator would move forward at a relatively slow pace while performing a scanning function in which the body keeps moving at a 70° range sensing for any close objects. Upon sensing an object on the right it does the same digging action as the original Excavator, albeit a lot more aggressively, after which it escapes to the left side and goes back to the scanning loop. The same steps are taken when an object on the left is sensed. 70° Fig. 13 Enraged Excavator sensing range Page | 12
  • 14. Without the scanning function the Enraged Excavator would only be able to sense objects directly in front of the sensor, which is thinner than the robot’s body. This can result in a crash to the sides of the robot against an object that is slightly to the left or to the right of the sensor’s range. The scanning functionality can solve this problem without much sacrifice as if the same were to be done with the wheels the robot would have to move in a zigzag like form. A great deal of time would be wasted and complexity of the program would greatly increase. A new programming issue came up when running the Enraged Excavator program, the Error Code 0009, which is also known as “Call Stack Overflow”. There is a limit of eight consecutive call commands that can be used on a program and this was easily solved by changing CALL commands to JUMP commands. h. Scorpion Following the assembly and programming for the Excavator the next step was to start building the Scorpion through the redesign of the Excavator. This was done by redesigning the excavating hand to look more like a scorpion tail. The tail design was time consuming as there was no guide for it. The final tail design was reached after many attempts and much dismantling. After the redesign the tail was attached to the back of the body to mimic a real scorpion giving a really rough initial scorpion design on Fig. 14. The design still did not look like a real scorpion with just the tail so the pincers were also added giving a more convincing scorpion form as shown in Fig. 15. Now programming can begin with the initial scorpion design. Fig. 14 The first scorpion design Fig. 15 Scorpion Programming was similar to the one in the Enraged Excavator where it scans at a 70° range while moving forward, except that now the excavating hand is a scorpion tail placed at the back. The values had to be corrected and the pincers accounted for. Page | 13
  • 15. Upon turning on the Scorpion first goes to its initial position. After it reaches its initial position the Scorpion starts moving forward while scanning for any objects. When an object is sensed the scorpion stops moving, open and closes both pincers and strikes the object twice in this sequence. The attack happens in three steps: firstly the tail slowly moves back and becomes a straight line; secondly the tail strikes reaching the front of the sensor at a much higher speed, lastly the tail slowly moves back to its original position before the attack. After the attack the robot escapes to the right if the object was sensed at the left, the same happening if the object was sensed on the right side. A frame by frame illustration of the attack sequence will be later shown. One issue was encountered when programming to the Scorpion. Before running the whole program the attacking sequence was tested on the robot without the moving forward program. The body was not heavy enough to sustain the weight of the tail stretching at the back when preparing for an attack, causing the robot to fall back. This was corrected by adding an extra leg as shown on Fig. 16 and 17. The extra leg was an easy and quick solution to the problem until a better solution was thought about. Fig. 16 Scorpion without extra leg Fig. 17 Scorpion with extra leg i. Scorpion 1.0 After finishing the Scorpion it was initially thought that the purpose was met to create a scorpion robot that has a scorpion behavior. The design looks like an actual scorpion when excluding the wheels that substituted the legs. The scanning function was also a very interesting implementation that can improve the sensing range of the robot without an additional sensor. Initially it was thought that changing the wheels into legs would be time consuming and extremely complex to design and program for. On the other hand the legs would make the design become more scorpion-like and also make it more stable, thus eliminating the need for the extra leg on the back of the Scorpion, which was not aesthetically good. These factors led to the second scorpion design, the Scorpion 1.0 Page | 14
  • 16. To avoid any assembling problems like those encountered with the Excavator, where some motors were discovered to be faulty only after the finishing assembling the robot, all motors used on the legs were tested before hand as shown in Fig. 18. Fig. 18 Testing motors After making sure all Dynamixels were working properly the building started. There were slight complications in creating a new scorpion design. A real scorpion has eight legs, four in each side. Building eight legs was easy, but joining the eight legs was going to be very hard so initially six legs were built and if required two additional legs would be built. On the excavator the main controller was at a horizontal position where there is little space to attach the legs, thus the body was rotated to have a vertical position. On this vertical position the six legs could be attached, but there was not enough room to move so it was pointless. To solve the assembly problem the rear legs were instead attached to the middle legs instead of body and the two middle and front legs were attached to the body, but more separately to allow space for movement. This can be seen on Fig. 19 where the rear legs are in the same position as the tail and far from the body to allow more space to move the legs. The hands were also redesigned to save parts that were needed on the legs. Page | 15
  • 17. Fig. 19 Scorpion 1.0 Scorpion 1.0 may seem a like a completely different robot to that of the previous Scorpion robot, but their programs still remain alike except that the Scorpion 1.0 now lacks the wheels and the scanning feature found on the Scorpion robot. They are similar because first it goes to its initial position and initializes its motors and starts moving forward. When moving forward it also starts sensing for any close objects in front of it. If an object is detected the robot stops and goes into his attacking position where it crouches or lowers its front and middle legs and uses the same attacking sequence as the one present on the Scorpion. Following the attack the scorpion stands up and escapes the object by turning to the right about 80° and then it continues to move forward and the program runs again in a loop. If the robot detects an object a second time this time it will escape to the left after the attack, and then to the right if detected again and so on. This program is represented on the flowchart shown on Fig. 20. Page | 16
  • 18. Initial Action Move Forward Close Object Sensed in Front? No Yes Crouch and Attack Escape Fig. 20 Flowchart of Scorpion 2.0 program j. Scorpion 2.0 It took considerable less time to finish building and programming for the Scorpion 1.0 than initially thought, which gave time to further improve the scorpion design and its programming. To improve the programming the new robot design should be able to grab or lock the object on its hand before attacking, which would make the design act even more like an actual scorpion, thus two additional motors were attached on the pincers to allow movement since they can only open and close. This led to the design shown on Fig. 21 the final scorpion design the Scorpion 2.0. Page | 17
  • 19. Fig. 21 Scorpion 2.0 The only difference with this robot is the presence of two additional motors on the pincers to allow movement and the walking program was refined to make it more stable and allow the robot to move more quickly. Initially the middle legs moved forward or backwards depending on the programming, but on the Scorpion 2.0 the middle legs did not move and instead were used to sustain the scorpion on the appropriate side that the legs were used. On the Scorpion 1.0 the walking program happened in four sequences: first two legs on the left and one on the right lifts up; secondly one leg on the left and two on the right push the robot forward; thirdly the two legs on the left and the one on the right that were up now come down; and lastly the one leg on the left and the two on the right that did the first push will lift. This process is done twice on both sides to make the robot move forward. The refined walking program on the Scorpion 2.0 there are only two sequences, making it walk a lot faster. The first and second step of the walking program in the Scorpion 1.0 happens simultaneously and is followed by the third and last step, which also happen at the same time. All of this happens while the speed is increased and the second move starts immediately after the first one finishes. On the previous program there was about a half second delay before the next move would start. Even though two more motors were added to increase maneuverability of the pincers it was extremely hard to apply the grabbing and locking action into the robot without making it knock down or push the objects away so it was unfortunately taken out. The final program does not use the two additional motors as there was not enough time to further study a way to make it function as intended. Thus the final program is the same and just sets the additional motors to a default stationary position. Page | 18
  • 20. Fig. 22 Motion picture of the attack sequence from the Scorpion 2.0 program Here is an illustration to visually and more clearly show the attack sequence used on the scorpion robots. The numbers represent the sequence of events of the attacking action from the Scorpion 2.0. First picture represents the initial position or the standing position. The second picture is when the scorpion goes into his attacking position by crouching. After crouching the robot prepares its attack by slowly lifting its tail as shown on the frames 3, 4 and 5. The strike action takes only one frame and the tail repositions itself to its original position within two frames. After two attacks the scorpion goes to its initial standing position. Page | 19
  • 21. 7. Conclusions and Thoughts The final scorpion design was really successful in resembling an actual scorpion. Aesthetically it should be very easy for it to be identified as a scorpion robot if the viewer has ever seen a picture or a real scorpion beforehand. The program also makes the robot behave like a real scorpion as it has a very convincing attack when sensing an object. Escaping after an attack also further makes the robot seem like an actual scorpion. Overall the purpose seems to have been met and it is safe to say that the project was successful. This was a very interesting project where a lot was learned. There were no courses teaching how to use the BIOLOID kit so everything had to be learned through the internet, the provided guides and examples which were extremely helpful. Every time an issue was encountered it was solved through own means and sometimes by discussing with other classmates and the advising professor. The BIOLOID is not a very complex kit, but requires some knowledge and care to handle it and create own robot designs. An essential factor that helped make this project as successful as it is was the frequent meetings with the advisor, which gave me very constructive criticism and suggestions for the next step and how to approach some issues. These meetings also helped me keep track on what has been done, what had to be improved and what had to be finished. A lot of effort was put into this project to make reach the final product. Showing pictures of the results of individual experiments makes it look easy when in fact assembling a robot and creating a new design is an extremely time consuming task, but on in where a lot of experience could be gained to make something more efficient and better every time. For example in total I had three tail designs before finally building the final one that was used. Each of the three times the tail had to be completely dismantled. To reach the design that most suited my needs about four hours were put on trial and error. This was crucial to meet a satisfying design. This project course was very helpful in preparing me for a graduate degree as it taught me how to do my own research and use what was relevant to try an experiment and refine it to meet my goals. This showed me my capacity of problem solving and even further improved it while also making me more confident in giving oral presentations. The frequent progress reports helped me feel comfortable about giving presentations, when before it always made me feel nervous. I also learned how to accept criticism and learn from it instead of just avoiding or being afraid of it. This helped me and my projects grow. This course has helped me gain a lot of experiences and I am very thankful for that. Page | 20
  • 22. 8. Reference  ROBOTIS, 2006. BIOLOID: For robotic projects in schools. <http://www.robotis.com/xe/bioloid_en>  ROBOTIS, 2006. BIOLOID: User’s Guide.  ROBOTIS, 2006. BIOLOID: Quick Start Guide. Page | 21