IBM Service Oriented Modeling and Architecture TM (SOMA) Licensed Materials - Property of IBM © Copyright IBM Corporation 2009. All rights reserved. Introduction to Robotics Dr. Ali Arsanjani
Dec 14, 2015
IBM Service Oriented Modeling and Architecture TM (SOMA)
Licensed Materials - Property of IBM © Copyright IBM Corporation 2009. All rights reserved.
Introduction to Robotics
Dr. Ali Arsanjani
2
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
PART 1: THE ENGINEERING PROCESS
3
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
The Engineering Process: Part 1 : the Cycle of Progress
Transcend
Plan and Design
Prototype &
Test
Integrate
& Test
Record & Reflect
hardware
software
GOAL
Capabilities & Mechanisms;Strategies for using the above
Add the sub-system you tested to the larger structure
Record the results and reflect on what adjustments you need to make
Decide if you have reached your goal, if so, choose another goal and its capabilities
4
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Plan and Design
Scope the effort; – how much will you undertake in this iteration?
Plan : decide who will do what in what amount of time!
– Roles, tasks, durations, finances
Design the capabilities and the system or sub-system that those capabilities form
5
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
The capabilities can be grouped into “systems”
Collect balls
Deploy balls
Trigger the Ball Chute
Start Bush mechanism
Reverse Bush mechanism
Lower ramp
Start motors
Raise Loader
Deployment systemCollection system
How do they interface? (connect)
A system: a cohesive group of capabilities working together towards a goal.
6
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Prototype and test
Build a prototype for the set of capabilities (sub-system) you have chosen to focus on
Test the prototype
Change it until you are meeting your goals and objectives
7
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Integrate and test
Integrate the capabilities (sub-system) you just built and tested into the whole system
Test how the new set of capabilities work in the context of the whole system
8
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Record and reflect
Record results
Discuss and reflect on outcomes
Decide on changes for the next iteration
9
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Integrating Hardware and Software
The Engineering Process is an iterative one– “Iterative: involving repetition”
– It takes several iterations to get something right
– Don’t expect to get it right the very first time!
– Design first, then prototype with basic materials (card board etc.) then prototype with more sturdy material (more realistic prototype)
10
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
PART 2: GOALS AND CAPABILITIES
11
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Goals drive everything
In this module you will learn the relationship between hardware and software and goals
Hardware has features and mechanisms
Software provides capabilities
Goals are things you want to achieve
Often these goals rely on more detailed goals being achieved first
To achieve any goal, you need a capability
12
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Start with the Goal you want to achieve and see what other sub-goals need to be achieved first
Goals– What are we trying to do? What objective(s) do we want to achieve?
Sub-goals
Sub-goal2
Sub-goal1
Goal
Goal: to get this gear moving
In order to do that, we need to get this gear to work first
And before all else, we need to get this one going!
13
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Capabilities and mechanisms allow you to achieve goals
Score on low goal
Trigger Ball Chute
Collect Balls
Use a “bush” to collect in
storage
Bush + 2 NXT Motors +
Spiral Zip Ties
Lower a ramp to let balls in
Ramp with Servo
Deploy Balls Raise Storage Area
Two Level Storage with
Servo
Goal
Capabilities Capabilities use mechanisms
14
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Mechanisms enable capabilities to achieve goals
Goals Capabilities Features / Mechanisms
15
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
IBM Service Oriented Modeling and Architecture TM (SOMA)
Licensed Materials - Property of IBM © Copyright IBM Corporation 2009. All rights reserved.
Robotics Engineering Process
<see Phase I slides>>
17
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Principles
Start with Goals and Objectives; tie everything to goals– Why?
Decrease waste, time, false starts, changes, human discord
Design Before you Build or Code
Prototype/Test before you Build
Decide on an incremental set of functionality
Build up; get it working first, then enhance
Prototype with the simplest material first; prove it, then pay for the better material
As you approach the end game, freeze the changes
If it ain’t broke, don’t fix it!
Study scenarios and contingencies
Do parallel design and prototyping
Test and pick the best (the one that most easily gets you to your goal)
18
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
What are SCI principles related to the principles of robotic design?
List 3
19
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Goal-Oriented
Goals
Capabilities– What can the robot do?
– Usually tied to software controlled set of mechanisms working together
Features/Mechanisms– Hardware
Strategies– How you use the mechanisms and capabilities to achieve the goals
20
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Context and Sensors
Sensing the environment gives you context– Programming Sensors give you contextual information
Building a robot is mechanics and only becomes robotics when you imbibe it with intelligence
Intelligence comes from awareness, which comes from using sensors
21
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Don’t over-automate
“Leave the driving to us” – greyhound principle
– Partially delegate driving to the robot itself, until it grows up
I.e., you add enough guard code to disallow the robot to hurt itself
IBM Service Oriented Modeling and Architecture TM (SOMA)
Licensed Materials - Property of IBM © Copyright IBM Corporation 2009. All rights reserved.
Modified Asimov Laws of Robotics
23
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Isaac Asimov's "Three Laws of Robotics"
A robot may not injure a human being or, through inaction, allow a human being to come to harm.
A robot must obey orders given it by human beings except where such orders would conflict with the First Law.
A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
24
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
Rewrite the laws to fit our competition
IBM Service Oriented Modeling and Architecture TM (SOMA)
Licensed Materials - Property of IBM © Copyright IBM Corporation 2009. All rights reserved.
The Practical Functions of a DesignPart 4
26
Robotics Engineering Academy
© Robotics Engineering Academy, 2009. All rights reserved.
A design's practical functions can include:
movement How will the robot move within its environment? If it were put in a different environment, would it still be able to move within this new space?
manipulation How will the robot move or manipulate other objects within its environment? Can a single robot move or manipulate more than one kind of object?
energy How is the robot powered? Can it have more than one energy source?
intelligence How does the robot "think?" What does it mean to say that a robot "thinks?"
sensing How will my robot "know" or figure out what's in its environment? If it were put in a different environment, would it be able to figure out this new environment