Edit on GitHub

Introduction

Getting Started

Part List

Operating

Downloading the Program

Turning the Robot on

  1. Turn the power switch on and the LED will start blinking.
  2. Use the MODE button to move the LED to “PLAY”. (The LED will move each time you press the MODE button)
  3. Press the START button. (Check whether the LED on “PLAY” is blinking)
    • If the LED does not turn on, check the power cable/connection.
    • If there are no problems with cable, recharge your battery. (Please refer to Charging for more information)

The power does not turn on.

  1. Is the battery properly connected?
  2. Is the battery fully charged?
  3. Is the battery fuse intact?

I want to check how much battery I have left.

Turn the CM-530 on and press the U button. The LED will turn on to show how much battery you have left as seen in the figure below.

The robot makes a continuous warning sound while moving.

Checking the robot’s basic posture (To check whether the robot has been assembled correctly)

If the robot has been incorrectly assembled to an extent where it may be severely damaged, a warning sound will be activated. Also, the LED of the motor with the problem will turn on and release its torque to prevent damage.

The robot’s basic posture and movements are awkward.

The robot falls down easily while walking or is otherwise unstable.

The torque is released and the dynamixel’s LED turns on after a warning sound.

The robot type and melody do not match.

Robot Type “Do” “Do Re” “Do Re Mi” Repeat “Do Re Mi”
TYPE A O(Correctly Assembled) Check cables for ID 9~10 Check cables for ID 7~8 Some of the cables have not been connected properly. Please refer to the Assembly Manual and check again.
TYPE B - O(Correctly Assembled) ID 9 and10 connected where ID 7 and 8 should be connected Some of the cables have not been connected properly. Please refer to the Assembly Manual and check again.
TYPE C - ID 7 and 8 connected where ID 9 and 10 should be connected O(Correctly Assembled) Some of the cables have not been connected properly. Please refer to the Assembly Manual and check again.

Robot in Action

NOTE : If you press a button on RC-100 before choosing a mode, the robot will enter remote control mode.

Remote Control Mode

The RC-100 is used to control the robot.

  1. Press the POWER/MODE button for 2 seconds.
  2. Press the buttons below to control the robot.
    • Walking : U / L / D / R
    • Change Posture : 1 + U / L / D / R
    • Demonstration Moves : 2 + U / L / D / R
    • Soccer Moves : 3 + U / L / D / R
    • Battle Moves : 4 + U / L / D / R

Walking Motions
Buttons Motion
U Forward
D Backward
L Turn Left
R Turn Right
U + L Walk Forward + Left
D + L Walk Left Sideways
U + R Walk Forward + Right
D + R Walk Right Sideways
Change Postures
Buttons Motion
1 + U Getting up Backward (When lying on stomach)
1 + D Getting up Forward (When lying on back)
1 + L Push-up
1 + R Handstand
2 + U Pound Chest
2 + D Scratch Head
2 + L Cheer
2 + R Bow
Soccer Motions
Buttons Motion
3 + U Block Right (Release button to return to normal position)
3 + D Block Left (Release button to return to normal position)
3 + L Shoot with left foot
3 + R Shoot with right foot
Battle Motions
Buttons Motion
4 + U Attack
4 + D Defend (Release button to return to normal position)
4 + L Attack Left
4 + R Attack Right
Setting the CM-530 IR Channels

After mounting the IR receiver on CM-530 under control mode, you can set the channels to control it remotely by pressing the Aux button. If you change the channel of the controller, you must also change the channel of RC-100. On how to change the channel of RC-100, please refer to Changing RC-100’s Channel.

Buttons Motion
Start + U Set the RC-100 channel as 1
Start + D Set the RC-100 channel as 3
Start + L Set the RC-100 channel as 2
Start + R Set the RC-100 channel as 4
When being controlled   Seated in a standby position
My remote controller does not work properly.
We want to play soccer or battle with several robots.

Demo Mode

The robot will clap depending on how many times you clap. When DMS senor detects an object, the robot greets the user. If the robot does not sense any sound or object for a while, it performs various motions on its own.

Claps depending on how many times you clap   Shows various movements

Autonomous Walking Mode

The robot will walk by itself while avoiding obstacles. When absolute distance sensor detects an obstacle, the robot will stop and turn left until the obstacle is no longer detected. If it falls down while walking, it will get back up in the direction it was moving.

Check Assembly Mode

You may use the Check Assembly Mode to see whether your robot has been properly assembled. Isolate each motor and compare it to the standard posture.

  1. Start the Check Assembly Mode. It will release the torque.
  2. Press the U or D button and check one motor at a time. The selected motor’s LED will turn on and move to its basic position. ( U : Increases the ID by 1, D : Decreases the ID by 1 )
  3. Check the ID of the motor with the LED and compare it with the ID in the Assembly Manual.

    If the ID does not exist in the robot, a warning sound will be activated.

  4. Compare the position of the motors you have assembled to the basic posture.

    If the LED is on but the torque is released, check the cables or the motor’s assembly status.

Battery Charge

You may obtain Lithium polymer batteries from www.robotis-shop-en.com.

If the robot alarm sounds off during operations then recharge the battery.

During charging the charger’s red LED turns on. When complete the green LED turns on.

  1. Take the battery out

  2. Connect the charger

  3. Charge

    Charging(Red LED), Complete(Green LED)

Charging Time and Battery Life/Operating

Charging Time

Caution

  1. Do NOT keep the battery connected with a robot or a charger.
  2. If you will not use the battery for a long time from now on, please keep it HALF-CHARGED.
  3. Do NOT put the battery with an environment with high temperature or humidity.

Tutorial

Screen Output

Objective for this tutorial is to print 1 and 2 on the output screen as below.

Screen-Output-1

Write Task Code

  1. Execute RoboPlus Task Program.

    As seen in the picture below, go to Start > All Programs > ROBOTIS > RoboPlus > Software > RoboPlus Task to execute RoboPlus Task.

    Screen-Output-2

    • RoboPlus Task Initial Screen

    Screen-Output-3

  2. Select a Controller.

    Double click an empty line or press Enter, In the Select Control window, select the controller to use, then press the OK button.

    Screen-Output-4

  3. Generating Start Program.

    Select Start Program from the Select Instruction Type window, Start Program will be automatically generated in RoboPlus Task.

    Screen-Output-5

  4. Input Endless Loop command

    To print the numbers on the screen endlessly, use the Endless Loop command(Create a command line). Double click or press Enter on an empty line between { and } of Start Program to invoke the Select Instruction Type window. Select Loop > Endless Loop(while(1)) from the list.

    Screen-Output-6

  5. Input Load command

    Use Load command to input a Print command, which is needed to print numbers on the screen. Insert Execute > Load (Assignment value) into an empty line between { and } of Endless Loop.

    Screen-Output-7

  6. Load 1 into Print

    Choose the left parameter ( ? ) among the Load parameters(Explanation on the parameter). The left parameter receives input from the right parameter. Double click the left parameter ( ? ), or press Enter key after clicking it once to invoke the Select Parameter Window. Select Controller > Print then press OK.

    Screen-Output-8

    Select Constant Numbers > Number > 1 for the right parameter ( ? ) in the same way.

    Screen-Output-9

    When both parameters of the Load command have been set, it should look like below.

    Screen-Output-10

  7. Load 2 into Print with Line

    Select } under Print command (at the end of the endless loop section), and add new lines by pressing the Space key. Repeat Steps 5 and 6 to input the Load command and to input Controller > Print with Line and 2. The final task code is shown below.

    Screen-Output-11

  8. Save Task Code

    Press Ctrl + S or the Save icon.

    Screen-Output-12

Download Task Code

Download the task code created above.(How to Download Task Code)

Execute Task Code

  1. Open the Program Output Monitor

    To see the output of the program, you must open the Program Output Monitor BEFORE executing the program. There are three ways to open the Program Output Monitor.

    • Click on the View Print of Program in the Download Program window

      Screen-Output-13

    • Click on the View Print of Program button in TOOLS.
    • Press F5 or click on View Print of Program (V) menu under Program (P).
  2. Executing the Program

    When you turn on the controller, the LED will blink, showing it is in standby mode. Press the MODE button to move it to PLAY, then press START to execute the downloaded task code. You should see “1” and “2” being printed on the Program Output Monitor.

    Screen-Output-1

Button & LED

Objective for this tutorial is to program the U button to turn the AUX LED on and the D button to turn it off. Pressing the START button will end the program.

Write Task Code

Button_LED

Download Task Code

Download the task code created above.(How to Download Task Code)

Execute Task Code

Execute the program and check whether the AUX LED turns on when you press the U button and turns off when you press the D button. Press START button to end.

Walking Machine

Objective for this tutorial is to learn how to use the Walking Machine.

Waking Machine is a combination of a walking motion file made up of specific patterns and a task code that plays theh role of smoothly connecting the walking motions in this motion file.

Let’s use the Walking Machine to learn about how walking motions are converted smoothly.

Motion File Overview

Walking Motion File

The walking motion files used in the Walking Machine can be found on pages 31~224. Several motion pages are gathered and repeatedly played to make up one walking pattern (forward, backward, etc). Each page is made to be conveniently converted to the next walking pattern’s motion page.

The walking patterns written in the Walking Motion File

The walking motion files used in the Walking Machine contain 16 different walking patterns shown below.

Forward Backward Left Turn Right Turn
Walk Sideways + Left Walk Sideways + Right Turn Left + Forward Turn Right + Forward
Backward + Left Backward + Right Avoid Left Avoid Right
Forward + Left Diagonally Forward + Right Diagonally Backward + Left Diagonally Backward + Right Diagonally

Task Code Overview

The walking machine task code includes a InitializationWalk Function and a WalkExecute function. There are samples that use these 2 functions to control the robot with a remote controller.

InitializationWalk Function

The InitializationWalk function initializes the variables and brings the robot to its default position.

WalkExecute Function

The WalkExecute function executes each walking pattern and smoothly joins the walking pattern.

Walk Command No.

No. Walking Pattern No. Walking Pattern No. Walking Pattern No. Walking Pattern
1 Forward 2 Backward 3 Left Turn 4 Right Turn
5 Walk Sideways + Left 6 Walk Sideways + Right 7 Turn Left + Forward 8 Turn Right + Forward
9 Backward + Left 10 Backward + Right 11 Avoid Left 12 Avoid Right
13 Forward + Left Diagonally 14 Forward + Right Diagonally 15 Backward + Left Diagonally 16 Backward + Right Diagonally

Start Program

Let’s try writing a simple “Start Program” sample using the “InitializationWalk” function and “WalkExecute” functions to smoothly connect walking patterns.

  1. First, call the InitializationWalk function to initialize the variable and to bring the robot to its default position.
  2. Select and input a walking pattern between 0 and 16 for the WalkCommand variable, then call the WalkExecute function to run the selected walking pattern.
  3. When you input a different number in the WalkCommand variable and call the WalkExecute function, it will convert to the new walking pattern as naturally as possible.

There are 16 different walking pattern sample codes to control via remote control in the walking machine’s task code file. Change the Start Program function in the sample codes to suit your needs.

Gyro Sensor Calibration

Code to control the gyro sensor will be added to the task code used in the [Walking Machine] section. Review the [Walking Machine] section before getting started.

Objective for this tutorial is to learn how to adjust a humanoid’s posture using a gyro sensor.

A Gyro sensor is used to determine angular velocity (angular variation per second). When the robot tilts and angular velocity increases in a specific direction, the servo motor’s value can be adjusted in the opposite direction to straighten the robot.

Download TASK Code(BIO_PRM_GyroSensorExam_EN.tsk)

Things to Prepare

Concept

Task Code Overview

  1. InitializationGyro Call Function

  1. Execute BalancePage to Apply Joint Offset

In order to apply the joint offset a motion must be executed. When no motion is being played, the joint offset will not be applied even if a value is input by the gyro sensor. The BalancePage is used to apply the joint when no motion is being executed.

  1. InitializationGyro Function

The InitializeGyro function reads the gyro sensor value 10 times in a 0.128 second intervals and saves the average value as a gyro sensor standard value. (The standard value is Approximate 250 degrees.) If the gyro sensor value is less than 230 or greater than 270, it assumes there is no gyro sensor and does not use adjustment (when there is no gyro sensor or the robot has moved during initialization).

  1. Calculating the adjustment value in the Callback Function

At regular intervals, the callback function reads the current gyro sensor value and compares it to the standard value to calculate the adjustment value. If the UseGyro variable is false, the robot it will not adjust itself. Thus, set the UseGyro variable to false where you do not wish to use the gyro adjustment.

Apply the calculated adjustment value to the joint offset and adjust the robot’s posture. To adjust the front/back tilt, you must use the joints in the knees and ankle, which are actuators 13-16. To adjust the left/right tilt, you must use the joints in the ankle and waist, which are actuators 9-10 and 17-18.

Adjustment Test

Custom Motions(Create)

Prerequisite : [Walking Machine]

Motions will be added to the motion file used in the “Walking Machine” section. Review the “Walking Machine” section before getting started.

Objective for this tutorial is to add a new motion using RoboPlus Motion.

Let’s learn how to add 4 motions below using the RoboPlus Motion program.

Motion Page No Movement Description Motion Page No Movement Description
14 Block ball on the right 27 Get up while lying on stomach
16 Block ball on the left 28 Get up while lying on back

Download Motion File(BIO_PRM_UserMotionExam_EN.mtn)

Make a motion to block a ball on the right

  1. Execute RoboPlus Motion, then connect it to the controller(Please refer to Connect Robot)

  1. To add the “Block Ball” motion in page 14, input a name and step.

  1. Turn off all motors, then set the robot’s pose. The “Block ball on the right” pose is shown below.

  1. Set the robot’s pose as above. When you press the “torque on” button, the robot’s current actuator values will automatically be saved. When you press the left arrow button, you can read the robot’s current input actuator values into Step’s Pose column.

  1. You can adjust the pause and play durations. (Please refer for more information about STEP STOP/PLAY)

  1. Designating the NEXT page as itself(14) will cause the robot to enter an infinite loop and maintain its pose. Also designate an EXIT page for the robot to smoothly transiton into when it exits the infinite loop.

  1. Make a motion to return to the standard position on the page designated as the Exit page (15). Add the following 3 steps and poses to page 15.

  1. Additional settings (Number of Repeats, Play Speed, etc)

You can also set the number of repeats, entire speed, etc. for each page.

Make a motion to block a ball on the left

Repeat STEP 1 to make a motion to block a ball on the left on pages 16 and 17.

Make motions to get up when the robot lying on its back and chest.

Add the following steps in motion page 27 and 28 to make a “Get up while lying on stomach” and “Get up while lying on back” motions.

Save

Use the Save(S) command to save your work in the robot or use Save As(A) to save as a .mtn file in your PC.

Custom Motions(Task Code)

Prerequisite : Adjustment using the Gyro Sensor, Custom Motions: Create

Code to execute user-defined motions will be added to the task code used in the Adjustment using the Gyro Sensor section. The motion file is from the Custom Motions: Create section. Review the two sections before getting started.

Write task code to execute user-defined motions.

Let’s learn how to run the motion added on “ User-defined Motions 1 : Create Motion “ with the RC-100.

Task Code Overview

Code to execute user-defined motions has been added to the task code written in “Adjusting using the Gyro Sensor.”

  1. Set WalkCommand as 0 to make the robot stop.
  2. If the motion added by the user does not require the gyro sensor to maintain posture, you must turn off the gyro sensor adjustment to prevent motion variation due to the offset. Set the UseGyro variable as FALSE. Then call the EXITPageWaitMotion function and wait for the robot to come to a complete stop.
  3. The Getting Up motions added in motion pages 27 and 28 can be played just once. Thus, execute the motion, and wait for the motion to finish before executing another motion.
  4. The Block Ball motions added in motion page 14 and 16 are endlessly repeating motions. Thus, in order to end the motion, an EXIT page is needed. Using the WAIT WHILE command so that if the button is not pressed and held, the EXITPageWaitMotion function will execute the EXIT to end the motion (For more information, please refer to the Motion Page).
  5. After the user’s motion ends, set the UseGyro variable back to TRUE to restore gyro adjustment.

Gripper Control

Prerequisite : Custom Motions: Create, Custom Motions: Task Code

Review the two sections before getting started.

Objective for this tutorial is to learn how to control the grippers regardless of the motions.

When you add a gripper to your robot, there is a need to keep the robot’s arm fixed regardless of the motion.

In this case, it is not necessary to revise the motions to keep the arm still. Instead, let’s learn to control the gripper using the task code, while preventing specific actuators from being controlled by the motion data.

Background Knowledge

Setting priorities to control the gripper and motions separately.

Assembly

Please refer to the [Gripper Assembly].

Writing Task Code

  1. Initializing Gripper Control

Set the joint offsets of the actuatorsfor both arms to 1024, so that they are not controlled by the motion data. Initialize the other data , such as the arms’ and grippers’ movement speeds, and gripper’s grasping power and flexibility, then place the arms in their default position.

  1. Revise Callback Function (Gyro Adjustment)

If the joint offset is used in the callback function to apply the gyro adjustment value, the joint offset should not be set for the joints used by the grippers. This is to prevent the values set as 1024 in STEP 1 from being changed.

  1. Gripper/Arm Control Function

Copy the following fuction to control the gripper and arm. This function can control the gripper’s and arm’s movements, regardless of the motion status.

Write a function for the left arm and gripper as above.

  1. Controlling the arm and gripper with a remote controller

Add code to control the gripper and arm using the remote controller. Reviewing [Custom Motions: Task Code] will help you understand the code below.

Download and Verify Result

Download

Default Program

Robot Type File Type Download
Assembly Manual PDF File Download
A Type Task Code Download
A Type Motion File Download
B Type Task Code Download
B Type Motion File Download
C Type Task Code Download
C Type Motion File Download

Humanoid Fight

Robot Type File Type Download
A Type Humanoid Fight Task Code Download
A Type Humanoid Fight Motion File Download

Walking

Buttons Motion Buttons Motion
U Move Forward D Move Backward
L Turn Left R Turn Right
U + L Move Forward and Turn Left U + R Move Forward and Turn Right
L + 5 Move Leftward L + 5 + 6 Move Leftward Quickly
L + U + 5 Move Forward and Leftward L + D + 5 Move Backward and Leftward
R + 5 Move Rightward R + 5 + 6 Move Rightward Quickly
R + U + 5 Move Forward and Rightward R + D + 5 Move Backward and Rightward

Attack

Buttons Motion Buttons Motion
1 + L Attack Diagonal Left 6 + 2 Strong Left Attack
1 + R Attack Diagonal Right 6 + 4 Strong Right Attack
2 + U Attack Front 6 + 1 Strong Front Attack
2 + L Attack Left 4 + U(4 + L) Grab 1
2 + R Attack Right 4 + D(4 + R) Grab 2
3 Attack Left and Right - -

ETC

Buttons Motion Buttons Motion
5+6+D+3 Torque Off 5+6+U+1 Torque On
1 + U Stand Up from face down 1 + D Stand Up from back down

Humanoid Soccer

Robot Type File Type Download
A Type Humanoid Soccer Task Code Download
A Type Humanoid Soccer Motion File Download

Walking

Buttons Motion Buttons Motion
U Move Forward D Move Backward
L Turn Left R Turn Right
U + L Move Forward and Turn Left U + R Move Forward and Turn Right
L + 5 Move Leftward L + 5 + 6 Move Leftward Quickly
L + U + 5 Move Forward and Leftward L + D + 5 Move Backward and Leftward
R + 5 Move Rightward R + 5 + 6 Move Rightward Quickly
R + U + 5 Move Forward and Rightward R + D + 5 Move Backward and Rightward

Offense

Buttons Motion Buttons Motion
2 + U Left Kick Forward 4 + U Right Kick Forward
2 + 6 + U Strong Left Kick Forward 4 + 6 + U Strong Right Kick Forward
2 + D Kick Backward 4 + D Kick Backward
2 + L Kick Left 4 + L Kick Left
2 + R Kick Right 4 + R Kick Right

Defense

Buttons Motion Buttons Motion
3 Prepare for Blocking 3 + L Block Left
3 + U Block Front 3 + R Block Right

ETC

Buttons Motion Buttons Motion
5+6+D+3 Torque Off 5+6+U+1 Torque On
1 + U Stand Up from face down 1 + D Stand Up from back down
1 + L Chest Beat 1 + R Cheer

Examples

Beginner

Examples Description
1. Crossing Gate
Ex_01
Download Assembly Manual
Download Task Code
Download Video
Devices CM-530(x1), AX-12+(x1)
DYNAMIXEL Setting AX-12+ ID[1]: Joint Mode
RoboPlus Language Function, Call, Load, Endless Loop, If, Wait While
Algorithm Control DYNAMIXEL’s position using the buttons on the CM-530
Operation Guide
- Press the U button on the CM-530 to open the bar.
- Press the D button on the CM-530 to lower the bar.
2. Universal Gauge
Ex_02
Download Assembly Manual
Download Task Code
Download Video
Devices CM-530(x1), AX-12+(x1)
DYNAMIXEL Setting: AX-12+ ID[1]: Joint Mode
RoboPlus Language Function, Call, Return, Load, Calculate, Endless Loop, If, Else if
Algorithm Control DYNAMIXEL’s speed using the buttons on the CM-530
Operation Guide
- Press the U button on the CM-530 to increase the gauge’s speed.
- Press the D button on the CM-530 to decrease the gauge’s speed.
3. Crocodile Mouth
Ex_03
Download Assembly Manual
Download Task Code
Download Video
Devices CM-530(x1), AX-12+(x1), IR Sensor(x1)
DYNAMIXEL Setting: AX-12+ ID[1]: Joint Mode
RoboPlus Language Function, Call, Load, Endless Loop, If, Else If, Wait While
Algorithm Control DYNAMIXEL position and Buzzer with the value from the IR Sensor and Timer
Operation Guide
- The mouth opens when the front sensor detects something, and close when nothing is detected.
- It will open its mouth when it detects something.
- A melody will activate if nothing is detected for 10 seconds.
4. Pan Tilt
Ex_04
Download Assembly Manual
Download Task Code
Download Video
Devices CM-530(x1), AX-12+(x2)
DYNAMIXEL Setting: AX-12+ ID[1, 2]: Joint Mode
RoboPlus Language Function, Call, Load, Calculate,Endless Loop,If, Else If, Wait While
Algorithm Control the Pan Tilt using the buttons on the CM-530
Operation Guide
- Press the U button on the CM-530 to move the tilt actuator (Up, Down) up.
- Press the D button on the CM-530 to move the tilt actuator (Up, Down) down.
- Press the R button on the CM-530 to turn the pan actuator (Sideways) right.
- Press the L button on the CM-530 to turn the pan actuator (Sideways) left.
5. Parking Gate
Ex_05
Download Assembly Manual
Download Task Code
Download Video
Devices CM-530(x1), AX-12+(x2), IR Sensor(x1)
DYNAMIXEL Setting: AX-12+ ID[1, 2]: Joint Mode
RoboPlus Language Function, Call, Load, Endless Loop, If, Else If, Wait While, Break Loop
Algorithm Control DYNAMIXEL’s position using the IR Sensor and DYNAMIXEL’s load value.
Operation Guide
- When an object is detected, the parking gate opens perpendicularly.
- When an object is detected and the bar is pushed, the parking gate opens horizontally.
- When an object is not detected, the parking gate closes.
6. Smart Car
Ex_06
Download Assembly Manual
Download Task Code
Download Video
Devices CM-530(x1), AX-12+(x4), IR sensor(x2)
DYNAMIXEL Setting: AX-12+ ID[1 ~ 4]: Wheel Mode
RoboPlus Language Function, Call, Load, Calculate, Jump, Lable, Endless Loop, If, Else If, Wait While
Algorithm Use the CM-530’s buttons to set the mode and use the buttons and sensor value to control the rotation direction.
Operation Guide
- Press the U button together with the START button on the CM-530 to change to CONTROL mode.
- Press the D button together with the START button on the CM-530 to change to FREE mode.
- When you press the L button in CONTROL mode, it moves forward. The R button moves backward, U button moves rights, and the D button moves left. A melody will play each time it moves.
- When front sensor detects an object in FREE mode, it will turn right. When the lower sensor detects something, it will avoid the edge and turn right.
7. Clapping Crab
Ex_07
Download Assembly Manual
Download Task Code
Download Video
Devices CM-530(x1), AX-12+(x2)
DYNAMIXEL Setting: AX-12+ ID[1, 2]: Joint Mode
RoboPlus Language Load, Calculate, Endless Loop, If, Wait While
Algorithm Control DYNAMIXEL position using the number of times the MIC detects a sound.
Operation Guide
- The robot will standby with its arm open.
- The robot the number of time it detects a sound.
8. Attacking Duck
Ex_08
Download Assembly Manual
Download Task Code
Download Video
Devices CM-530(x1), AX-12+(x3), IR Sensor(x2)
DYNAMIXEL Setting: AX-12+ ID[1, 2, 3]: Joint Mode
RoboPlus Language Function, Call, Load, Endless Loop, If, Loop While, Wait While
Algorithm Use the sensor detecting to control DYNAMIXEL’s
Operation Guide
- The robot moves sideways continuously and watches for objects.
- The robot follows the direction in which an object is detected then attacks when both sensors detect an object.
9. Distance Level Meter
Ex_09
Download Assembly Manual
Download Task Code
Download Video
Devices CM-530(x1), AX-12+(x1), DMS Sensor(x1)
DYNAMIXEL Setting: AX-12+ ID[1]: Joint Mode
RoboPlus Language Function, Call, Load, Calculate, Endless Loop
Algorithm Control DYNAMIXEL position using the distance detected by the sensor.
Operation Guide The bar moves depending on the distance detected by the sensor.
10. Line Tracer
Ex_10
Download Assembly Manual
Download Task Code
Download Video
Devices CM-530(x1), AX-12+(x2), IR Sensor(x2)
DYNAMIXEL Setting: AX-12+ ID[1, 2]: Wheel Mode
RoboPlus Language Function, Call, Load, Calculate, Endless Loop, If, Else If, Else, Wait While
Algorithm Control the line tracer using the sensor’s detection value.
Operation Guide The robot traces the black line.
11. Walking Droid
Ex_11
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(x1), AX-12+(x4), IR Sensor(x1)
DYNAMIXEL Setting: AX-12+ ID[1 ~ 4]: Joint Mode
RoboPlus Language Function, Call, Load, Endless Loop, If, Loop While, Wait While
Algorithm Control various motions using the IR Sensor’s value.
Operation Guide
- Place an object in the robot’s path and start your robot.
- Checks whether the robot avoids obstacles while walking.

Intermediate

Examples Description
1. Probing Robot
Ex_01
Download Assembly Manual
Download Task Code
Download Video
Devices CM-530(1), AX-12+(7),IR Sensor(1), DMS Sensor(1)
DYNAMIXEL Setting AX-12+ ID[1~4] : Wheel Mode, AX-12+ ID[5~7] : Joint Mode
RoboPlus Language Function, Call, Return, Load, Calculate, Endless Loop, If, Else, Wait While, Break Loop
Algorithm Object sensing and processing depending on IR Sensor’s and DMS Sensor’s value
Operation Guide
- Place objects of various sizes in the robot’s path, then turn the robot on.
- If the obstacle is too big, it will avoid it.
- If the obstacle is not too big, it will move it then proceed going its way.
2. Excavator
Ex_02
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1), AX-12+(8), IR Sensor(1), DMS Sensor(1)
DYNAMIXEL Setting AX-12+ ID[1~4] : Wheel Mode, AX-12+ ID[5~8] : Joint Mode
RoboPlus Language Function, Call, Load, Calculate, Endless Loop, If, Else, Wait While
Algorithm DYNAMIXEL Position control depending on IR Sensor’s and DMS Sensor’s value.
Operation Guide
- Place an object in the robot’s path, then turn the robot on.
- When an object is detected in front of it, it will begin excavating.
- If an object is detected while carrying an object, the robot will turn in that direction and put the object it was carrying down.
3. Robot Flower
Ex_03
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1)(Sound Detection), AX-12+(6)
DYNAMIXEL Setting AX-12+ ID[1~6] : Joint Mode
RoboPlus Language Function, Call, Load,Endless Loop, If, Else, Wait While
Algorithm Motion control depending on the number of time sound is detected.
Operation Guide
- When the power is turned on, the flower blooms and moves as though it is dancing.
- If one clap is detected, the petals will pucker up slowly.
- If several claps are detected, the petals will pucker up quickly.
4. Fawn
Ex_04
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1)(Sound Detection), AX-12+(7), IR Sensor(1)
DYNAMIXEL Setting AX-12+ ID[1~7] : Joint Mode
RoboPlus Language Function, Call, Load, Endless Loop, If, Else If, Else, Wait While
Algorithm Object sensing using IR Sensor’s value.
Operation Guide
- When no change is detected, the fawn sits down and looks around.
- If an object is detected in front of the face, the fawn will follow the object.
5. Turtle
Ex_05
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1), AX-12+(8), IR Sensor(2), DMS Sensor(1)
DYNAMIXEL Setting AX-12+ ID[1~8] : Joint Mode
RoboPlus Language Function, Call, Load, Endless Loop, If, Else If, Else, Wait While
Algorithm Avoids obstacles depending on the IR Sensor and DMS Sensor value.
Operation Guide
- Place an obstacle in the robots path and turn the robot on.
- The turtle avoids obstacles in front of it.
6. GerWalk
Ex_06
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1), AX-12+(7), IR Sensor(2), DMS Sensor(1)
DYNAMIXEL Setting AX-12+ ID[1~7] : Joint Mode
RoboPlus Language Function, Call, Load, Endless Loop, If, Else If, Else, Loop While
Algorithm Control the Bird’s walking pattern using the IR Sensor and DMS Sensor value.
Operation Guide
- Place an obstacle in the robots path and turn the gerwalk robot on.
- The robot avoids obstacles in front of it and on the sides.
7. Battle Droid
Ex_07
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1), AX-12+(8), IR Sensor(1)
DYNAMIXEL Setting AX-12+ ID[1~8] : Joint Mode
RoboPlus Language Variables, Function, Call, Load, Calculate, Endless Loop, If, Else If, Else, Wait While
Algorithm DYNAMIXEL control using the IR Sensor’s value
Operation Guide
- Place an obstacle in the robots path and turn the battle droid robot on.
- When the robot detects an object while walking, it will attack with both arms.
- When battle droid falls down, it will know which side it has fallen up and get up on its own.
8. Quadruped Robot
Ex_08
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1), AX-12+(8), IR Sensor(1), DMS Sensor(1)
DYNAMIXEL Setting AX-12+ ID[1~8] : Joint Mode
RoboPlus Language Function, Call, Load, Endless Loop, If, Wait While
Algorithm Control the walking using the IR Sensor and DMS Sensor value
Operation Guide
- Place an obstacle in the robots path and turn the quadruped robot on.
- The robot avoids obstacles in front of it.
9. Biped Walking Robot
Ex_09
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1), AX-12+(8), IR Sensor(1), DMS Sensor(1)
DYNAMIXEL Setting AX-12+ ID[11~18] : Joint Mode
RoboPlus Language Function, Call, Load, Endless Loop, If, Else If, Else, Wait While, Loop While
Algorithm Control the walking using the IR Sensor and DMS Sensor value
Operation Guide
- Place an obstacle in the robots path and turn the robot on.
- The robot avoids obstacles in front of it and on the sides.
10. Robot Arm
Ex_10
Download Assembly Manual
Download Task Code
Download Video
Devices CM-530(1), AX-12+(8)
DYNAMIXEL Setting AX-12+ ID[1~8] : Joint Mode
RoboPlus Language Function, Call, Load, Calculate, Endless Loop, If, Else, Loop While
Algorithm DYNAMIXEL Communication for Position Value
Operation Guide Check whether the responding motor reacts to the control motor’s movement.

Advanced

Examples Description
1. Dinosaur
Ex_01
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1), AX-12+(15), IR Sensor(1)
DYNAMIXEL Setting AX-12+ ID[1~15] : Joint Mode
RoboPlus Language Function, Call, Load, Lable, Jump, If, Else If, Else, Wait While
Algorithm Object detection and motion control using IR Sensor value.
Operation Guide
- Place an obstacle in the robots path and turn the dinosaur robot on.
- The dinosaur robot attacks.
- When the obstacle disappears, it continues walking.
- When nothing is detected for a while, it will sleep.
2. Puppy
Ex_02
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1)(Sound Detection, Timer), AX-12+(17), IR Sensor(1)
DYNAMIXEL Setting AX-12+ ID[1~17] : Joint Mode
RoboPlus Language Function, Call, Load, Lable, Jump, If, Else If, Wait While
Algorithm Motion control depending on the sound detection of the IR Sensor and Timer.
Operation Guide
- Place an obstacle in the robots path and turn the puppy robot on.
- When a sound is detected, it will walk avoiding obstacles.
- If you touch its mouth, it will do cute things.
- It will do different things depending on the number of claps.
- When nothing is detected for a while, it will sleep.
3. King Spider
Ex_03
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1)(Timer), AX-12+(18), IR Sensor(2)
DYNAMIXEL Setting AX-12+ ID[1~18] : Joint Mode
RoboPlus Language Function, Call, Load, Lable, Jump, If, Wait While
Algorithm Application motion control depending on the sound detection of the IR Sensor and Timer.
Operation Guide
- When it detects an object while walking, it will avoid it.
- It will attack when something is detected near the front.
- When an object is detected above it, it will crumple up its body.
- When nothing is detected for a while, it will sleep.
4. Scorpion
Ex_04
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1)(Sound detection), AX-12+(18), DMS Sensor(1)
DYNAMIXEL Setting AX-12+ ID[1~18] : Joint Mode
RoboPlus Language Function, Call, Load, Lable, Jump, If, Else If, Loop For, Wait While
Algorithm Application motion control depending on the number of sounds detected and DMS Sensor value.
Operation Guide
- The robot sleeps when you first turn it on.
- The robot will awake when you clap.
- If you clap twice when the robot is awake, it will run away.
- The closer your hand gets to the sensor, the tail will rise to threaten you.
- If you get too close, it will attack.
5. Lizard
Ex_05
Download Assembly Manual
Download Task Code
Download Motion File
Download Video
Devices CM-530(1), AX-12+(14), IR Sensor(1),DMS Sensor(1)
DYNAMIXEL Setting AX-12+ ID[1~14] : Joint Mode
RoboPlus Language Function, Call, Load, Calculate, Endless Loop, If, Else If, Else, Wait While
Algorithm Obstacle avoidance motion control using the IR Sensor and DMS Sensor value.
Operation Guide
- It will being crawling once turned on, and will stop when it detects an object then avoid it.
- When the tail is caught, it will try to escape.

References

Replacing Fuse

The fuse in the CM-510/CM-530 prevents it from overloading,which can damage the circuit.

If the CM-510/CM-530 does not turn on with the battery but turns on when connected to the SMPS, replace your fuse.

※ The size of the fuse is shown below. Use a 125V/5A~10A fuse.

※ How to replace the fuse

  1. Find the fuse on the back of the CM-510/CM-530.

  2. Use a pincette to replace the fuse with a new one.

DYNAMIXEL Management

DYNAMIXEL used as robot actuators possess many functions. This section explains how to change the dynamixel’s settings.

Changing the ID

  1. Select the port the controller is connected to.
  2. Click “Connect”.

    DXL_Management_01

  3. A list of connected dynamixels is shown on the left. Click on the dynamixel you wish to change the ID of.
  4. Click on the ID row in the Control Table.
  5. Click on the ID List combo box to see a list of possible ID’s. Select the ID, then click Apply.

    DXL_Management_02

Changing the Movement Mode

The dynamixel can operate in 2 different modes.

The mode can be changed using RoboPlus Manager. Once the mode is set, it will be maintained, even when turned off.

  1. Select the port the controller is connected to.
  2. Click “Connect”.

    DXL_Management_03

  3. A list of connected DYNAMIXEL is shown on the left. Click on the DYNAMIXEL you wish to change the mode of. Then, click on the CW/CCW Angle Limit line in the Control Table.
  4. To set to Wheel Mode, change the CW/CCW Angle Limit value to “0.” Or, simply click on the “Wheel Mode” button.

    DXL_Management_04

  5. To set to Joint Mode again, set the CW/CCW Angle Limit value to any number other than “0”. The initial values for Joint Mode are “0” for CW Angle Limit, and “1023” for CCW Angle Limit.

Troubleshooting

If you cannot find the dynamixel you are looking for using RoboPlus Manager, try the following :

  1. Connect just 1 DYNAMIXEL and check if there are any duplicate IDs. If you see a DYNAMIXEL on the left even though only 1 DYNAMIXEL is connected, there is a high probability of a duplicate ID. Change the ID immediately.
  2. If you are unable to find any DYNAMIXEL as in the image below, click on “DYNAMIXEL Search”. If the communication speed is not set to 1Mbps, the “DYNAMIXEL Search” function automatically resets the controller’s communication speed to 1Mbps to enable it to be recognized.

DXL_Management_05

If the problem persists, your dynamixel may need repair. Please contact the service department of the company you purchased from.

ZIGBee Wireless Control

ZIGBee

Zig-100/110

ZIG-100/110 uses ZIGBee for wireless communication. ZIGBee, like Bluetooth, is the communication technology commonly used in Personal Area Network (PAN). The communication quality of ZIGBee is better than that of IR, so it allows many users to control their robots without interferences.

CAUTION : Please note that not all products include a zigbee module and may need to be purchased separately.

Controller & ZIGBee

OLLO and Bioloid both use the RC-100, which uses IR communication method. To upgrade to the Zigbee communication method, you must purchase the ZIG-110 set separately. The ZIG-110 set includes one Zig-100 module, which is attached to the RC-100, and one Zig-110 module which is attached to the Controller.

NOTE : The modules in a single Zigbee set have been preconfigured to communicate with each other. Therefore, a module from one set may not work with a module from another set. Please be careful not to mix them up.

ZIG-100 installed in RC-100 ZIG-110 installed in CM-100
Zig-100_RC-100 Zig-110_CM-100
ZIG-110 installed in CM-510 ZIG-100 installed in CM-5
Zig-110_CM-510 Zig-100_CM-5

Control Multiple Robots

This method is to give out commands at once to several robots being used for dance or demonstration Gives out commands to the robot at once using the zigbee module’s broadcast mode

Bioloid(Entry/Advanced)

  1. To use the CM-5, connect the controller and ZIG-100 module together.
  2. Use the RoboPlus Manager to set the wireless ID of ZIG-100 module on the opposite party’s robot to 65535.
  3. No need to set the broadcast channel for communication.
  4. Use the RC-100 to give commands directly or use the Zig2Serial to give commands using the PC.
Device Channel Default Value Whether or not the channel can be changed
CM-5 1 Unchangeable
Zig2Serial 1 Changeable
RC-100 1 Changeable

The channel for the ZIG-100 mounted on the CM-5 is unchangeable. Thus, all users must set their channel to #1 for broadcast communication. All channels for the devises must pair to communicate.

Bioloid Premium Kit

  1. When using the CM-510, connect the ZIG-100 module with the controller.
  2. Use the RoboPlus Manager to change the opposite party’s wireless ID to 65535.
  3. The channel on the ZIG-110 connected to the controller it set to #4, so the channels on the Zig2Serial and RC-100 must be set to #4.
  4. How to change the RC-100 channel
  5. How to change the Zig2Serial channel
Device Channel Default Value Whether or not the channel can be changed
CM-510
CM530
4 Unchangeable
Zig2Serial 1 Changeable
RC-100 1 Changeable

The channel for the zigbee connected to the controller is not changeable. Thus, all users must set their channel to #4 for broadcast communicationAll channels for the devises must pair to communicate.

Customizing Robot

Use the semi-transparent skins provided only in the Premium Kit to make your humanoid unique.

Customizing your semi-transparent skins

Samples of customized chest skins

Samples of customized head skins

Samples of robots with customized skins

Adding Sensors

With the Bioloid Premium Kit, you can connect additional IR Sensor and Touch Sensor to the CM-530. For more information on each sensors, please click on the names of the sensors.

IR Sensor

More information

Touch Sensor

More information

Make Your Own Sensor

You can make your own sensor with simple control functions using the ADC port and OUT port on CM-510/CM-530.

CAUTION : Connecting poorly designed circuits may damage the controller. Please be sure to acquire sufficient knowledge about circuits beforehand.

PIN Information

NOTE : Please use the 5P Cable when using other sensors. The 5P cable can be purchased from ROBOTIS.

Controlling User’s Device

External Output Control

Below is an example of an LED circuit to turn the LED on and off using the OUT port (Pin 1). You need to adjust the amound of resistance depending on the type of controller and/or the type of LED.

A high signal can be sent to the OUT port using RoboPlus Task.

  1. Select the user’s device in the writable parameter such as LOAD and CALCULATE, then select the port on which the device is connected.
  2. Then, set the high signal to the readable parameter using a constant.

When the code above is executed, high signal will be sent to the OUT port of the device connected to PORT 3, and the LED will turn on.

Reading the ADC Value

Most of the sensors used in robots, such as IR sensors and distance sensors, support analog output. The CM-510/CM-530 can use its external ports to read the sensor’s analog output signals. These sensors may be designed by the user or bought from a store.

Gripper Assembly

Materials

There are 2 spare AX-12+’s when assembling a humanoid Type B or Type C using the Bioloid Premium Kit. You can use these spare parts to make a gripper to your humanoid. Below are the parts required to make a gripper.

Making a gripper

The image above shows how to make a gripper using frames and an AX-12+. Make two of these if you want to attach a gripper on both hands.

Attaching Grippers

By making a robot with grippers, you can expand the things you can do with the robot. For more information on controlling the gripper robot, please refer to gripper control. Below is an image of a Type B humanoid with a grippers. AX-12+ #9 was used for the right gripper and AX-12+ #10 was used for the left.