UKH Journal of Science and Engineering | Volume 5 • Number 1 • 2021 26
A ROS-Gazebo Interface for the Katana Robotic Arm
Manipulation
Rawan A. AlRashid Agha
1,a*
, Zhwan Hani Mahdi
1,b
, Muhammed N. Sefer
2,c
, Ibrahim Hamarash
1,d
1
Department of Computer Science and Engineering, University of Kurdistan-Hewler, Erbil, Iraq
2
Department of Computer Engineering Techniques, Northern Technical University, Mosul, Iraq
E-mail:
a
b
c
d
1. Introduction
In robotics, simulators have played a significant role in evaluating new subjects, techniques, and algorithms quickly and
effectively. Simulators for robots are used to build embedded applications for any robot without having the need to
depend on the actual device, which in return saves time and expenditure. Sometimes, the applications can even be
transmitted onto the actual robot directly due to the functionality of the simulators (Quigley et al., 2009). Using
simulators can ease up the procedure of development and validation of robotic systems, hence permitting the
verification of the component integration and behaviour evaluation to take place under various circumstances
(Echeverria et al., 2011). There are different simulators in the industry, some of them perform better in special types of
robots, others are general and used for different robots and in different situations. Robot Operating System (ROS)
(Echeverria et al., 2011) is a collection of library packages and tools to help building robot applications and establishing
communication with real robots. ROS is an open-source software and its active society have assisted in building various
innovative projects (Pietrzik & Chandrasekaran, 2019). Gazebo (Uslu et. al., 2017) is a three-dimensional simulation
environment which is part of the Player Project (Festo MENA, n.d.). Gazebo is created to provide an accurate dynamic
environment a robot may encounter as well as the ability to generate the sensor inputs for various functionalities as
enabling navigation and avoiding obstacles (García & Molina, 2020). PR2, Care-O-bot and TurtleBot are well-known
robots that had been simulated via ROS and Gazebo platforms successfully (Cousins, 2010). Gazebo simulator
depending on ROS is considered an effective tool to simulate robots (Uslu et. al, 2017). However, the Gazebo/ROS
integration is not straightforward and has its difficulties. Every robotic system has its own requirements which needs to
be incorporated in the simulation. This paper is aimed to simulate a ROS-Gazebo interface manipulator for the Katana
Arm.
Access this article online
Received on: April 6, 2020
Accepted on: February 4, 2021
Published on: June 30, 2021
DOI: 10.25079/ukhjse.v5n1y2021.pp26-37
E-ISSN: 2520-7792
Copyright © 2021 Rawan et al. This is an open access article with Creative Commons Attribution Non-Commercial No Derivatives License 4.0 (CC
BY-NC-ND 4.0)
Abstract
Nowadays, simulators are being used more and more during the development of robotic systems due to the efficiency
of the development and testing processes of such applications. Undoubtedly, these simulators save time, resources
and costs, as well as enable ease of demonstrations of the system. Specifically, tools like the open source Robotic
Operating System (ROS) and Gazebo have gained popularity in building models of robotic systems. ROS is
extensively used in robotics due to the pros of hardware abstraction and code reuse. The Gazebo platform is used
for visualisation because of its high compatibility with ROS. In this paper, ROS and Gazebo have been integrated
to build an interface for the visualisation of the Katana Arm manipulator.
Keywords: ROS, Gazebo, Katana Arm, Robotic Systems, Katana Native Interface (KNI).
Review Article
UKH Journal of Science and Engineering | Volume 5 • Number 1 • 2021 27
The Gazebo simulator was the official tool for DARPA Robotics Challenge, which is considered as one of the
milestones in the robotics simulation because immense use of tools like Gazebo were made; from simulating contacts
and movements of the entire body to designing complicated manipulations (Ivaldi & Ugurlu, 2018). Moreover, open
source models are one of the main approaches to increase the interaction amongst the robotic research groups and to
offer a common platform to test numerous algorithms on a single environment. OpenHRP (Pirjanian et al., 2002), the
recent Gazebo and ROS projects are two of the latest projects accomplishing this approach. Table 1 shows and
compares Gazebo’s status among some of the primary available robotic simulators with their performance attributes.
Table 1. Characteristics of Different Robotics Simulators (Noori et al, 2017)
2. Modeling of the Katana Robotic Arm
In this paper the virtual Katana Arm was utilized, see Figure 1. The Katana robotic arm was produced by Neuronics, a
Zurich based company, and it is available for industrial and/or research purposes (Lu et al., 2012). The Katana robotic
arm is a programmable, fully integrated electronic robot that has the capability to operate in a four to six degrees of
freedom (DOF) with high accuracy.
Figure 1. Katana Robotic Arm
In such robotic arms, each joint location defines a variable condition in which the angular movement is altered. This
angular motion, which is essentially described as the analysis of how a robot moves in its workspace, is controlled by
kinematics (Holden, 2012). This is directly related to the expected motion, position and direction of the end effector,
which is a gripper. A manipulator contains multiple links, joined together by joints where each link has a coordinate
frame. Homogeneous transformations describe the position and orientation between coordinate frames (links)
(Holden, 2012).
This robotic arm is quite versatile and its simulation package is available for users to simulate in the Gazebo simulation
environment (Fruh, 2003). The Katana Native Interface (KNI) is an open source software library for controlling the
V-REP
Gazebo
MORSE
Webots
USARSim
STDR/Stage
Unity
C++
C++
Python
C++
C++
C++
C++
MAC, Linux
MAC,
Linux
BSD, MAC,
Linux
MAC,
Linux
Linux
Linux
Linux
3D
3D
3D
3D
3D
2D
3D
ODE, Bullet,
Vortex,
Newton
ODE,
Bullet,
Dart
Bullet
ODE
Unreal
OpenGL
Unity
3D
Internal,
External
OGRE
Blender Game
OGRE
Karma
-
OGRE
Yes
Yes
Yes
Yes
Yes
Yes
Yes
****
*****
****
****
***
****
**
****
*****
****
***
**
****
*
UKH Journal of Science and Engineering | Volume 5 • Number 1 • 2021 28
Katana robot (Günther, 2017). The KNI is showcasing an execution of robotic kinematics and calculations of the path
for a simultaneous control of the axes and the cross paths in space with the gripper.
Denavit-Hartenberg or D-H convention is one of the mostly used convention for the selection of frames of reference
in robotics (Hassan, 2013). It is a systematic method for identifying the relationship between adjacent links and offers a
mathematical description for all the manipulators based on the robot’s geometry (Abbas, 2013). In other words, it simply
describes the position and orientation of a current link with respect to the preceding one. In D-H, each homogenous
transformation Ti is expressed as the product of four basic transformations (Hassan, 2013).
Ti =Rot.(z,θi).Trans(z,di).Trans(x,ai).Rot(x,αi)
Since the virtual Katana 450 Arm has 5 DOF (Günther, 2013), its schematic diagram is demonstrated in Figure 2 with
having five rotational joints and a gripper and the robot is at home position where all joint angles are equal to zero.
Figure 2. Schematic of a 5 DOF Katana Arm at home position
Joint 1 is the base and the axis of motion of this joint is Z
0
. In the X
0
Y
0
plane, this joint makes a rotational Θ
1
angular motion around the Z
0
axis.
Joint 2 which can be also referred to as the shoulder rotation whose axis is perpendicular to the axis of Joint 1.
In the X
0
Y
0
plane, this joint enables a rotational Θ
2
angular motion around the Z
1
axis.
Joint 3 also known as the elbow rotation and Z
2
is its axis which is parallel to Z
1
axis of joint 2. Provides Θ
3
angular motion in X
2
Y
2
plane.
Joint 4 known as the wrist rotation and Z
3
is its axis which is also parallel to the Z
1
axis of Joint 2. Provides Θ
4
angular motion in X
3
Y
3
plane.
Joint 5 is referred to the gripper rotation, whose Z
4
axis is vertical to the Z
3
axis and it gives Θ
5
angular motion
in the X
4
Y
4
plane (Hassan, 2013).
In order to perform object manipulation and interaction, the packages used for the Katana Arm in this paper are;
“Katana_arm_navigation” and “Katana_driver” stack. Basically, the robotic arm can work in the simulation via these
two packages where the “katana_driver” stack runs the main driver for the Katana Arm (Schmid, 2013). The
“Katana_driver” includes drivers for ROS hardware, Gazebo plugins as well as some other functionalities for the
Neuronics Katana family of robot arms (Günther, 2017).
Particularly, it offers:
Joint Trajectory and Follow Joint Trajectory execution on the physical arm
Simulation of the Katana Arm in Gazebo
URDF descriptions
Simple teleoperation (Günther, 2017).
Then, via the help of the “katana” node the user is able to control and drive every single motor of the Katana Robotic
Arm. In addition, kinematics are given by the node "katana arm navigation"; both forward and inverse kinematics for
the arm. This node relies on a "actionlib" stack, which is a bundle that provides the required resources for producing
long-running servers that can be preempted in order to send requests to the server. It can also have a client interface.
Thus, to this node, the user may send goal commands. In other words, if the target is to move to the whereabouts of
the gripper, it is then sent via a service call to the "katana-arm-navitation" node, where each motor's movement is
UKH Journal of Science and Engineering | Volume 5 • Number 1 • 2021 29
measured to know how each needs to move in order to achieve the goal. The required motor movements are therefore
sent to the "katana" node, which causes the Katana Arm to shift to the desired position (Schmid, 2013).
3. Simulation
ROS is the main framework used in this paper with using Gazebo simulator to complement ROS as it provides an
accurate and efficient simulation of robots in its environment with high-quality visual graphics (Mittal, 2018). Simulators
attempt to mimic the actual world to an extent, that’s why the use of such platforms saves time, cost, and
experimentations with little damage as well as using hardware parts that are not instantly available for use. The block
diagram in Figure 2 demonstrates the architecture of the RPS-Gazebo interaction. One of the important things about
ROS is that; it is based on nodes, topics, services and messages (Qian et al., 2014).
3.1. Ros
ROS was developed by the Stanford Artificial Intelligence Laboratory in 2007 (Linner et al., 2011). As mentioned before,
ROS is an assemblage of software frameworks that contain the necessary tools for implementing robotic applications.
ROS offers standard operating system services like low-level device control, hardware abstraction, employment of
generally used functionalities, package management and message transmission amongst processes (Chikurtev et al.,
2018). ROS permits the simulation of creating dynamic environments with different robots of multiple degrees of
freedom as well as creating different types of sensors (Linner et al., 2011). Figure 3 illustrates the architecture of a set
of ROS-based processes where they occur in nodes as they are the basic computational entity. Even though a quick
reaction and low delay are very crucial in robot control, ROS is not a real-time operating system (RTOS), however an
integration of ROS with a real-time code is possible (Chikurtev et al., 2018).
Figure 3. Architecture of ROS-Gazebo interaction (Mittal, 2018)
The philosophy behind ROS is code reuse where developers create a portion of software that can work on other robots
by doing minimal code changes (Qian et al., 2014). The core of ROS is the ROS Master as it specifies name registration
to all the nodes in the ROS system, see Figure 4. The master plays an important part in allowing each ROS nodes to
find one another. It also enables the exchanging of messages and invoking services. All the main functionality of ROS
is broken down to some chunks; which are named nodes; and communicate with one another via messages. These
messages are basically data structures containing typed fields. A node sends a message by publishing to a designated
topic where the topic has a name that is used to identify the content of the message. Therefore, the relevant topic must
be subscribed to by any node that has an interest in a particular kind of data. For one topic, there may be several
concurrent publishers and subscribers, as well as an individual node for publishing or subscribing to several subjects. In
addition, via the services that are composed of a set of two message structures, request and reply can be done. By
submitting a request, a client uses the service and waits for the response, in Figure 5 the ROS messaging is illustrated.
Hence, ROS client libraries commonly present such a communication as if it was a remote call (Qian et al., 2014).
Moreover, in ROS the first step is building a 3D model of the environment which can be done by any of the modelling
tools. The 3D model can be exported in the stereolithography (stl) or collada meshes format so it can be incorporated
into ROS (Linner et al., 2011). After that, the created 3D model of each component is combined in ROS and this is
done via the package of the robot model that has the parser Unified Robot Description Format (URDF) file. The URDF
describes the different meshes/links by the concepts of joints and links as seen in Figure 6 two links that are connected
through a joint are called a parent and a child link. Furthermore, how each component moves, is dependent on the type
of joint which can be a fixed joint, prismatic, revolute, etc. This URDF file should have a full description of the robots
so it can successfully be imported into ROS. The description comprises the name of the robot or model, its mesh (3D)
structure, collision and extra information on the visuals of the components like the colour and texture (Linner et al.,
2011).