Table of Contents
Tutorials
We provide tutorials to learn applying and using the SmartMDSD Toolchain. Tutorials are grouped thematically into lessons. Please check the full list in order to find those best addressing your interests. In case you get into trouble, see Contact and Support. Some of the tutorials are also available as video tutorial YouTube Videos.
The effort to follow these tutorials is fairly low since we provide a virtual machine image (virtual appliance) with everything set-up and ready-to-go.
- The tutorial Getting Started with the SmartMDSD Toolchain gives you very basic information.
- Guidance on different entry points and ressources is given by the Getting Started Guide.
- See Helpful Tools for covenient helpers such as visualization etc.
In addition,
- HowTo's provide very precise and short descriptions of how to do a specific task in the SmartMDSD Toolchain
- Student Exercises collects lab work exercises for student courses
Download and Starting
- In case you already downloaded and installed everything, just skip this part and proceed with the below tutorials.
- In case someone else did the installation for you, please talk to that person to know about how to access the installation.
Experience Levels
beginner | For people just getting in touch with our tools. Basic robotics knowledge is a plus. |
---|---|
advanced | For full fledged users who want to apply all parts of the SmartSoft World. |
experienced | For the full user and robotics experts who want to understand, deeply apply, exploit, and eventually contribute to the SmartSoft World. |
Easy Start and Fast Success
Lesson 1: Look at an Existing System and Run it
This lesson guides you through the SmartMDSD Toolchain and software development environment to get an overview and a comfortable start. We do this by running different robots in simulation. You get an immediate impression of the power of the SmartMDSD Toolchain and its development tools. We provide all the hints of where to find more information, documentation, reusable components etc. We will accomplish all the tasks of this tutorial and the next tutorials by using a Virtual Machine.
- Simple System: Laser Obstacle Avoid
Explore and run a simple obstacle avoidance robot in simulation
(Pioneer P3DX and Robotino in Webots).- features a simple reactive and collision-free motion of a robot with a laser ranger
- example is simple by purpose and you get hands-on experience with the toolchain
- A More Complex System using the Flexible Navigation Stack
Explore and run a more complex system in simulation (Pioneer P3DX, Robotino, TIAGo, RMP50, Webots). The flexible navigation stack is a full Navigation Stack (mapping, path planning, collision avoidance, localization, etc.). The example is based on a composition of off-the-shelf software components as they are used in physical robots.- features a full navigation stack
- example uses simulation for easy use of different robots in different environments
- Also available as video tutorial.
- Further Systems Ready-to-Run in Simulation
Get a quick overview with no effort on what is already available and ready-to-use. You run more complex systems in simulation but these systems are also available with real robots in real-world settings. It comes with a lot of videos, such as Webots Components, Navigation, Transportation.
Lesson 2: Develop Your First Component, Compose Your First System, Run it in Simulation
- Develop Your First Software Component
How to develop a simple Laser Obstacle Avoid component.
Also available as video tutorial.
- Develop Your First System by Composing Software Components
Compose a simple laser obstacle avoid system with the Pioneer P3DX robot and the Webots simulator. You also learn how to setup a robot and a world in the Webots simulator.
Also available as video tutorial.
- Develop Your First Domain Model (to be updated)
Complete the picture of component modeling and become able to add custom services to your component: understand how to model a service definition and how to model a communication object. Important hint: service definitions as well as communication objects are pre-specified for component developers via the domain models and component developers use them as is. They are not introduced by component developers but are agreed upon by domain experts. Nevertheless, component developers can come up with suggestions to domain experts. This tutorial closes the loop for understanding services and communication objects.