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.
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.
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.
In this post you’ll find the code for a Java program that will read the sensor data from the Oculus Rift DK2 (Position and Orientation), and transmit it over a web socket connection. It’s all contained in a single class, so it’ll easy to just copy paste it into your favorite IDE.