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.
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.
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.
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.
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 (non-brake type) * no longer in production
|Degrees of freedom||7|
|Rotation range||Joint 1||+/-160 degree|
|Joint 2||+105~-45 degree|
|Joint 3||+/-160 degree|
|Joint 4||+115~-50 degree|
|Joint 5||+/-160 degree|
|Joint 6||+/-90 degree|
|Joint 7||+/-160 degree|
|Maximum angular velocity||120 degree/s (Joint 1~4)
180 degree/s (Joint 5~7)
|Sensors||19/18-bit absolute encoder (output/input)
Torque sensor (all joints)
Current sensor (all joints)
|Motor||Blushless DC Motor|
|Poser supply||DC 24 V|
* The arm can be used as a 6-axis type by removing the drive mechanism of Join 3.
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.
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.
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).
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.
- Set the COM port and baud rate for communication.
- 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.
- Send the command to change the control mode and target values (the history of the command is shown in the black area).
- Show the messages sent from the master controller.
- Open the path control (PVT) window.
- Save the logs of all joints (the time-stamp interval in the log file is about 1 ms).
- 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.
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.
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.
For quotations, questions, and visits, please contact us: contact[at]robotics.tokyo