Table of Contents
Downloads & Resources
There is no one-click download of our software—what you need depends on your role in the robotics ecosystem and your level of influence. This page provides a complete overview on all available resources.
You don't know what you are looking for?
This page is intended for experts who want to get deeply involved. If you want to setup a full development environment or just want to try it out, please refer to the Getting Started Guide or/and install the Installation of the SmartSoft World.
SmartSoft is a whole world of concepts, structures, tools, and content (models, software components, systems) as illustrated in the figure below. For each of the illustrated parts (dashed boxes) we maintain separate repositories.
Individual Downloads and Resources
To develop your own components or/and to compose them to systems, you will require tooling:
- SmartMDSD Toolchain
To run systems, you will require to download the framework implementation:
- Component Developer API (C++)
Additionally, you may want to download the following content to work with:
- Domain Models
- Software Components
- Additional Data
- Additional Utilities
For a full development environment, recommend to download and install all of them. Note: The Installation of the SmartSoft World is a installer to set up a complete software development environment. We recommend to use this installer. If you need full flexibility, you can do a manual installation as documented in each of the repositories on GitHub: https://github.com/Servicerobotics-Ulm
|Structures and Concepts|
|Structures and concepts are available in several publications and wiki pages, both in this wiki and in the RobMosys wiki. Read more About the SmartSoft World and the publications. The structures are expressed via meta-models and are described in the RobMoSys Wiki (RobMoSys composition structures) and are packaged as Ecore in the SmartMDSD Toolchain source distribution.|
|SmartMDSD Toolchain||An Integrated Development Environment (IDE) for robotics software development using model-driven software development. See SmartMDSD Toolchain for more information and (standalone) installation instructions.|| Binaries
|Virtual Machine||The SmartSoft Virtual Machine provides an ready-to-go environment to try out the SmartSoft World. See Ready-To-Go Virtual Appliances||Virtual Appliance|
|API and Implementations|
|Component Developer API (C++)||Many structures relate to component infrastructure and communication via “communication patterns”. It is defined in the component developer API.|| Sources
|ACE/SmartSoft|| A messaging-based implementation of the Component Developer API based on the Adaptive Communication Environment (ACE) middleware.|
Current reference implementation. Stable.
|OPC UA||OPC UA based implementation of the Component Developer API. See also: SeRoNet||Not yet released.|
|DDS/SmartSoft|| RTI Connext DDS based implementation of the Component Developer API.|
|CORBA/SmartSoft|| CORBA-based implementation of the Component Developer API.|
Oldstable / Maintained till 2013
|Content to work with: Tier 2 Domain Models, Tier 3 Components, and Tier 3 Systems|
|Domain Models||SmartMDSD Toolchain projects with Tier-2-models. E.g. service definitions, coordination interfaces, skill definitions, etc.||Repository|
|Software Components||SmartMDSD Toolchain projects with models of previously developed software components that are available for immediate composition.|| Repository
|Systems||SmartMDSD Toolchain projects with models of examples, demonstrations, and operational applications. See also Videos||Repository|
|Additional Data||Additional data that is required by some components or systems. For example, it includes environments for simulators (e.g. for use with Gazebo and PlayerStage simulators).||Repository|
|Additional Utilities||Additional utilities used by some domain models and components.||Repository|
|OPC UA Devices||Repository with “traditional” OPC UA Servers and Clients to demonstrate the use of OPC UA Devices with the SmartMDSD Toolchain.||Repository|
Bugs and Issues
To file a bug, please follow the above links to GitHub Source Code Repositories → Issues and file a bug there.
These links and repositories are either outdated, deprecated, or/and no longer being maintained and collected here for historical reasons or specific access. Please refer to downloads above for current versions.
- SourceForge “SmartSoft-Robotics”: https://sourceforge.net/projects/smart-robotics/
Former SmartMDSD Toolchain generations (until/including v2-generation), virtual machine images, and the SmartSoft/CORBA implementation of the SmartSoft Framework. Outdated, no longer being maintained. See above for its v3-generation successor.
- SourceForge “SmartSoft-Robotics-ACE”: https://sourceforge.net/p/smartsoft-ace/
SmartSoft/ACE: ACE-based implementations of the v2-generation SmartSoft Framework and Software components. See above for its v3-generation successor.
- SourceForge “SmartSoft-Robotics-MDSD”: https://sourceforge.net/p/smartsoft-mdsd
v0-generation of the SmartMDSD Toolchain. Deprecated, no longer being maintained.
- SourceForge “SmartSLAM”: https://sourceforge.net/projects/smartslam/
SmartSLAM is an open source C++ library for SLAM (Simultaneous Localization and Mapping) algorithms in robotics based on probabilistic methods. It is a library developed at Hochschule Ulm and had been packaged as software component. No longer being maintained.