Our Torobo Arm research platform is developed to accelerate our clients' research and development.


Torque sensor for each joint

Because all of its joints have torque sensors, Torobo Arm detects torques more accurately than the current-based torque sensing method. Torobo Arm also enables softer external force following/force control and safer contact detection.
* Patent pending for torque sensor

Source code provided

Torobo Arm comes with the source code of the master controller (servo controller) and PC (host controller). You can customize the robot control system from low-level control (such as torque control) to high-level control (such as path control).

Connectivity to external systems

Because Torobo Arm is ROS-compatible, it is easily connected to other ROS-based systems. Torobo Arm can also connect to major kinematics simulators such as V-REP, ROS/MoveIt!, and Matlab/Robotics System Toolbox (under development). Connected with these simulators, Torobo Arm can easily create joint space paths offline.

Industrial-level performance

Although Torobo Arm is a research platform, its high-stiffness and high-quality parts guarantee industrial-level performance. The repeatability is 0.05 mm.

Small and light servo controller

The servo controller (master controller) is W170 mm × H50 mm × D120 mm in size, and weighs about 1 kg. Accordingly, the controller can be easily mounted on a mobile robot.

Driven by DC 24 V

As the power supply is 24 V DC, no special power source is required. The arm can also be driven by a battery, which is useful for autonomous mobile manipulators.


Feasibility study of force-controlled robot for production line

Force control is necessary for tasks such as part insertion without breaking the part, the robot, or surrounding objects. You can install the force-controlled robot in a production line, and evaluate its performance in a feasibility study.

Motion learning of robot by machine learning techniques

For machine learning techniques like reinforcement learning, exploration behavior is necessary. Torobo Arm can perform it without breaking the robot and/or surrounding objects.

Research on human coexistence and collaborative robots

Human coexistence and collaborative robots require high contact safety. Using the force control and torque detection functions, you can research and develop a robot that does not harm humans.

Research on hardware parameter estimation

Because you can obtain the joint angle, angle velocity, current, and torque, you can estimate the hardware parameters such as the center of mass, moment of inertia, and friction coefficient in a research study. Torobo Arm is also useful for designing disturbance observers.

Education of control theory and motion planning

Students can alter the robot's movement by changing the PID parameters of the joints. In this way, they can understand the characteristics of the PID parameters. They can also learn how to implement kinematics and dynamics in an actual robot.

Torobo Arm Series

Torobo Arm

Torobo Arm Mini


Torobo Arm (non-brake type) * no longer in production




Torobo Arm Torobo Arm Mini
Degrees of freedom 7 7
Reach 600 mm 600 mm
Weight 19 kg 13 kg
Payload 6 kg 3 kg
Rotation range Joint 1 +/-170 degree +/-165 degree
Joint 2 +115~-45 degree +/-110 degree
Joint 3 +/-165 degree +/-165 degree
Joint 4 +125~-70 degree +/-120 degree
Joint 5 +/-165 degree +/-170 degree
Joint 6 +/-120 degree +/-105 degree
Joint 7 +/-170 degree +/-170 degree
Maximum angular velocity 120 degree/s (Joint 1~4)
180 degree/s (Joint 5~7)
120 degree/s (Joint 1~2)
160 degree/s (Joint 3~4)
200 degree/s (Joint 5~7)
Repeatability +/-0.05 mm
Sensors 19/18-bit absolute encoder (output/input)
Torque sensor (all joints)
Current sensor (all joints)
Motor Blushless DC Motor
Gear Harmonic Drive™
Poser supply DC 24 V




  • System Overview

    Torobo Arm is a very simple system consisting of a manipulator, master controller, and your own PC. The manipulator can be placed on a base (sold as an optional extra). The power supply is a stabilized power supply or a battery that outputs 24 V DC. Because the package includes the sample source code and a user manual, you can move the arm on the day of delivery.

  • Control Architecture

    The master controller in the above figure runs a servo loop and sends the target current values to the robot arm. Its communication frequency is about 1 kHz. Each joint of the robot arm has a slave controller, which exchanges the joint data with the master controller and controls the motor current. The PC (host controller) sends the target values (joint angle, angular velocity, torque, and current), the joint space path (time, angle, and angular velocity of each joint), and the control parameters to the master controller. The host controller operates in Windows or Ubuntu, and its control frequency depends on the task processing of the operating system.

  • Master Controller

    The master controller is a CPU board mounted with an RX-series processor manufactured by Renesas Electronics . You can download the compiled code via USB or perform on-chip debugging via JTAG. As the master controller also has two Ethernet ports, you can implement Ethernet/EtherCAT communication by yourself.

    The source code of the master controller implements not only the servo control of the angles, angular velocities, torques, and currents of all joints, but also the functions of the gravity compensation, external force following with torque sensors, and path control. You can modify and build the sample code using e² studio (Renesas' Eclipse-based IDE).

  • Host Controller

    The host controller application controls the arm by sending the commands from a PC. There are two versions, GUI and CUI. The GUI version is implemented in C# (Visual Studio) operating on Windows (see the figures), and the source code is provided. The host controller executes 1) the joint-level control based on the target angle, angular velocity, torque, and current, 2) the path control based on the PVT data (joint angle and angular velocity at each time), and 3) logging of the joint data.

    Panels 1–7 of the figures are explained below.

    1. Set the COM port and baud rate for communication.
    2. Show the angle, angular velocity, torque, current, and driver temperature obtained from the arm's joints. Also show the time stamp of the master controller, the set values of the control parameters, and the number of processing points for path control.
    3. Send the command to change the control mode and target values (the history of the command is shown in the black area).
    4. Show the messages sent from the master controller.
    5. Open the path control (PVT) window.
    6. Save the logs of all joints (the time-stamp interval in the log file is about 1 ms).
    7. Send the joint space path (usually generated by a kinematic simulator) to the master controller, and run the trajectory control.

    The CUI version functions identically to the GUI version. Being compatible with ROS, the CUI works in Ubuntu but would also work in other Linux distributions (although these have yet to be tested). The CUI version first launches the daemon (Torobo Arm Manager; C++ executable), which communicates with the master controller. Through the command interface coded in Python (Torobo Arm Command Interface), the major control functions such as arm control, status acquisition, and control parameter settings are then executed.

  • ROS/MoveIt!

    To use ROS, you require the CUI version of the host controller, which comprises the Torobo Arm Manager (C++ based daemon) and Torobo Arm Command Interface (Python-based user interface). The ROS packages for Torobo Arm are listed below.

    toroboarm_robot A meta-package including all of the following ROS packages
    toroboarm_bringup A package that describes the starting procedure of Torobo Arm-related components
    toroboarm_control A package that describes the configuration of the Torobo Arm control
    toroboarm_desctiption A package that describes the structure model of Torobo Arm
    toroboarm_driver Software that connects Torobo Arm Manager to the ROS environment
    toroboarm_gazebo A package that describes the configuration for using the Gazebo physics engine
    toroboarm_moveit_config A package that describes the configuration for using the MoveIt! path planning software

    All of the software can be downloaded from the Tokyo Robotics public repository (in preparation).

    In the ROS framework, a robot model is defined in an XML format called Unified Robot Description Format (URDF), which describes the shape of the links, the joint structure, and sensors installed in the robot. This file is referenced by many ROS applications to manage the robot's status. If this file is opened with Rviz (a standard visualization tool of ROS), the robot is visualized as shown in the upper panel of the figure. The robot model is controlled by moving the slider bars.

    In ROS, MoveIt! is a widely used motion planning software for multi-joint robots such as Torobo Arm. MoveIt! enables motion planning execution in Rviz or C++/Python code via an API. MoveIt! supports obstacle avoidance and object grasping by default. Accordingly, it simplifies the complicated process of the motion planning and its execution, which are troublesome for developers. The path generated by MoveIt! can be easily executed by Gazebo (ROS-based physics engine) or a real robot.

  • V-REP

    Alternatively to ROS/MoveIt!, the moving path of Torobo Arm can be generated by V-REP, which outputs the joint space path created by its inverse kinematics engine as a CSV file. By loading this file from the host controller (in both GUI and CUI versions), the path can be executed by a real robot.