S I M E C S

Simulazione Integrata di Meccanica Elettronica e Controllo per sistemi Spaziali
Integrated mechatronic simulation for space systems

The Remote Simulation Environment

SIMECS-RI (SIMECS-Remote Interface) is the application developed within SIMECS project. It is a visual environment dedicated to the simulation of the execution of commands given to robotic arms which operate in space.

The application allows the user to choose a robot model from a library of available models, to define assign and simulate the execution of a robot command, and finally to plot simulation results. It also features offline kinematic control of the 3D model. All available robot models are currently written in Modelica, and are described in the modeling section.

Simulations are performed on a remote server, while model information and result presentation are available for the user by means of an application client.

Application Design & Technology

The application is a pure client/server one. The application user interface and the application core run over two distinct computers. Moreover, the application core is by now only a proxy to a separate process which performs the simulations. The core runs on a server that can handle multiple connections, which means that many users at a time can perform their own simulation.

The Low Level Simulator, which is the process that performs the robot motion and motion control simulation, is by now Dymosim, the Windows executable file generated by Dymola.

The server of the actual application is designed in order to minimize the effort due to a possible adoption of a different simulator, or a different simulator structure.

The application has been designed in UML by means of Poseidon for UML. The entire projects of both the client and the server are available for download.

The application has been entirely implemented in Java. At server side, communication with Dymosim through Dynamic Data Exchange has been made possible by exploiting the JNI (Java to Native Interface) API.

JavaBeans technology has been adopted for the implementation of the client. Beans are the Java proposal for component-oriented software architectures and are well suited for lightweight visual components like those of the client. The graphical user interface has been implemented using the Swing library for windowing, the Java2D library for graph plots, and the Java3D library for the virtual presentation of the robot models. Thanks to the Java portability, the client can run on any platform for which such libraries exist.

Client Download & Installation Instructions

The following are the steps for a correct installation and execution of the client on a PC running any operating system. Notice that the client has been tested on Windows and Linux only. Steps from 1 to 4 are mandatory for a correct client installation. The StarfireExt library has been found at Starfire Research's Website,

1. Download the JRE 1.4.2 (or later) from the Sun Website. Install the JRE on your PC.

2. Download the Runtime of the Java3D 1.3.1 (or later) from the Sun Website. Install the Runtime of the Java3D on your PC.

2a. Verify that Java3D works correctly on your PC. Try to run the Java3D demos, which can be found in your Java installation directory.

3. Download the client as a zipped archive. Unpack the archive in any folder of your PC.

4. Download the StarfireExt.jar library into the ./lib/ext/ directory of the JRE (or JDK) installation folder.

Steps 5 is optional, and needed only if you want to see the International Space Station (ISS) 3D model within the virtual presentation window. The ISS 3D model has been found at Celestia's Website.

5. Download the ISS 3D model as a zipped archive. Unpack the archive in the same folder you chose at step 3.

Step 6 illustrates three possible ways to start the application. When your application is run, if you choose to access the server, when prompted please set the following server address: 131.175.17.4 and the following server port: 80.

6. Perform one of the following:

6a. Launch the main class of the client with java, setting as classpath all the JARs extracted from the client archive.

6b. For Windows only: download the batch file in the same folder in which you unpacked the client, and launch it.

6c. For Linux only: download the script file in the same folder in which you unpacked the client, and launch it.

Getting Started with the SIMECS-RI

The application main window is divided in three sections. At the center of the window is the 3D robot model, at the left are the parametes/variables tabs, and at the bottom is the visual command panel.

At the top of the main window is placed a simple tool bar, which features buttons for accessing the simulation parameters, the model documentation (not yet available), the models list, for loading simulation result (which is disabled before a simulation is performed), and for choosing the robot initial position.

How to navigate in the 3D model:

The point of view of the 3D model can be changed. Click on a point of the 3D canvas with the left button of the mouse and drag the mouse in order to rotate the virtual environment. Click on a point of the 3D canvas with the right button of the mouse and drag the mouse in order to translate the virtual environment. Click on a point of the 3D canvas with the left button of the mouse holding pressed the ALT button of the keyboard and drag the mouse in order to zoom in and out the virtual environment.

How to perform a simulation:

First, you should set the initial position of the robot by accessing the Set Initial Position menu in the upper tool bar (top-right corner of the main window). Slide the sliders in order to move each joint.

Second, you should set the destination of the trajectory by accessing the "Destination" menu in the visual command panel (bottom-left corner of the panel). For Joint Space trajectories, slide the sliders in order to move each joint. Optionally you can reduce joint speed and the acceleration acting on the correspondent sliders in the command panel. Reductions are applied to all joints. For Cartesian Space Trajectories, slide the sliders in order to move and to rotate the final frame of the end effector. The final frame is given with respect to the base frame, and the base frame is a frame which is oriented as the end effector initial frame, and placed at the base of the robot. In the end effector frame, as well as in the base frame, X axis is BLUE, Y axis is GREEN, and Z axis is RED. The orientation of the final frame is assigned with an Euler ZYZ convention around the the axes of the base frame.

Third, you should set up the parameters of the simulation. These can be accessed by clicking on the "Set Simulation" button at the left hand side of the upper tool bar. Notice that in order to correctly replay the movement animation, the simulation should have at least 30 output intervals per second.

Fourth, you should press the "Run" button in the visual command panel in order to start the simulation.

Fifth, you should have a bit of patience and wait a few seconds for the simulation to start. A typical startup delay takes less than ten seconds.

How to use the parameters and variables tabs:

Parameters and variables are organized in two visual trees. Each node of the trees correspond to a block in the robot model.

When expanding a node in the parameters tree, the parameters of the correspondent block are listed in a table at the bottom left corner of the window. Parameter values can be changed using that table.

When expanding a node in the variables tree, the variables of the correspondent block are listed in a table at the bottom left corner of the window. Variables transients plots can be accessed by double clicking the variables names in the variables tree, or by selecting the variables in the lower table. If a variable graph window is opened before a simulation is started, the variable transient will be updated in the graph while simulation is running. If a variable graph window is opened after a simulation is terminated, the entire variable transient can be downloaded by clicking on the "Load Result" button, in the upper tool bar of the main window.

Web Master
Marco Gritti

Download the Project!