Category Archives: Java

Fmu2Jar

Fmu2Jar is a command line utility for converting Functional Mock-up Units (FMUs) into regular Java libraries.

This allows the FMU to be loaded into an application using maven artifacts rather that referring to the location of the FMU in your app.

Furthermore, typesafe getters and setters for each variable is generated and accessiable though the API.

E.g. an fmu with the a ScalaraVariable with name “pid.kp” of type Real will have a getter like so: public double getPid_kp()

Fmu2Jar is apart of the FMI4j suite and is available here:  https://github.com/SFI-Mechatronics/fmi4j/releases

FMI4j – FMI library for the JVM

FMI4j is a new open-source Kotlin library that allows import and simulation of Model Exchange and Co-simulation FMUs compliant with the FMI 2.0 standard.
As Kotlin is 100% interoperable with Java, its up to the end user which language to use.

As of late 2017, Fmi4j is the only Java library that support Model Exchange 2.0.
Fmi4j don’t just import such FMUs, but can also solve them using the integrators available in Apache Commons Math.

Fmi4j uses the gradle build system, allowing you to easily set it up on your own machine.

FYI: I am the library author

Simple Dual Quaternion based Scene graph

I’m currently working on a simple scene graph implementation in Java, which I will share under a open source license soon. By simple I mean simple. If you are looking for a scene graph for your game, you might want to check out other more elaborate scene graphs made especially for that purpose. The purpose of mine is primarily to model simple kinematic chains like robot manipulators for simulation purposes.

What’s neat about this one is that it uses uses Dual Quaternions instead of homogeneous transformation matrices. On of the benefits of doing so is a increase in performance.

The Dual Quaternion class is basically a Java implementation of the C# code found in this beginners guide to Dual Quaterions.

I got a working prototype up and running, and so far I am very pleased with the result.

EDIT: I have a working Dual Quaternion javascript implementation running here, which showcases the ScLERP function.

Continue reading Simple Dual Quaternion based Scene graph

Symbolic manipulator FK and Jacobian in Java

Today I’m posting my Java code for getting the symbolic forward kinematics (FK) and Jacobian for an arbitrary serial manipulator.
As symbolic computation libraries are sparse in Java, I’m invoking Python from the terminal and retrevies the output using I/O streams. As such, Python needs to present on the system.
The Python code is embedded in the Java code as a String.

Continue reading Symbolic manipulator FK and Jacobian in Java

JOpenShowVar v0.2

Today I updated JOpenShowVar with some neat features compared to how it was before. Check it out on github. The Github readme contains an example of how to use v0.2 and has also an comparison to v0.1.

JOpenShowVar is a TCP/IP interface to KUKA robots written in Java. It allows reading and writing of global variables defined in the KUKA controller.

While JOpenShowVar cannot guarantee real-time access like e.g the KUKA RSI package, it usually returns a call in 3-10 ms.

Console view
Console view
GUI view
GUI view

JOVR – Java bindings for Oculus Rift SDK 0.4.2.0

Oculus Rift Development Kit 2
Oculus Rift Development Kit 2

A software developer with the alias jericho has released JNA based Java bindings for the newly released Oculus Rift 0.4.2.0 SDK.

It is available from his github page.

Prebuilt jars are available from the maven repository (.dlls are embedded)

Here is a simple  WebSocket server  I’ve wrote that provides clients with the tracking info:

Now go code some awsome Oculus demoes 😉