Skip to main content

Quick Start

Power On

The following instructions will walk you through the OP3 set up process.

warning

WARNING : Powering on the ROBOTIS OP3 in a position other than the pose shown above may cause mechanical damage when entering the initial stance on startup.

Connect the AC plug of the power adapter to a power outlet and plug the DC connector into the ROBOTIS OP3’s DC jack. The DC jack is located on the back panel of the ROBOTIS OP3.

The ROBOTIS OP3 can be powered either from a DC power supply, or an onboard battery pack. If you would like to power your OP3 using an onboard battery, follow the procedure below:

  1. Ensure the battery pack is fully charged.
  2. Open the battery compartment door (unscrew the thumbscrew) and insert the battery pack.
  3. Connect the battery cable to the battery power jack.
  4. Close and secure the compartment door (screw the thumbscrew) afterwards.
  5. Disconnect DC power supply.
warning

WARRNING : Please turn off the power switch before connecting any power source (battery or SMPS) to the product.

warning

WARNING : Make sure the OpenCR is switched off when connecting a power source.

Pushing the power switch to the right will power up the ROBOTIS OP3 (to the right : power on, to the left : power off)

Once Power is switched on, the following startup procedure will be sequentially executed.

Execute Demo Program

Running Demonstration Programs

ROBOTIS OP3 is loaded with the following pre-configured demonstration modes:

  1. Demonstration-Ready Mode
  2. Autonomous Soccer Mode
  3. Vision Processing Mode
  4. Interactive Motion Mode

Demonstration-Ready mode is the default mode when the ROBOTIS OP3 is turned on.

Press the MODE button to change the active the mode.
ROBOTIS OP3 will verbally announce the selected mode when pressing the button.
The indicator LED will also change its color to the corresponding operation mode.

Press the START button to run the selected mode.
After pressing START, the ROBOTIS OP3 will stand up and begin operation.

warning

RESET Button The RESET button only resets connected DYNAMIXEL actuators and the OpenCR sub-controller, not the entire system. Please keep in mind that the demo program is still running in the main controller when the RESET button is pressed.
Pressing RESET will disable torque on all actuators. It is highly recommended to set the ROBOTIS OP3 in a kneeling or sitting pose before pressing RESET or hold the ROBOTIS OP3 using its carrying handle.

Demonstration Ready Mode

The Demonstration-Ready mode the default mode when ROBOTIS OP3 is turned on. LED 1 (red), LED 2 (green) and LED 3 (blue) will be lit.
The chest LED will switch the color from red to green while ROBOTIS OP3 verbally announces "Demonstration-ready mode".
Now ROBOTIS OP3 is ready for action!
ROBOTIS OP3 stays in kneeling pose and does not move while in this mode.
This is the most recommended mode when changing the power source or otherwise handling the OP3.

Autonomous Soccer Mode

ROBOTIS OP3 follows and kicks a red ball (ball color is user configurable) and plays soccer by itself.
If the ROBOTIS OP3 falls down (either on its back or belly) it will stand up and resume ball tracking, then continue pursuit.

  • Start Autonomous Soccer Mode

    1. Press the MODE button until LED1 (red) is lit.
      ROBOTIS OP3 will verbally announce “Autonomous soccer mode”.

    2. Press the START button to begin.
      ROBOTIS OP3 will stand up and walk around to find the ball, and verbally announce “Start soccer demonstration”

    3. When ROBOTIS OP3 sees a ball with a matching color, it will walk toward the ball.
      If ROBOTIS OP3 gets close enough to the ball, ROBOTIS OP3 will kick the ball with one of its feet.
      If ROBOTIS OP3 falls down during pursuit or kick, it will stand up and resume.

  • Stop Autonomous Soccer Mode

    • Press MODE button until LED 3(blue) is lit. ROBOTIS OP3 will verbally announce “Interactive motion mode”.

Interactive Motion Mode

ROBOTIS OP3 performs pre-programmed motions sequentially while talking.

  • Start Interactive Motion Mode

    1. Press the MODE button until LED 3 (blue) is lit. ROBOTIS OP3 will verbally announce “Interactive motion mode”.

    2. Press the START button to begin. ROBOTIS OP3 will stand up and announce “Start motion demonstration”.

    3. The ROBOTIS OP3 will perform the following actions sequentially.

  • Stop Interactive Motion Mode

    • If the MODE button is pressed for at least 2 seconds, ROBOTIS-OP3 will return to demonstration-ready mode.

Vision Processing Mode

The new vision processing demo for ROBOTIS OP3 is “Face detection and tracking”. Please refer the below website links for further information on the upstream sources for the libraries used.

[https://github.com/ROBOTIS-GIT/ROBOTIS-OP3-ETC]

face detection forked from https://github.com/phil333/face_detection
usb_cam forked from https://github.com/ros-drivers/usb_cam

  • Start Vision Processing Mode

    1. Press the MODE button until LED 2 (green) is lit. ROBOTIS OP3 will verbally announce “Vision processing mode”.

    2. Press the START button to begin. ROBOTIS OP3 will verbally announce “Start vision processing demonstration” and stand up.

    3. The target face should be located approximately 90cm (36”) away from ROBOTIS OP3.
      If ROBOTIS OP3 detects the target face, the chest LED will illuminate white whereas the LED will be off if no face is detected.
      ROBOTIS OP3 will keep track of the first recognized target face.

  • Stop Vision Processing Mode

    • If the MODE button is pressed for at least 2 seconds, ROBOTIS-OP3 will return to Demonstration-Ready mode.
  • ETC

Camera Calibration

If ambient light surrounding the ROBOTIS OP3 is either too dim or too bright, you can adjust camera settings to optimize the acquired image from the camera and improve vision performance.
The color of the target ball for the soccer demo can also be modified using these settings.
Please refer to the ROBOTIS OP3 Camera Setting page for more information.

Power Off

Please perform the following procedure in order to in order to safely shutdown the computer inside ROBOTIS OP3.

  1. Press PC power button which is located on the belly. ROBOTIS OP3 will verbally announce “bye-bye” and initiate shutdown process.

    When the internal computer of ROBOTIS OP3 is turned off, blue LED in the chest will turn off.
    After the blue LED is turned off, shutdown the main power with the switch on the back of the robot.

  2. If ROBOTIS OP3 does not announce “bye-bye” then you may need to force shutdown by holding the power button until the blue LED in the chest turns off.

info

NOTE : If the power supply is cut off before the blue LED is turned off, ROBOTIS OP3 may have problems on the next startup.

Programming Guide

Connect to OP3

From your computer go to Wi-Fi Settings and set it to obtain an IP address automatically using DHCP.
Then connect to the ROBOTIS OP3 wifi network (SSID : ROBOTIS-OP3-share). The default password is 11111111.

Example : SSH Client (for Windows)

  • Execute SSH client program (ex: PuTTY)
  • Input ROBOTIS OP3’s IP address: 10.42.0.1
  • Select SSH as a connection type and open the connection.
  • Input ROBOTIS OP3’s user name : robotis
  • Input ROBOTIS OP3’s Password : 111111

Example: SSH Client (for Linux)

  • Open the terminal window.
  • Input the following SSH command with ROBOTIS OP3’s user name and IP address : $ ssh robotis@10.42.0.1
  • Input ROBOTIS OP3’s Password : 111111

Example: VNC client (for Windows)

warning

CAUTION : The robot must be booted with a physical monitor connected for a VNC connection to work.

  • Users who are familiar with a graphical interface may use remote desktop software.
  • Execute your VNC client program (ex: Ultra VNC Viewer)
  • Input the ROBOTIS OP3’s IP address : 10.42.0.1
  • Input the ROBOTIS OP3’s Password : 111111

Development Environment

The following is the list of tools for source code development.

  • OS : Linux (64-bit)
  • Compiler : GNU project C and C++ Compiler, colcon
  • Programming Language : C++

Source Code

You may find the source code directory at /home/robotis/robotis_ws/src on the ROBOTIS OP3's PC.

The pre-installed source code may be updated without prior notice. Please check for updates periodically. You may obtain updated source code from the below GitHub repositories:

Software Utilities

User who wishes to customize or trooubleshoot ROBOTIS OP3 operation should establish a connection with the robot via SSH or Remote Desktop (VNC). The tools are located in the following directory : /home/robotis/catkin_ws/src/ROBOTIS-OP3-Tools

In this directory you can find code for :

  • op3_action_editor : motion creation
  • op3_gui_demo : configuring the motion control module, parameter tuning for walking, module testing features
  • op3_tuner_client : adjust offset and gain for the ROBOTIS-OP3
  • op3_camera_setting_tool : used with op3_manager to modify settings of the USB camera
  • op3_web_setting_tool : used with op3_demo to modify settings via a web page

Recovery Software

The supplied USB thumb drive contains a copy of the the software pre-installed on the ROBOTIS OP3.
You may obtain updated software from the link below.
ROBOTIS OP3 Recovery
This software may be updated without prior notice. Please check for updates periodically.

Useful Information

You can download other ROBOTIS OP3-related items and more detailed information from the online manual.
ROBOTIS OP3 Tutorial

Miscellaneous

System Block Diagram

The diagram below illustrates the overall system structure of the ROBOTIS OP3.

  1. The Main Controller is powered by a Intel i3 dual-core processor (Intel NUC i3)
  2. The Sub Controller is powered by a STMicroelectronics Cortex-M7 32F746GT6 microprocessor (clocked at 216MHz).
  3. Camera Information
    • 1080p Full HD movie recording
    • Carl Zeiss® optics with 20-step autofocus
    • Built-in dual stereo mics with noise reduction
    • H.264 video encoding

ID Map

The following diagram illustrates the default ID number for the actuators in the ROBOTIS OP3.

ROBOTIS-OP3 Revision

Different OP3 revisions can be identified by the included internal master PC.

Warranty

ROBOTIS OP3 includes the following warranty:

A. 90 day warranty against manufacturing defects (RMA required) *

B. Local Maintenance Service (by local partner) : 1 year **

  • Re-installation of S/W and firmware
  • Replacement for cable/gear/screw (RMA required – exempt from faulty return)
  • Replacement for faulty frame/cover/actuator (RMA required)

C. Core System Maintenance Service (by ROBOTIS) : 1 year

  • Replacement for faulty PC/sub-boards (RMA required)
  • Maintenance for actuator/sub-boards (RMA required)
  • Maintenance for PC (RMA required, additional fee applies)

D. Parts replacement for malfunctions during normal operation for 1 year.

warning

Customers who require extended warranty period may purchase another "1 year warranty" from ROBOTIS before their standard warranty period is over.

Important Notice:

  1. Product registration is required for all customers. http://support.robotis.com

  2. Parts replacement can only be done through the RMA (Return Material Authorization) process.

  3. After the initial 90 days, shipping fees are not covered under warranty.

  4. Warranty does NOT cover ordinary wear/tear, any accident or damage caused by the following:

  • Physical damage equivalent to dropping the robot from 20cm or higher
  • Disabling system safety functions (DYNAMIXEL Overload Shutdown)
  • Dangerous movement (jumps, rolls, fights, etc.) or excessive operation without rest
  • Any liquid or unauthorized chemical material applied the robot
  • Unauthorized power or electric shock applied to the robot
  • Improvising core system programming or other significant software modification.
  1. Direct check-up service
    Evaluation, maintenance and quality assurance of the assembled robot can only be provided by ROBOTIS.
    RMA is required and additional fees may apply. Service may not be rendered for heavily customized hardware.

Sub Controller(OpenCR)

warning

WARRNING : Please turn off the power switch before connecting any power source (battery or SMPS) to the product.

Control Table

Control Table consists of data regarding the current status and operation of the OpenCR. The user can control the OpenCR by changing the data in the Control Table via Instruction packets.

EEPROM and RAM

Data in the RAM area is reset to initial values whenever the power is turned on while data in the EEPROM area is kept once values are configured even if the power is turned off.

Address

Represents the location of data in the control table. To read from or write data to the control table the user should assign the correct address in the Instruction packet.

Access

OpenCR has two kinds of data: Read-only data, used mainly for sensing, and read-and-write data used for control.

Initial Value

In the case of data in the EEPROM Area, the initial values on the right side of the following control table are the factory default settings.
In the case of data in the RAM Area, the initial values on the right side of the following control table are the ones when the power is turned on.

Highest/Lowest Byte

In the Control table, some data shares the same name, but feature a (L) or (H) at the end of each name to distinguish the address. This data requires 16-bit, but it is divided into multiple 8bit addresses (low) and (high). These two addresses should be written with one Instruction Packet simultaneously.

EEPROM Area

AddressNameDescriptionAccessInit Value
0 (0X00)Model Number(L)model number low byteR0(0X00)
1 (0X01)Model Number(H)model number high byteR116 (0X74)
2 (0X02)Version of Firmwarefirmware versionR-
3 (0X03)IDOpenCR IDRW200 (0XC8)
4 (0X04)Baud RateCommunication baud rateRW1 (0X01)
5 (0X05)Return Delay TimeReturn Delay TimeRW0 (0X0)
16 (0X10)Status Return LevelStatus Return LevelRW0 (0X00)

RAM Area

AddressNameDescriptionAccessInit Value
24 (0X18)DYNAMIXEL PowerDYNAMIXEL On/OffRW0 (0X00)
25 (0X19)LEDLED Pannel On/OffRW0 (0X00)
26 (0X1A)LED_RGB(L)LED 5 low byteRW0 (0X00)
27 (0X1B)LED_RGB(H)LED 5 high byteRW0 (0X00)
28 (0X1C)Buzzer(L)LED 6 low byteRW0 (0X00)
29 (0X1D)Buzzer(H)LED 6 high byteRW0 (0X00)
30 (0X1E)ButtonButton statusR-
31 (0X1F)VoltagePower VoltageR-
32 (0X20)Gyro_Z(L)Gyroscope Z-axis low byteR-
33 (0X21)Gyro_Z(H)Gyroscope Z-axis high byteR-
34 (0X22)Gyro_Y(L)Gyroscope Y-axis low byteR-
35 (0X23)Gyro_Y(H)Gyroscope Y-axis high byteR-
36 (0X24)Gyro_X(L)Gyroscope X-axis low byteR-
37 (0X25)Gyro_X(H)Gyroscope X-axis high byteR-
38 (0X26)ACC_X(L)Accelerometer X-axis low byteR-
39 (0X27)ACC_X(H)Accelerometer X-axis high byteR-
40 (0X28)ACC_Y(L)Accelerometer Y-axis low byteR-
41 (0X29)ACC_Y(H)Accelerometer Y-axis high byteR-
42 (0X2A)ACC_Z(L)Accelerometer Z-axis low byteR-
43 (0X2B)ACC_Z(H)Accelerometer Z-axis high byteR-
44 (0X2C)Roll(L)IMU Roll low byteR-
45 (0X2D)Roll(H)IMU Roll high byteR-
46 (0X2E)Pitch(L)IMU Pitch low byteR-
47 (0X2F)Pitch(H)IMU Pitch high byteR-
48 (0X30)Yaw(L)IMU Yaw low byteR-
49 (0x31)Yaw(H)IMU Yaw high byteR-
50 (0X32)IMU_ControlIMU ControlRW0x00

Address Function Help

Model Number

Represents the Model Number.

Firmware Version

Represents the firmware version.

ID

A unique number used to identify DYNAMIXEL servos over the daisy chain network.
Allowed values range from 0 (0x00) to 252 (0xFC), Value 254 (0xFE) is reserved for use as the Broadcast ID.
If the Broadcast ID is used to transmit an Instruction Packet, the instruction will be executed by all connected DYNAMIXELs.

info

NOTE : The ID number for each DYNAMIXEL must be unique on each daisy chain, or communications issues will occur.

Baud Rate

The configured communication speed.

DataSet BPSTarget BPSTolerance
09,6009,6000.000 %
157,60057,6000.000 %
2115,200115,2000.000 %
31,000,0001,000,0000.000 %
42,000,0002,000,0000.000 %
53,000,0003,000,0000.000 %
64,000,0004,000,0000.000 %
74,500,0004,500,0000.000 %
info

NOTE : A Maximum Baud Rate error of 3% is within the tolerance of UART communication.

Return Delay Time

Return Delay Time sets a timer to delay Status Packet transmission after a received Instruction Packet.
The unit for the specification of this value is 2μsec. For example, if Return Delay Time is set to 10, a Status Packet will be transmitted 20 microseconds after receiving an Instruction Packet.
Available data values range from 0 (0x00) to 254 (0xFE).

Status Return Level

Status Return Level decides whether to return a Status Packet or not for an Instruction Packet.
There are three options allowed options. If an Instruction Packet has a Broadcast ID, Status Packet will not be returned regardless of Status Return Level.

ValueReturn of Status Packet
0Only return after PING commands
1Return only for the READ command
2Return for all commands
info

NOTE : When Instruction packet is Broadcast ID, Status packet is not returned regardless of Status return level.

DYNAMIXEL Power

ValueMeaning
0Turn off the power of all DYNAMIXELs connected to the OpenCR.
1Turn on the power of all DYNAMIXELs connected to the OpenCR.

LED Panel

BIT7 ~ 3210
ValueXLED3LED2LED1

For each bit set, the corresponding LED will be turned on.

LED_RGB

BIT1514 ~ 109 ~ 54 ~ 0
ValueXLED_BLED_GLED_R

The chest LED is a tricolor LED and the color can be specified with RGB values.

Buzzer

ValueDescription
0 ~ 65535Frequency(Hz) of Buzzer

If the Buzzer value is set to 0, the buzzer will be turned off.

BUTTON STATUS

BIT7 ~ 43210
ValueXBUTTON_S4BUTTON_S3BUTTON_S2BUTTON_S1

For each bit set to 1, the button is being pressed.

VOLTAGE

This value reports the input voltage of the controller, multiplied by 10.
For example, when 10V is supplied to the controller, the Voltage value will be 100.

GYRO X/Y/Z

The following image depicts the direction of the Gyro axes of the OpenCR.

Each arrow represents the orientation of a gyroscope axis.
The data range is -2000dps ~ +2000dps.
The following graph shows the relation between actual data values and angular velocity value.

Acceleration X/Y/Z

The following picture represents the direction of the accelerometer axes of OpenCR.

Each arrow represents the orientation of accelerometer axis.
The data range is -2g ~ +2g.
The following graph shows the relation between actual data value and acceleration value.

IMU_Control

This data controls the roll / pitch / yaw offset values for the IMU sensor.

BIT7 ~ 43210
ValueXGyroYawPitchRoll

For each bit set to 1, the corresponding roll, pitch, or yaw gyro values will be used for calculating the offset.
The calculation will take approximately 2 seconds and then each bit will be reset to 0.

GPIO Pin Assignments

PinAssignments
PIN_LED_RRed LED pin
PIN_LED_GGreen LED pin
PIN_LED_BBlue LED pin
PIN_LED_1LED output 1
PIN_LED_2LED output 2
PIN_LED_3LED output 3
PIN_BUTTON_S1Button Input S1
PIN_BUTTON_S2Button Input S2
PIN_BUTTON_S3Button Input S3
PIN_BUTTON_S4Button Input S4 (Reset DYNAMIXEL Power)