Introduction
- Excellent walking humanoid (Self-Adjusts posture while walking)
- Various sensors including Gyro, Distance, and IR
- Remote control capability (IR-default, Bluetooth-optional)
- C-style programming & motion teaching with RoboPlus S/W (USB interface included)
- Semi-transparent humanoid skin for customization
- Digital packet communication with daisy chain topology
- Build various robots through versatile expansion mechanism
Getting Started
Part List
Operating
Downloading the Program
- Program for type A is installed by default in CM-530.
- You can find task codes and motion files for other actions on the Default Program page.
Turning the Robot on
- Turn the power switch on and the LED will start blinking.
- Use the MODE button to move the LED to “PLAY”. (The LED will move each time you press the MODE button)
- 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.
- Is the battery properly connected?
- Is the battery fully charged?
- Is the battery fuse intact?
- Please refer Fuse Replacement for information on how to replace the fuse.
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.
- The alarm indicates that the robot is low on batteries. Immediately recharge your battery(Refer to Charge).
- If you do not replace the battery right away, the robot may turn off without warning and fall, which can cause severe damage.
Checking the robot’s basic posture (To check whether the robot has been assembled correctly)
- The robot should stand in the basic stance and play a melody according to its type as in the picture below.
- Make sure to hold the robot in its basic posture for 1 minute.
This is to allow the robot to automatically configure its gyro sensors so that it can walk properly.
- Check the angles of the arms and legs. If they are different from the picture, go back to “Check Assembly Mode”
- Check whether the cables have been assembled on the outer part of the leg.
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.
- Awkward Basic Posture?
Go back to “Check Assembly Mode” and re-check whether all the dynamixels have been properly assembled.
- Unable to detect obstacles while in Free Walk Mode?
Check whether the absolute distance measurement sensor’s cables are properly in place.
The robot falls down easily while walking or is otherwise unstable.
- The gyro sensor used to detect the robot’s posture is not working
Please refer to the Assembly Manual to check whether the gyro sensor has been properly assembled.
The torque is released and the dynamixel’s LED turns on after a warning sound.
- If the motor and frames have not been properly assembled or if the robot’s joints can not move properly, a warning sound will be activated to prevent damage.
Find the motor indicated by the LED and refer to the Assembly Manual to check whether it has been assembled correctly.
Make sure that the joints are free of cables or other debris. Please refer to “Check Assembly Mode”
The robot type and melody do not match.
- Check whether the motors with ID 7 ~ 10 are assembled properly. Check for loose connections
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
R
: Remote Control ModeD
: Demo ModeL
: Autonomous Walking ModeU
: Check Assembly Mode
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.
- Press the POWER/MODE button for 2 seconds.
- 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 |
- If the robot does not receive commends for a period of time, it will standby in a seated position.
When being controlled | Seated in a standby position |
My remote controller does not work properly.
- Set to control mode.
- Check whether the IR receiver has been properly connected.
- Check whether the remote controller is on. Replace the battery and try again. Point towards the IR receiver and try again. Check if there are others controlling robots nearby, which may cause wireless interferences.
We want to play soccer or battle with several robots.
- In order to play a game with several users, you must install the ZIG-110 set.
- ZIG-110 set is available at the Robotis shopping mall.
- Please refer to Controller and RC-100 for installation information.
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.
- Start the Check Assembly Mode. It will release the torque.
- 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 )
- 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.
- 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.
-
Take the battery out
-
Connect the charger
-
Charge
Charging(Red LED), Complete(Green LED)
-
You can connect the robot to an external power source through SMPS.
-
The battery is equipped with a connector to charge the battery and another to move the robot
Charging Time and Battery Life/Operating
Charging Time
- When fully discharged : 1~1.5 hour
- Leaving the battery fully discharged for too long may reduce its lifespan drastically.
- Time to charge the battery depends on the status of the battery(If the charging time or battery life becomes too short, you may need to replace your battery).
Caution
- Do NOT keep the battery connected with a robot or a charger.
- If you will not use the battery for a long time from now on, please keep it HALF-CHARGED.
- 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.
Write Task Code
-
Execute RoboPlus Task Program.
As seen in the picture below, go to
Start > All Programs > ROBOTIS > RoboPlus > Software > RoboPlus Task
to execute RoboPlus Task.- RoboPlus Task Initial Screen
-
Select a Controller.
Double click an empty line or press
Enter
, In theSelect Control
window, select the controller to use, then press theOK
button. -
Generating
Start Program
.Select
Start Program
from theSelect Instruction Type
window,Start Program
will be automatically generated in RoboPlus Task. -
Input
Endless Loop
commandTo print the numbers on the screen endlessly, use the
Endless Loop
command(Create a command line). Double click or pressEnter
on an empty line between{
and}
of Start Program to invoke theSelect Instruction Type
window. SelectLoop > Endless Loop(while(1))
from the list. -
Input
Load
commandUse
Load
command to input aPrint
command, which is needed to print numbers on the screen. InsertExecute > Load (Assignment value)
into an empty line between{
and}
ofEndless Loop
. -
Load
1
intoPrint
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 pressEnter
key after clicking it once to invoke theSelect Parameter Window
. SelectController > Print
then pressOK
.Select
Constant Numbers > Number > 1
for the right parameter ( ? ) in the same way.When both parameters of the
Load
command have been set, it should look like below. -
Load
2
intoPrint with Line
Select
}
underPrint
command (at the end of the endless loop section), and add new lines by pressing theSpace
key. Repeat Steps 5 and 6 to input theLoad
command and to inputController > Print with Line
and2
. The final task code is shown below. -
Save Task Code
Press Ctrl + S or the Save icon.
Download Task Code
Download the task code created above.(How to Download Task Code)
Execute Task Code
-
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
- Click on the
View Print of Program
button in TOOLS. - Press
F5
or click on View Print of Program (V) menu under Program (P).
-
-
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.
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
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.
- First, call the
InitializationWalk
function to initialize the variable and to bring the robot to its default position. - Select and input a walking pattern between 0 and 16 for the
WalkCommand
variable, then call theWalkExecute
function to run the selected walking pattern. - When you input a different number in the
WalkCommand
variable and call theWalkExecute
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
- Prerequisite : Walking Machine
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
- The gyro sensor’s X-axis value should be connected to port #3, and Y-axis value should be connected to port #4.
- Other than that, modify the task code to suit your robot.
Concept
-
A humanoid with a gyro uses the Callback Function to determin the posture adjustment value. The callback function is a function that runs independently of the main program routine and is automatically executed at fixed intervals. Therefore, by calculating the adjustment value and using the value in a callback function to adjust the posture at regular intervals, the robot can adjust its posture automatically.
-
The joint off set is added to the adjustment value from the gyro sensor before being used to adjust the humanoid’s posture. (More information on Joint Offset) This is a parameter that gives an offset to the specific actuator’s joint position value. Thus, the actuator with joint offset execute their motions using the position value + joint offset value, which are designated in the motion file.
Task Code Overview
InitializationGyro
Call Function
- 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.
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).
- 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
- Download the task code to your robot(How to Download Task Code).
- In order to initialize the gyro, you must leave your robot on flat ground for at least 1.5 seconds after executing the task code. If the gyro sensor is not connected or if there is movement while initializing the gyro, the gyro will not make any adjustments.
- Check whether the robot attempts to adjust itself when its posture is changed by a strong outside force while standing straight.
- Compare the robot’s actions when it uses and does not use a gyro while stanind on a slope.
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
- Execute RoboPlus Motion, then connect it to the controller(Please refer to Connect Robot)
- To add the “Block Ball” motion in page 14, input a name and step.
- Turn off all motors, then set the robot’s pose. The “Block ball on the right” pose is shown below.
- 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.
- You can adjust the pause and play durations. (Please refer for more information about STEP STOP/PLAY)
- 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.
- 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.
- 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.
-
Get up while lying on the stomach
-
Get up while lying on the back
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.
- Download Motion File(BIO_PRM_UserMotionExam_KR.mtn)
- Download TASK Code(BIO_PRM_UserMotionExam_KR.tsk)
Task Code Overview
Code to execute user-defined motions has been added to the task code written in “Adjusting using the Gyro Sensor.”
- Set
WalkCommand
as 0 to make the robot stop. - 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 theEXITPageWaitMotion
function and wait for the robot to come to a complete stop. - 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. - 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 theWAIT WHILE
command so that if the button is not pressed and held, theEXITPageWaitMotion
function will execute the EXIT to end the motion (For more information, please refer to the Motion Page). - 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.
-
Normal Control Priorities
Normally, motion data has the highest priority and task code has the next highest priority. Thus, under normal circumstances, if a motion is executed, it is impossible to control specific dyanmixels using task code.
-
Changing Control Priorities
There are 2 methods to control the motor (entire arm including the gripper) with a task code while a motion is being executed.
- Uncheck the “Using Now/Not Using” checkbox for the acutator’s ID in the motion data.
- Set the actuator’s “Joint Offset” parameter to 1024.
The first method disables the actuator in the entire page. Even If there is a motion requiring the corresponding actuator, there is no way to control it with the motion data. Therefore, the second method, which allows you to activate /deactivate the application of the motion data for the specific actuator depending on your needs, may be the better option.
Assembly
Please refer to the [Gripper Assembly].
Writing Task Code
- 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.
- 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.
- 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.
- 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 the task code written in STEP 2 (How to Download of task code).
- While controlling the robot’s motion with the remote controller, check whether the gripper and arm are fixed.
- Control the gripper with the remote controller.
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 |
Download Assembly Manual Download Task Code Download Video Devices CM-530(x1), AX-12+(x1)DYNAMIXEL Setting AX-12+ ID[1]: Joint ModeRoboPlus Language Function, Call, Load, Endless Loop, If, Wait WhileAlgorithm Control DYNAMIXEL’s position using the buttons on the CM-530Operation 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 |
Download Assembly Manual Download Task Code Download Video Devices CM-530(x1), AX-12+(x1)DYNAMIXEL Setting : AX-12+ ID[1]: Joint ModeRoboPlus Language Function, Call, Return, Load, Calculate, Endless Loop, If, Else ifAlgorithm Control DYNAMIXEL’s speed using the buttons on the CM-530Operation 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 |
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 ModeRoboPlus Language Function, Call, Load, Endless Loop, If, Else If, Wait WhileAlgorithm Control DYNAMIXEL position and Buzzer with the value from the IR Sensor and TimerOperation 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 |
Download Assembly Manual Download Task Code Download Video Devices CM-530(x1), AX-12+(x2)DYNAMIXEL Setting : AX-12+ ID[1, 2]: Joint ModeRoboPlus Language Function, Call, Load, Calculate,Endless Loop,If, Else If, Wait WhileAlgorithm Control the Pan Tilt using the buttons on the CM-530Operation 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 |
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 ModeRoboPlus Language Function, Call, Load, Endless Loop, If, Else If, Wait While, Break LoopAlgorithm 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 |
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 ModeRoboPlus Language Function, Call, Load, Calculate, Jump, Lable, Endless Loop, If, Else If, Wait WhileAlgorithm 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 |
Download Assembly Manual Download Task Code Download Video Devices CM-530(x1), AX-12+(x2)DYNAMIXEL Setting : AX-12+ ID[1, 2]: Joint ModeRoboPlus Language Load, Calculate, Endless Loop, If, Wait WhileAlgorithm 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 |
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 ModeRoboPlus Language Function, Call, Load, Endless Loop, If, Loop While, Wait WhileAlgorithm Use the sensor detecting to control DYNAMIXEL’sOperation 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 |
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 ModeRoboPlus Language Function, Call, Load, Calculate, Endless LoopAlgorithm 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 |
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 ModeRoboPlus Language Function, Call, Load, Calculate, Endless Loop, If, Else If, Else, Wait WhileAlgorithm Control the line tracer using the sensor’s detection value.Operation Guide The robot traces the black line. |
11. Walking Droid |
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 ModeRoboPlus Language Function, Call, Load, Endless Loop, If, Loop While, Wait WhileAlgorithm 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 |
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 ModeRoboPlus Language Function, Call, Return, Load, Calculate, Endless Loop, If, Else, Wait While, Break LoopAlgorithm Object sensing and processing depending on IR Sensor’s and DMS Sensor’s valueOperation 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 |
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 ModeRoboPlus Language Function, Call, Load, Calculate, Endless Loop, If, Else, Wait WhileAlgorithm 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 |
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 ModeRoboPlus Language Function, Call, Load,Endless Loop, If, Else, Wait WhileAlgorithm 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 |
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 ModeRoboPlus Language Function, Call, Load, Endless Loop, If, Else If, Else, Wait WhileAlgorithm 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 |
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 ModeRoboPlus Language Function, Call, Load, Endless Loop, If, Else If, Else, Wait WhileAlgorithm 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 |
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 ModeRoboPlus Language Function, Call, Load, Endless Loop, If, Else If, Else, Loop WhileAlgorithm 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 |
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 ModeRoboPlus Language Variables, Function, Call, Load, Calculate, Endless Loop, If, Else If, Else, Wait WhileAlgorithm DYNAMIXEL control using the IR Sensor’s valueOperation 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 |
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 ModeRoboPlus Language Function, Call, Load, Endless Loop, If, Wait WhileAlgorithm Control the walking using the IR Sensor and DMS Sensor valueOperation 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 |
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 ModeRoboPlus Language Function, Call, Load, Endless Loop, If, Else If, Else, Wait While, Loop WhileAlgorithm Control the walking using the IR Sensor and DMS Sensor valueOperation 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 |
Download Assembly Manual Download Task Code Download Video Devices CM-530(1), AX-12+(8)DYNAMIXEL Setting AX-12+ ID[1~8] : Joint ModeRoboPlus Language Function, Call, Load, Calculate, Endless Loop, If, Else, Loop WhileAlgorithm DYNAMIXEL Communication for Position ValueOperation Guide Check whether the responding motor reacts to the control motor’s movement. |
Advanced
Examples | Description |
---|---|
1. Dinosaur |
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 ModeRoboPlus Language Function, Call, Load, Lable, Jump, If, Else If, Else, Wait WhileAlgorithm 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 |
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 ModeRoboPlus Language Function, Call, Load, Lable, Jump, If, Else If, Wait WhileAlgorithm 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 |
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 ModeRoboPlus Language Function, Call, Load, Lable, Jump, If, Wait WhileAlgorithm 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 |
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 ModeRoboPlus Language Function, Call, Load, Lable, Jump, If, Else If, Loop For, Wait WhileAlgorithm 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 |
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 ModeRoboPlus Language Function, Call, Load, Calculate, Endless Loop, If, Else If, Else, Wait WhileAlgorithm 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
-
Find the fuse on the back of the CM-510/CM-530.
-
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
- Select the port the controller is connected to.
-
Click “Connect”.
- A list of connected dynamixels is shown on the left. Click on the dynamixel you wish to change the ID of.
- Click on the ID row in the Control Table.
-
Click on the ID List combo box to see a list of possible ID’s. Select the ID, then click Apply.
- To use in RoboPlus Motion and RoboPlus Task, the ID must be within the following ranges.
- The DYNAMIXEL’s ID must be between 0 and 25.
- The ID for AX-S1 should be set between 100 and 109.
Changing the Movement Mode
The dynamixel can operate in 2 different modes.
- Wheel Mode : Rotates 360 degrees like a regular motor.
- Joint Mode : Moves at a set angle with normal servo motors.
The mode can be changed using RoboPlus Manager. Once the mode is set, it will be maintained, even when turned off.
- Select the port the controller is connected to.
-
Click “Connect”.
- 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.
-
To set to Wheel Mode, change the CW/CCW Angle Limit value to “0.” Or, simply click on the “Wheel Mode” button.
- 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 :
- 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.
- 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.
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 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-110 installed in CM-510 | ZIG-100 installed in 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)
-
Communication with the Zig2Serial and various robots
-
Communication with the RC-100 and various robots
- To use the CM-5, connect the controller and ZIG-100 module together.
- Use the RoboPlus Manager to set the wireless ID of ZIG-100 module on the opposite party’s robot to 65535.
- No need to set the broadcast channel for communication.
- 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
-
Communication with the Zig2Serial and various robots
-
Communication with the RC-100 and various robots
- When using the CM-510, connect the ZIG-100 module with the controller.
- Use the RoboPlus Manager to change the opposite party’s wireless ID to 65535.
- 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.
- How to change the RC-100 channel
- 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
- IR Sensor Applications
- The IR sensor can detects objects in front of the robot.
- It can also be used to detect object on the side when walking or moving.
Touch Sensor
- Touch Sensor Applications
- The touch sensor enables the robot to feel when it has been touched.
- For example, the sensor can be used to make the robot react to certain touches.
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
- Below is a pin diagram of CM-510’s external port.
- OUT : 5V Output
- VCC (5V)
- ADC : Can read analog signals made by users.
- GND
- NC : Not used
- Below is a pin diagram of CM-530’s external port.
- OUT1 : 3.3V Output (Maximum Allowed Current 0.3A)
- VCC (5V)
- ADC : Can read analog signals made by users.
- GND
- OUT2 : 3.3V Output (Maximum Allowed Current 0.3A)
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.
- Select the user’s device in the writable parameter such as LOAD and CALCULATE, then select the port on which the device is connected.
- 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.
- Below is an image of a tilt sensor. When the sensor is tilted, it prints the tilted value as the analog singal.
- The left pin of the tilt sensor is 5V VCC. The center is an analog signal output pin, and the right pin is GND. This sensor can be used by connecting its pins to the corresponding pins on CM-530’s/CM-510’s external port. To try for yourself, please refer to the pin information for CM-530’s/CM-510’s external ports.
- You can incorporate the sensor’s analog output to your robot’s movements as in the example below.
Gripper Assembly
- Users can add grippers to humanoid robots to fit their needs.
- Grippers are useful when holding or throwing things.
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.