to be extrapolated from the data Gazebo provides and
afterwards filtered to allow Gazebo to work with the
return data.
The remainder of this paper is structured as fol-
lows: In Section 2 other works that combine SystemC
or Gazebo with other simulators are described. Sec-
tion 3 explains the motivation for our design, the re-
quirements that need to be implemented, and details
of the solution for the requirements. An evaluation
of the usability and functionality of the design is de-
scribed in Section 4. Following that, Section 5 men-
tions ideas on how to further improve the proposed
design. This paper concludes with Section 6.
2 RELATED WORK
Gazebo is an open source robotics simulator. It is
primarily combined with the Robot Operating Sys-
tem (ROS). There are some approaches for combining
Gazebo with other software for robotics and compu-
tational intelligence (Zamora et al., 2016).
There are approaches that connect other tools that can
be used to simulate hardware, to Gazebo (Mathworks,
2016). In these approaches, the main interface to the
simulation environment is the interface to ROS.
SystemC is a modelling language based on C++.
The extension consists of a class library and a simu-
lation kernel. In (Panda, 2001) a short summary of
design processes for SystemC is given.
There exist some interfaces to SystemC in the lit-
erature such as (Martin et al., 2002; Possadas et al.,
2005; Bouchhima et al., 2006; Huang et al., 2008;
Mueller-Gritschneder et al., 2013). These papers use
SystemC as a primary basis and extend the function-
ality of it. (Huang et al., 2008) describe a possibility
of running a SystemC simulation on a distributed net-
work, improving the time performance significantly.
An interface to SystemC was designed in (Bouch-
hima et al., 2006). This work uses Matlab/Simulink
as a continuous simulation for the environment, which
communicates with the SystemC model.
In the work found in (Martin et al., 2002),
SystemC was connected with an analog circuit simu-
lator like SPICE (Simulation Program with Integrated
Circuit Emphasis) and VHDL (Very High Speed Inte-
grated Circuit Hardware Description Language (VH-
SIC Hardware Description Language)).
In (Mueller-Gritschneder et al., 2013) a platform
for simulating an entire robot is modelled in SystemC.
In this approach the SystemC simulation was used
to simulate the behaviour of a robotic system on the
transaction layer. With their simulation results the au-
thors update the model of a robot in a virtual world,
simulated in a Java environment. After that measure-
ments are taken in the Java environment and sent to
the SystemC robot model for further processing. They
use network sockets to communicate between the two
simulations. In this paper SystemC was used to sim-
ulate the robot’s movement as accurate as possible,
while in our proposal the robot’s behaviour gives the
input to the simulation of other hardware.
In summary, SystemC was connected with many
simulators for cycle accurate measurements, other
hardware description languages, or circuit simulators.
In (Mueller-Gritschneder et al., 2013) SystemC was
used to simulate physical effects on robots.
Comparing this previous work with our proposal,
our contributions are a completely new aspect of
connecting simulators for generating test cases for
systems automatically, as well as connecting the
SystemC simulation with an open source robotics
simulation. That means that SystemC was previously
used to simulate effects in the larger simulation, in
this approach the larger simulation is used to stimu-
late the whole system simulated in SystemC.
In our use-case a sensor is read using a wireless
channel. For such a use-case the NFC technology is
well well-suited. This is due to the fact that energy
can be transmitted through the RF (radio frequency)
field. With that energy the sensor and the supporting
microcontroller(s) can be operated. The same energy
can also be used to charge a small battery or capacity.
In (Wireless Power Consortium et al., 2010; Strom-
mer et al., 2012; Lee et al., 2013) the mechanism for
transmitting energy alongside data and for storing that
energy are described.
There are different approaches to communicate
between simulation environments; commonly used
are XML (Extensible Markup Language) and JSON
(JavaScript Object Notation). Of these two, JSON
is more efficient as (Nurseitov et al., 2009) show.
(Sumaray and Makki, 2012) furthermore compares
Google’s Protocol Buffer (protobuf), which is used by
the Gazebo simulator, alongside JSON and XML.
As the SystemC simulation works in many cycles
for every internal time step, the efficient generation of
JSON objects, as well as the generation of protobuf-
messages, would require major changes in the exist-
ing simulations. Following this, the approach to com-
municate from SystemC to Gazebo is to embed the
values of interest in XML-tags.
3 DESIGN
The goal of the presented design is to connect a
SystemC simulation to a high-level simulator in order
SIMULTECH 2017 - 7th International Conference on Simulation and Modeling Methodologies, Technologies and Applications
66