TMABot presentation Sheet 3 of 37 Topics - - PowerPoint PPT Presentation

tmabot presentation sheet 3 of 37 topics intro 3
SMART_READER_LITE
LIVE PREVIEW

TMABot presentation Sheet 3 of 37 Topics - - PowerPoint PPT Presentation

TMABOT (how to build your own robot) Rein Velt Competa Conference Center 17 november 2011 TMABot presentation Sheet 2 of 37 TMABot presentation Sheet 3 of 37 Topics


slide-1
SLIDE 1

TMABOT

(how to build your own robot) Rein Velt Competa Conference Center 17 november 2011

slide-2
SLIDE 2

TMABot presentation Sheet 2 of 37

slide-3
SLIDE 3

TMABot presentation Sheet 3 of 37

Topics

Intro................................................................................................3 Theo's Mechanic Ape................................................................4 What is a robot?........................................................................5 Why build a robot?....................................................................6 We can go to the store and buy a robot?...................................6 Three Laws of Robotics............................................................7 Requirements of the TMABot.......................................................8 Hardware design............................................................................9 What do we need?...................................................................10 Robot brains............................................................................11 Motor, wheels and physics......................................................12 Motordriver.............................................................................13 Batteries..................................................................................14 Frame......................................................................................15 Sensors ...................................................................................16 Hardware assembly......................................................................17 Mounting motors and wheels..................................................18 Connecting the microcontroller..............................................19 Assembled robot.....................................................................20 Software design...........................................................................21 Program flow (top level).........................................................22 Example Controller loop ........................................................23 Tmabot Controller loop ..........................................................24 Sourcecode (Arduino).............................................................25 Debugging & Commmunication ............................................26 Advanced robotbuilder tricks.....................................................27 Feedback.................................................................................28 Signal optimalisation...............................................................29 RC Filter (hardware)..........................................................30 Kalman filter (software).....................................................31 Mapping..................................................................................32 Wavefront algoritme ..............................................................33 SLAM.....................................................................................34 Need more information?..............................................................35 Questions?....................................................................................36

slide-4
SLIDE 4

TMABot presentation Sheet 4 of 37

Intro

Intro

slide-5
SLIDE 5

TMABot presentation Sheet 5 of 37

Theo's Mechanic Ape

Theo's Mechanic Ape

Hobbyclub for createchnic people Located in The Hague, Netherlands website: http://mechanicape.com projects: Modular robots Poetryphone Remote controlled things Live performances Kite camera mount TMAbot robot Poetrysafe Augmented reality software Animation films KAP

slide-6
SLIDE 6

TMABot presentation Sheet 6 of 37

What is a robot?

What is a robot?

From Wikipedia, the free encyclopedia: “A robot is a mechanical intelligent agent which can perform tasks on its own, or with guidance.”

slide-7
SLIDE 7

TMABot presentation Sheet 7 of 37

Why build a robot?

Why build a robot?

  • Robots are cool!
  • ...

We can go to the store and buy a robot?

  • The cheaper robots (<200 euro) are poor quality
  • Nice robots are expensive (>300 euro) and really nice robots are really

expensive (>2000 euro)

  • Making a robot is fun
slide-8
SLIDE 8

TMABot presentation Sheet 8 of 37

Three Laws of Robotics

Three Laws of Robotics

By Isaac Asimov (1943)

slide-9
SLIDE 9

TMABot presentation Sheet 9 of 37

Requirements of the TMABot

Requirements of the TMABot

  • The robot must be able to move autonomous
  • The robot must be able to avoid obstacles (three laws of

robotics?)

  • The robot must be easy to understand and modify
  • The robot must have enough power for at least 2 hours
  • peration time
  • We have 150 -200 euros to spend
slide-10
SLIDE 10

TMABot presentation Sheet 10 of 37

Hardware design

Hardware design

slide-11
SLIDE 11

TMABot presentation Sheet 11 of 37

What do we need?

What do we need?

  • Movement
  • motors
  • wheels
  • motordriver
  • microcontroller
  • Collission detection
  • sensor(s)
  • microcontroller
  • Power
  • Batteries
  • Frame
slide-12
SLIDE 12

TMABot presentation Sheet 12 of 37

Robot brains

Robot brains

Name Type Entry level Devboard+software Arduino Microcontroller beginner 25 euro Easy, Open source, Open Hardware, IDE works on Mac, Linux, Windows, Parallax basicstamp microcontroller beginner 70 euro Easy but expensive (outdated) Microchip PIC microcontroller experienced 30 euro Not for beginners (or buy commercial software) ARM processor microprocessor experienced 50 euro Not for beginners., Ideal for more complex robots

slide-13
SLIDE 13

TMABot presentation Sheet 13 of 37

Motor, wheels and physics

Motor, wheels and physics

Before you buy the motors you need to calculate the speed/torque ratio: Example:

  • Maximum weight of vehicle → 1Kg (guess) → 10 Newton
  • Radius of the wheels → 7cm → 0.07 meter
  • (force = mass * distance)
  • minimum required torque = 10 Newton * 0.07 meter = 0.7 N m = 70 N cm

Important: Torque is more important than speed!

slide-14
SLIDE 14

TMABot presentation Sheet 14 of 37

Motordriver

Motordriver

  • Each motors should use less than 3 Ampere (peak)
  • We want to use the LM298 H-bridge as motor driver (cheap, available as breakout board)

Remember:

  • more power → higher temperature → need extra components (cooling,

bigger batteries)

slide-15
SLIDE 15

TMABot presentation Sheet 15 of 37

Batteries

Batteries

  • Motors require 6 - 12V DC (more Volt=more torque)
  • Arduino requires 6 – 12V DC and delivers 5V DC
  • Battery must be rechargeable
  • Battery must contain enough energy for at least 2 hours

The motors use 0.5 Ampere each at 12 V (normal use) → 1A The microcontroller + sensors use 500mA Motor+microcontroller use 1.5A = 1500mA → LIPO 11.1V 3200mAh

slide-16
SLIDE 16

TMABot presentation Sheet 16 of 37

Frame

Frame

  • Material: wood (30x30x1cm)
  • Tools: saw (+sandpaper)
slide-17
SLIDE 17

TMABot presentation Sheet 17 of 37

Sensors

Sensors

Sensor type Principle Used for Do not use with Signal output Infrared, laser Light reflection Detecting small objects or details (small beam) Transparent or shiny materials, Distance (cm) Sonar Sound reflection Detecting big objects (wide beam) Clothing, with other sonars, not ok for small objects Distance (cm) Microswitch contact Detecting collission/impact On (1) Off (0) Compass Magnetic field Detecting course/direction Magnets (speakers) Degrees

slide-18
SLIDE 18

TMABot presentation Sheet 18 of 37

Hardware assembly

Hardware assembly

  • Don't solder wires directly to electronic components → use

connectors

  • Electronics (microcontrollers, sensors) use 12V, 5V or 3.5V. Don't

connect 3.5V sensors to 5V microcontrollers or they will burn.

  • Allways double check the connections
slide-19
SLIDE 19

TMABot presentation Sheet 19 of 37

Mounting motors and wheels

Mounting motors and wheels

slide-20
SLIDE 20

TMABot presentation Sheet 20 of 37

Connecting the microcontroller

Connecting the microcontroller

slide-21
SLIDE 21

TMABot presentation Sheet 21 of 37

Assembled robot

Assembled robot

slide-22
SLIDE 22

TMABot presentation Sheet 22 of 37

Software design

Software design

slide-23
SLIDE 23

TMABot presentation Sheet 23 of 37

Program flow (top level)

Program flow (top level)

slide-24
SLIDE 24

TMABot presentation Sheet 24 of 37

Example Controller loop

Example Controller loop

This is an example of a basic robot controller loop

slide-25
SLIDE 25

TMABot presentation Sheet 25 of 37

Tmabot Controller loop

Tmabot Controller loop

Simplified diagram of the Tmabot controller loop

slide-26
SLIDE 26

TMABot presentation Sheet 26 of 37

Sourcecode (Arduino)

Sourcecode (Arduino)

//SIMPLIFIED SOURCECODE EXAMPLE FOR ARDUINO void loop() { //read sensors ...int offset = 30; //30 centimeter int distanceCenter=analogRead(pinDistanceCenter); int distanceLeft =analogRead(pinDistanceLeft); int distanceRight =analogRead(pinDistanceRight); if (distanceCenter<offset) { //object detected if (distanceLeft<distanceRight) { goBackward(); delay(500); goRight(); } else { goBackward(); delay(500); goLeft(); } } else { //no objects detected goForward(); } }

slide-27
SLIDE 27

TMABot presentation Sheet 27 of 37

Debugging & Commmunication

Debugging & Commmunication

The Arduino (and most other microcontrollers and microprocessors) have a serial commmunications port You can use it for:

  • Programming the microcontroller
  • Debugging / Logging
  • Remote control
  • Communication with other robots and/or modules
slide-28
SLIDE 28

TMABot presentation Sheet 28 of 37

Advanced robotbuilder tricks

Advanced robotbuilder tricks

slide-29
SLIDE 29

TMABot presentation Sheet 29 of 37

Feedback

Feedback

slide-30
SLIDE 30

TMABot presentation Sheet 30 of 37

Signal optimalisation

Signal optimalisation

Signals contain noise. This can cause problems when interpreting the sensordata There are solutions to get a better signal and less noise:

  • Use shielded cables
  • Use shielded connectors
  • Keep sensors, cables and chips

away from noisemakers (motors, speakers)

  • Shield the noisemakers
  • Use hardware RC-filter to

eliminate high or low frequencies

  • Use software to filter the signals
slide-31
SLIDE 31

TMABot presentation Sheet 31 of 37

Signal optimalisation

RC Filter (hardware)

Low pass filter (drops high frequencies)

  • used to filter high frequency noise

High pass filter (drops low frequences)

  • used to filter 50Hz noise from 220V power supply

http://en.wikipedia.org/wiki/Filter_(signal_processing)

slide-32
SLIDE 32

TMABot presentation Sheet 32 of 37

Signal optimalisation

Kalman filter (software)

Model underlying the Kalman filter. Squares represent matrices. Ellipses represent multivariate normal distributions (with the mean and covariance matrix enclosed). Unenclosed values are vectors. In the simple case, the various matrices are constant with time, and thus the subscripts are dropped, but the Kalman filter allows any of them to change each time step. http://en.wikipedia.org/wiki/Kalman_filter#Underlying_dynamic_system_model

slide-33
SLIDE 33

TMABot presentation Sheet 33 of 37

Mapping

Mapping

Problems:

  • Drag
  • Sensor noise
  • GPS not working indoors

Solutions:

  • Odometry (wheel encoders)
  • GPS (outdoor)
  • Compass
  • Location beacons
slide-34
SLIDE 34

TMABot presentation Sheet 34 of 37

Wavefront algoritme

Wavefront algoritme

Find the most optimal route

  • 1. create a discretized map
  • 2. add a goal and robot location
  • 3. fill in the wavefront
  • 4. direct robot to count down

http://www.societyofrobots.com/programming_wavefront.shtml

slide-35
SLIDE 35

TMABot presentation Sheet 35 of 37

SLAM

SLAM

SLAM = Simultaneous Localization and Mapping

  • http://www.youtube.com/watch?v=bq5HZzGF3vQ
  • http://www.youtube.com/watch?v=Q1ipn42rMh8
slide-36
SLIDE 36

TMABot presentation Sheet 36 of 37

Need more information?

Need more information?

Theo's Mechanic Ape

  • http://mechanicape.com

Robot sourcecode + design

  • http://mechanicape.com/tmabot

Information for robotbuilders

  • http://www.societyofrobots.com

Components

  • http://iprototype.nl

(Arduino and sensors)

  • http://sparkfun.com

(Electronics)

  • http://conrad.nl

(transmission motors)

slide-37
SLIDE 37

TMABot presentation Sheet 37 of 37

Questions?

Questions?