Virtual Prototyping

Behzad Samadi, PhD

Mechatronics3D

It All Started with LEGO!

LEGO MINDSTORMS NXT

LEGO MINDSTORMS
LEGO®

LEGO MINDSTORMS EV3

LEGO®
LEGO®

Visual Programming

NXT-G
Geek Dad
LEGO®

Open Software

image

Open Hardware

image

Bicycle


Razyeh Mousavi

Ballbot

NXTway


Hamid Bazargani
NXTway-GS

Ball on Plate

Electronics Stability Control


Reza Azimi
NXTway-GT

LEGO MINDSTORMS

It was very exciting at first but I had more than 40 students and only 3 sets of LEGO Mindstorms!

Amazing Journey

We realized that before making the robot, there were a lot of things that we needed to learn.

Operating System

Virtual Robot

3D Animation

Controller Design

How About a Virtual LEGO Set?

  • This virtual robot is interesting but what if I want to build another robot?
  • How hard is it to build a virtual robot?

Causal Modeling

  • Writing the dynamic equations
  • Converting the equations to ordinary differential equations
  • Creating a signal flow model e.g. a Simulink model
  • Building a virtual robot seems to be different from building a real robot

Virtual LEGO Set

What if we had a set of virtual LEGO parts and we could build a robot with them?

Virtual LEGO Set

We made one!

Alborz Gharraee

Acausal Modeling

Modelica and MapleSim

  • The connections between components are physical connections like position, voltage, flow,...
  • Acausal modeling is very similar to building a real system

Electrical Systems

Mechanical Systems

Hydraulic Systems

Thermal Systems

Chemical Systems

Acausal Modeling with MapleSim

Functional Mockup Interface

  • Model Exchange, Co-Simulation, Product Lifecycle Management
  • There are over 35 Tools supporting FMI

Courtesy of ITAE

Model Based Development

The V Diagram

from engineering.com

Trial and Error


Expensive, time consuming, not reliable

Model Based Approach

Model Based Development


Saves resources, time, money

Courtesy of ITAE

Old Approach

  • Easy: build the model and design the controller in a high level environment like MATLAB
  • Hard: rewrite your code for the hardware controller on the physical prototype
  • Problem: rewriting the code is time consuming and error prone

Modern Approach

Software in the Loop

  • The controller and the virtual prototype are two different applications.
  • The applications "talk" to each other using a "middleware".
  • The controller doesn't see the difference between the virtual and physical prototypes.
  • Software engineers do not have to wait for the hardware!

Middleware

  • Using the same language to exchange messages
  • Components can be replaced without affecting the whole system

Robot Operating System

What is ROS?

  • a set of software libraries and tools
  • from drivers to state-of-the-art algorithms
  • powerful developer tools
  • open source.

PR2 by Willow Garage

Willow Garage is changing

TurtleBot

Husky

Clearpath Robotics, Waterloo, Ontario

Baxter

list of robots

ROS Industrial and MoveIt

list of robots

src

NXT ROS

brown-ros-pkg

ROS 101

ROS 101

ROS 101

more

Camera

Mike Charikov

OpenCV

OpenCV

motion, line, face, feature detection

Depth Estimation with OpenCV

src

Gesture Detection with OpenCV

src

CloudSim

Resources

Bookmarks

Bookmarks