34
Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian Zhang Amritam Das Michail Papamichail

Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Embed Size (px)

Citation preview

Page 1: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

1

[5HC99] Embedded Visual Control

Group #5 / Embedded Visual Control

Self-Balancing

Robot Navigation

Paul Padila

Vivian Zhang

Amritam Das

Michail Papamichail

Page 2: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

2

Overview

1. Introduction

2. Objectives

3. Design

4. Control

5. Vision

6. Conclusions and Recommendations

Group #5 / Embedded Visual Control

Page 3: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

3

1. Introduction

Group #5 / Embedded Visual Control

► The Self-balancing robots not so popular and do not have many applications yet.

► They are mostly used for educative purposes

► Possible reason: hard to be stabilized under certain conditions.

Application of self-balancing robot

Two wheels self-balance electric scooter

Page 4: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

4

1. Introduction

Group #5 / Embedded Visual Control

► The color tracking method is also not very popular yet.

► Possible reasons could be that colors are hard to be tracked during intense sunshine or during the night.

Application of color tracking method

Color-based Object Tracking in Surveillance

Page 5: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

5

1. Introduction

Group #5 / Embedded Visual Control

► The camera is mounted in a robot and not anchored in a wall.

► The robot have automated navigation and can scout areas.

► Limits the amount of cameras that are needed.

► Cameras cannot be tricked by changing clothing color in blind spots.

► There can be a network of cameras that can track the target cooperatively.

Possible application in the future

By Combining the previous two applications one can achieve

a new improved Surveillance system with great advantages.

Page 6: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

6

1. Introduction

Group #5 / Embedded Visual Control

► Gesture detection

► Shape detection

Playstation eye gesture detection

Other visual methods

Page 7: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

7

1. Introduction

Group #5 / Embedded Visual Control

► A robot that can perform certain tasks in a hospital.– Empties the trash.– Refills supplies.

Future applications in general

By Combining a self-balanced robot with any of the visual

method of detection.

► A robot that can identify flawed parts in constructions.– It recognizes skewed shapes.– It can work even if the construction site is closed.– It increases the safety of the construction site.– It protects the investments.

Page 8: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

8

3. Design

Group #5 / Embedded Visual Control

Mechanical Design

► Multi-layer.

► Rigid supports.– Electronics– Motors

Page 9: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

9

3. Design

Group #5 / Embedded Visual Control

Support Structure► The selected thickness of

the material is able to support the weight of the set of batteries used.

► This material is lightweight (minimizes the total weigh). This means an improvement in the energy consumption of the robot.

► MDF is easy to and inexpensive material that can be used with laser cutting machines.

Page 10: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

10

3. Design

Group #5 / Embedded Visual Control

Plates

Page 11: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

11

3. Design

Group #5 / Embedded Visual Control

Motor Base

► Motors should be perfectly aligned.

► Misalignment causes vibrations and deviations during the displacement of the Robot

Page 12: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

12

3. Design

Group #5 / Embedded Visual Control

Motor

► Functions:– Stabilization – Displacement of

the robot

►Fast reactions

►Large torque

Page 13: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

13

3. Design

Group #5 / Embedded Visual Control

Batteries

► Maximum energy consumption: 12V at 5.2A.

► 18650 batteries: 3.7V(x3) at 5.3A

Page 14: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

14

3. Design

Group #5 / Embedded Visual Control

Arduino Shield

► Compact and easy to install.

► The interfaces between the sensors and the control are ready to use

►MPU-6050: 3-axis gyroscope and a 3-axis accelerometer in a single chip with I2C communication

►L298P: Motor driver, high voltage (50V) and high current (4A) dual channel full-bridge

Page 15: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

15

3. Design

Group #5 / Embedded Visual Control

Arduino UNO

► Control unit.– Sensors– Actuators

Page 16: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

16

4. Control

Group #5 / Embedded Visual Control

Control Problem

► Stabilization Problem

► Position Problem

Page 17: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

17

4. Control

Group #5 / Embedded Visual Control

Stabilization Problem

► P

► PD

► PI

Page 18: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

18

4. Control

Group #5 / Embedded Visual Control

Position Problem

► P

► PD

► PI

Page 19: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

19

4. Control

Group #5 / Embedded Visual Control

Control Design

► Different control objectives.

► Same actuator.

► Different time constants are fundamental to guarantee stability

Page 20: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

20

4. Control

Group #5 / Embedded Visual Control

Performance

Parameter Value

Settling time 3 sec

Position tolerance

+/- 4cm

Tracking tolerance

+/- 4 cm

Page 21: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

21

Vision

–Image Processing– Colour Tracking 

– Open CV

– Integration with Control

– Hardware

– Object Following 

Page 22: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

22

Choice of Hardware - Raspberry Pi 2 + pi Camera

Page 23: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

23

Capturing Consistent Image

► To fix exposure time, set the shutter_speed attribute to a reasonable value.

► To fix exposure gains, let analog_gain and digital_gain settle on reasonable values, then set exposure_mode to 'off'.

► To fix white balance, set the awb_mode to 'off', then set awb_gains to a (red, blue) tuple of gains. Optionally, set iso to a fixed value.

Page 24: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

24

Capturing Consistent Image – Sample Implementation

Page 25: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

25

Color Tracking

► Image Conversion

Page 26: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

26

Noise Elimination

► Morphological Operation

► Erosion

Dilation

Page 27: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

27

Thresholded Image with Morphological Operation

Page 28: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

28

Edge Detection + Contour Analysis

► Canny Edge Detection + Gaussian Blur Filter

Page 29: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

29

Integrating Raspberry pi with Arduino

► Serial Communication

Page 30: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

30

Object Tracking Algorithm

► Boolean Logic

Page 31: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

31

Object Tracking Algorithm

► Proportionate Controller

Page 32: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

32

Performance of Object Tracking

Camera Reaction Time

– camera

– object

Page 33: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

33

Performance of Object Tracking

Change in The object Distance

Page 34: Group #2 / Embedded Motion Control [5HC99] Embedded Visual Control 1 Group #5 / Embedded Visual Control Self-Balancing Robot Navigation Paul Padila Vivian

Group #2 / Embedded Motion Control

34

Performance of Object Tracking

Movement of the Camera