Sdh-2 Multi-Finger Gripper and Kuka Robot Animations For Real-Time Simulations of Robot-Hand-Control Strategies Using Open Source Software Blender
Sdh-2 Multi-Finger Gripper and Kuka Robot Animations For Real-Time Simulations of Robot-Hand-Control Strategies Using Open Source Software Blender
Sdh-2 Multi-Finger Gripper and Kuka Robot Animations For Real-Time Simulations of Robot-Hand-Control Strategies Using Open Source Software Blender
Thomas Haase
Institute for Process Control and Robotics
Karlsruhe Institute of Technology (KIT)
D-76131 Karlsruhe, Germany
e-mail: [email protected]
Abstract
This Paper introduces the construction and the necessity of
simulation surroundings for the construction of robot-hand-control system
simulations with the Open Source software Blender. The advantages of the
given game engine and the runtime export are worked out. All designed
Blender animations can be integrated into Real-Time simulations.
Necessary communication interfaces that use the given Python API are
described for both RTAI Linux and Real-Time Windows.
Introduction
With the development of SCHUNKs Multi-finger gripper SDH-2 the first
robot hand which can achieve industrial demands is available. Current
research projects deal with the development of necessary software modules
to integrate this robot - hand system into first industrial applications. Due to
the financial worth of each robot hand and the fear of many developers to
damage the gripper in real experiments the developing speed is slow. With
suitable simulation environments this problem can be solved. There are
different reasons that result in a higher developing speed: 1. direct
interception of arithmetic and design errors. This leads to less down-time
due to repairs. 2. Fears of practical tests series are reduced, because the
system could be tested in its behavior. 3. In spite of missing hardware a
parallel developing becomes possible, so that the forthcoming development
work will not take many additional years. A high research speed is
necessary. The simulation environment introduced in this work should
achieve exactly this. The exchange of data from and to the simulation is
especially important. This determines the applicability and the value of the
simulation in the process of development. It also decides whether and how
these simulations can be integrated into Real-Time environments.
Requirements and Options
Goals
During a rotation the cursor is faded out. In addition, keyboard inputs are
used to change important values such as step sizes, velocities or zoom
levels. All changes and inputs are made visible in the terminal.
The call of these functions occurs in a file in the Blender model that is
executed in every animation step, Figure 3. In addition to these socket
interfaces, the Blenders Python API makes it possible to specify some
object and joint properties with the help of user defined variables. The
following listing demonstrates how to combine the incoming data with the
properties of a bone.
Line 1 reads in a new data set. Lines 2 and 3 extract a value from the record
and the new orientation matrix of the bone is calculated. The lines 4 and 5
assign the new orientation to the joint.
Summary of the data exchange
Each simulation opens a UDP port and animate given finger positions and
joint angles. The socket communication can be configured manually. Pre-
settings were defined for connecting to special application development
systems. The data rate is limited, Figure 2. Blender can indicate round
about 30 pictures per second. If more than these 30 datasets per second are
sent to Blender, they are queued. Delays in the representation will occur
then.
Experimental Results
With RTAI Linux, Simulink models are able to run in Real-Time, Figure 5.
Therefore, Simulink models are compiled into C-Code that could be
executed in kernel space. A designed S-function makes it possible to export
data sets from kernel space into some existing shared memory, (Holger
Nahrstaedt, 2009). An additional software module in user space reads this
shared memory and transmits all data. As well as described on Windows
operating systems, a UDP data set is created and sent to some Blender
models. The remaining communication occurs as described for Windows
operating systems. All build up programs are identical for Linux and
Windows. Maybe it could be possible to read in the shared memory data
directly with the help of the Blender Python interface.
Conclusions
Future Works
References
Blender For Robotics. (n.d.). Robotics:Index. Retrieved 11 20, 2009, from Blender:
http://wiki.blender.org/index.php/Robotics:Index
Caligari Corporation. (n.d.). trueSpace 7.6. Retrieved 12 08, 2009, from http://www.caligari.com/
Ciragan, M. (n.d.). ChumbalumSoft. Retrieved 11 20, 2009, from Milkshape 3D:
http://chumbalum.swissquake.ch/index.html
Craig, J. J. (1997). Introduction to Robotics, Mechanics and Control, Second Edition, . Addison-
Wesley.
Holger Nahrstaedt, T. H. (2009). SDH-2 and RTAI Simulink using shared memory for external
kernel and user-space communication and QRtaiLab for matrix visualization. Karlsruhe, Berlin:
Institute for Process Control and Robotics, Karlsruhe Institute of Technology (KIT), Fachgebiet
Regelungssysteme Technische Universität Berlin.
Inivis. (n.d.). Invis Limited 2009. Retrieved 11 19, 2009, from AC3D: http://www.inivis.com/
The Mathworks. (n.d.). Documentation Simulink. Retrieved 11 18, 2009, from Rate Transition:
http://www.mathworks.com/access/helpdesk/help/toolbox/simulink/slref/ratetransition.html
Thomas Haase, P. h. (2009). Real-Time Collision Detection for intrinsic safety of Multi-fingered
SDH-2. Karlsruhe: Institute for Process Control and Robotics, Karlsruhe Institute of Technology
(KIT).
Ton Roosendaal. (n.d.). http://www.blender.org/. Retrieved 11 20, 2009, from Blender:
http://www.blender.org/