All Projects → boschresearch → fmi_adapter

boschresearch / fmi_adapter

Licence: other
Integrating functional mock-up units (FMUs) in ROS nodes

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
CMake
9771 projects
Modelica
51 projects

Projects that are alternatives of or similar to fmi adapter

erdos
Dataflow system for building self-driving car and robotics applications.
Stars: ✭ 135 (+419.23%)
Mutual labels:  robotics, ros
aruw-vision-platform-2019
ARUW's vision code from the 2019 season. Published here, read-only, for public reference.
Stars: ✭ 37 (+42.31%)
Mutual labels:  robotics, ros
direct lidar odometry
Direct LiDAR Odometry: Fast Localization with Dense Point Clouds
Stars: ✭ 202 (+676.92%)
Mutual labels:  robotics, ros
aerial autonomy
Easily extendable package for interacting with and defining state machines for autonomous aerial systems
Stars: ✭ 22 (-15.38%)
Mutual labels:  robotics, ros
ROS-GPS
GPS Localization with ROS, OSM and rviz
Stars: ✭ 19 (-26.92%)
Mutual labels:  robotics, ros
piper
No description or website provided.
Stars: ✭ 50 (+92.31%)
Mutual labels:  robotics, ros
2019-UGRP-DPoom
2019 DGIST DPoom project under UGRP : SBC and RGB-D camera based full autonomous driving system for mobile robot with indoor SLAM
Stars: ✭ 35 (+34.62%)
Mutual labels:  robotics, ros
Mcl 3dl
A ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.
Stars: ✭ 221 (+750%)
Mutual labels:  robotics, ros
trac ik
ROS 2 port of `trac_ik`, an alternative Inverse Kinematics solver to the popular inverse Jacobian methods in KDL.
Stars: ✭ 14 (-46.15%)
Mutual labels:  robotics, ros
erwhi-hedgehog
Erwhi Hedgehog main repository
Stars: ✭ 31 (+19.23%)
Mutual labels:  robotics, ros
interbotix ros manipulators
ROS Packages for Interbotix Arms
Stars: ✭ 32 (+23.08%)
Mutual labels:  robotics, ros
ROS-TCP-Connector
No description or website provided.
Stars: ✭ 123 (+373.08%)
Mutual labels:  robotics, ros
Ros robotics projects
Example codes of new book ROS Robotics Projects
Stars: ✭ 240 (+823.08%)
Mutual labels:  robotics, ros
smart grasping sandbox
A public sandbox for Shadow's Smart Grasping System
Stars: ✭ 69 (+165.38%)
Mutual labels:  robotics, ros
Cupoch
Robotics with GPU computing
Stars: ✭ 225 (+765.38%)
Mutual labels:  robotics, ros
linorobot2
Autonomous mobile robots (2WD, 4WD, Mecanum Drive)
Stars: ✭ 97 (+273.08%)
Mutual labels:  robotics, ros
Ros2 rust
Rust bindings for ROS2
Stars: ✭ 187 (+619.23%)
Mutual labels:  robotics, ros
Gqcnn
Python module for GQ-CNN training and deployment with ROS integration.
Stars: ✭ 216 (+730.77%)
Mutual labels:  robotics, ros
RoboticsAcademy
Learn Robotics with JdeRobot
Stars: ✭ 160 (+515.38%)
Mutual labels:  robotics, ros
FusionAD
An open source autonomous driving stack by San Jose State University Autonomous Driving Team
Stars: ✭ 30 (+15.38%)
Mutual labels:  robotics, ros

License Build status Build status Build status Build status Code coverage

The fmi_adapter repository

This repository provides the fmi_adapter package for wrapping functional mockup units (FMUs) for co-simulation of physical models into ROS 2 nodes, i.e. for the version ROS 2. The implementation for the first generation of ROS can be found in the melodic_and_noetic branch.

FMUs are defined in the FMI standard and can be created with a variety of modeling and simulation tools, including Dymola, MATLAB/Simulink, OpenModelica, SimulationX, and Wolfram System Modeler.

fmi_adapter provides a library with convenience functions based on common ROS types to load an FMU during runtime, retrieve the input, output, and parameter names, set timestamped input values, run the FMU's numeric solver, and query the resulting output.

In detail, this repository contains two ROS 2 packages:

  • fmi_adapter provides a generic library and node for loading and running FMUs in ROS-based applications.
  • fmi_adapter_examples provides small examples for the use of fmi_adapter.

Technical information on the interfaces and use of these packages is given in the README.md files in the corresponding subfolders.

Purpose of the project

The software is not ready for production use. It has neither been developed nor tested for a specific use case. However, the license conditions of the applicable Open Source licenses allow you to adapt the software to your needs. Before using it in a safety relevant setting, make sure that the software fulfills your requirements and adjust it according to any applicable safety standards (e.g. ISO 26262).

Requirements, how to build, test, install, use, etc.

Clone the repository into a ROS workspace and build it using colcon.

License

fmi_adapter is open-sourced under the Apache-2.0 license. See the LICENSE file for details.

For a list of other open source components included in fmi_adapter, see the file 3rd-party-licenses.txt.

Quality assurance

The colcon_test tool is used for quality assurances, which includes cpplint, uncrustify, flake8, xmllint and various other tools.

Unit tests based on gtest are located in the fmi_adapter/test folder. The unit tests use an FMU created with the FMU SDK by QTronic GmbH, cf. 3rd-party-licenses.txt.

Known issues/limitations

Please notice the following issues/limitations:

  • fmi_adapter only supports FMUs according to the FMI 2.0 standard.
  • fmi_adapter treats all inputs, outputs and parameters of a given FMU as floating-point values (ROS message std_msgs::msg::Float64, C++ type double, FMI type fmi2fmi2_real_t).

Papers

If you want to cite this repository/package, please cite the following book chapter (PDF available at Springer Link) instead:

Ralph Lange, Silvio Traversaro, Oliver Lenord, and Christian Bertsch: Integrating the Functional Mock-Up Interface with ROS and Gazebo. In: Anis Koubaa (ed.) Robot Operating System (ROS): The Complete Reference (Volume 5), Springer, pp. 187–231, 2021.

@INBOOK{Lange_et_al_2021_Integrating_the_FMI_with_ROS_and_Gazebo,
  author = {Ralph Lange and Silvio Traversaro and Oliver Lenord and Christian Bertsch},
  title = {Integrating the Functional Mock-Up Interface with ROS and Gazebo},
  editor = {Anis Koubaa},
  booktitle = {Robot Operating System (ROS): The Complete Reference (Volume 5)},
  year = {2021},
  publisher = {Springer},
  pages = {187--231},
  doi = {10.1007/978-3-030-45956-7_7}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].