• No results found

Design And Construction Of A Simple Bipedal Robot With Obstacle Avoidance System

N/A
N/A
Protected

Academic year: 2019

Share "Design And Construction Of A Simple Bipedal Robot With Obstacle Avoidance System"

Copied!
24
0
0

Loading.... (view fulltext now)

Full text

(1)

“I hereby declare that I have read through this report entitled “Design and Construction of a Simple Bipedal Robot with Obstacle Avoidance System” and found that it has comply the partial fulfilment for awarding the degree of Bachelor of Mechatronics Engineering.

Signature : ...

Supervisor’s Name : Dr. Fariz bin Ali@Ibrahim

(2)

DESIGN AND CONSTRUCTION OF A SIMPLE BIPEDAL ROBOT WITH OBSTACLE AVOIDANCE SYSTEM

WONG ZHE MING

A report submitted in partial fulfillment of the requirements for the degree of Bachelor of Mechatronics Engineering

Faculty of Electrical Engineering

UNIVERSITI TEKNIKAL MALAYSIA MELAKA

(3)

iii

I declare that this report entitled “Design and Construction of a Simple Bipedal Robot with Obstacle Avoidance System” is the result of my own research except as cited in the references. The report has not been accepted for any degree and is not concurrently submitted in candidature of any other degree.

Signature : ...

Name : ...

(4)

iv

(5)

v

ACKNOWLEDGEMENT

I would like to take this opportunity to express my gratitude to my Final Year Project supervisor, Dr. Fariz bin Ali@Ibrahim for accepting me to be his supervise. Thank you for his invaluable support, encouragement, supervision and suggestions in my Final Year Project. Without his encouragement, I would face many problems in my final year project.

Next, I would like to thank Universiti Teknikal Malaysia Melaka (UTeM) for funding me to do my Final Year Project. Special thanks to the UTeM library for providing me resources and relevant literatures for my project.

(6)

vi

ABSTRACT

The main objective of this project is to design and construct a simple bipedal robot with obstacle avoidance system by using Arduino microcontroller board and Dynamixel AX-12A servo as actuators. The developed bipedal robot consists of 8 Degree of Freedom which capable of walking in three dimensional motions (walking forward, turning left and turning right). The design aspects cover the use of inverse kinematic method to determine the joint parameters of 8 servos for walking algorithm, the simple design of the turning algorithm without using the yaw joint and the code generation of the joint parameters of 8 servos on every time interval. List of experiments is done to design and construct the bipedal robot. The experiments done included developing a half-duplex UART system to interface Arduino board and Dynamixel servo, interfacing obstacle avoidance system with Arduino microcontroller, studying the relationship of roll angle and the stability of the bipedal robot and implement the walking and turning algorithm into the bipedal robot. The results for all the experiments is tabulated and analyze to study the performance of the developed system and the bipedal robot in practical. The trajectory graph and graph of angle variation for every servo of the bipedal robot is analyzed. The study of the performance of the bipedal robot with its obstacle avoidance system also shown in this thesis. The results shown that the off-line walking algorithm for bipedal robot is not sufficient enough to create a smooth walking cycle, the walking pattern is somehow unstable due to limitation of the microcontroller and the servo motor.

(7)

vii

ABSTRAK

(8)

viii

TABLES OF CONTENTS

CHAPTER TITLE PAGE

ACKNOWLEDGEMENT v

ABSTRACT vi

ABSTRAK vii

TABLE OF CONTENTS viii

LIST OF TABLES xii

LIST OF FIGURES xiv

LIST OF APPENDICES xix

1 INTRODUCTION

1.1 Motivation 1

1.2 Problem Statement 3

1.3 Objectives 4

1.4 Scope 4

2 LITERATURE REVIEW

2.1 Introduction to Bipedal robot 5

2.2 Theoretical background of design of bipedal robot 6 2.2.1 Dynamic Stability of the Bipedal Robot 6 2.3 Available models design from the previous study 9

2.3.1 Microcontroller 9

2.3.2 Mechanical Design of bipedal robot 14

2.3.3 Types of Actuator 17

(9)

ix

CHAPTER TITLE PAGE

2.4 Summary 20

3 METHODOLOGY

3.1 Overview 21

3.2 Project Flow Chart 22

3.3 The summary of experiments done in this project 23 3.4 Design and Construction of Bipedal Robot 24 3.4.1 Hardware Development 25 3.4.2

Experiment 1: Design and construction of Half-Duplex UART circuit for Arduino

31

3.4.3

Experiment 2: Controlling Dynamixel AX-12A servo with Arduino microcontroller and Half-Duplex UART circuit

35

3.4.4 Experiment 3: Interface of Arduino Microcontroller and Ultrasonic Ranging Module HC-SR04

37

3.4.5 Mechanical Design of Bipedal Robot 40 3.4.6 Electrical Design of Bipedal Robot 41 3.5 Walking Algorithm Design and Generation 42

3.5.1 Program Flow chart 43

3.5.2 Overview of Walking Algorithm Design 44 3.5.3 Procedure to design a walking pattern for

bipedal robot

45

3.5.4 Walking parameters of bipedal' s walking 47 3.5.5 Smooth Walking Cycle by Using various

input value

48

3.5.6 Inverse Kinematic of Left Leg (the swinging leg)

(10)

x

CHAPTER TITLE PAGE

3.5.7 Inverse Kinematic of Right Leg (the static leg)

57

3.5.8 Stability of bipedal robot during walking 59 3.5.9 Experiment 4: The relationship of the roll

angle of bipedal robot and its stability

61

3.5.10 Turning Walking algorithm 64 3.5.11 Code generation of joint parameters 67 3.5.12 Implementation of matrix for walking into

Arduino Coding

70

3.5.13 Experiment 5: Generating joints parameters for bipedal robot for a complete walking cycle and implement into bipedal robot

72

3.6 Implement of Obstacle Avoidance System 74 3.6.1 Experiment 6: Implement walking and

turning algorithm into the bipedal robot and embedded ultrasonic sensor for obstacle avoidance

75

4 RESULT AND DISCUSSION

4.1 Experiment 1: Design and construction of Half-Duplex

UART circuit for Arduino

77

4.2 Experiment 2: Controlling Dynamixel AX-12A servo with Arduino microcontroller and Half-Duplex UART circuit

78

4.3 Experiment 3: Interface of Arduino Microcontroller and Ultrasonic Ranging Module HC-SR04

(11)

xi

CHAPTER TITLE PAGE

4.4 Experiment 4: The relationship of the roll angle of bipedal robot and its stability

82

4.5 Experiment 5: Generating joints parameters for bipedal robot for a complete walking cycle and implement into bipedal robot

84

4.6 Experiment 6: Implement walking and turning algorithm into the bipedal robot and embedded ultrasonic sensor for obstacle avoidance

92

5 CONCLUSION AND RECOMMENDATIONS

5.1 Conclusion 95

5.2 Recommendation for Future Work 97

REFERENCES 98

(12)

xii

LIST OF TABLES

TABLE TITLE PAGE

2.1 List of The Detail of the Controller from Previous Study 11 2.2 Comparison of Microcontroller Board in the Markets 12 2.3 List of the Detail of the Mechanical Design from Previous

Study

16

2.4 List of the Detail of the Actuator Used from Previous Study 18 3.1 List of Experiments in Relation with the Objectives of the

Project

23

3.2 Summary of the Arduino UNO Board 26

3.3 Summary of the Arduino Mega 2560 Board 28

3.4 Summary of the Dynamixel AX-12A 30

3.5 Conditions for Half-Duplex UART System 33

(13)

xiii

3.9 Variable Walking Parameters of Bipedal Robot 48

3.10 Walking Parameters of Bipedal Robot 2 49

3.11 Table of the Distance Shift and Roll Angle Related to Bipedal Robot's Stability

63

4.1 Expected Results and Experimental Results of Half-Duplex UART Circuit

77

4.2 Comparison Results of Angle Moved by Servo based on Different Sources

78

4.3 Reading of Calibration from Serial Monitor of PC 80 4.4 Comparison of Actual Distance and Desired Distance of

Ultrasonic Sensor

80

4.5 Comparison of Actual and Measured Distance and its Error 81 4.6 The Relationship of Roll Angle and Bipedal Robot’s

Stability

82

4.7 Constant Parameters of Bipedal Robot Used in this Project

[image:13.595.119.496.152.577.2]
(14)

xiv

LIST OF FIGURES

FIGURE TITLE PAGE

2.1 Cart Table Model 7

2.2 Pictures of Three Controller Board in the Markets 13

2.3 Robotis Bioloid Premium Robot Kit 2 15

2.4 Kondo KHR-3HV R2 Humanoid Robot Kit 15

3.1 Overall Project Development Flow Chart 22

3.2 Process Flow Chart For Design and Construct Bipedal Robot

24

3.3 Arduino UNO 25

3.4 Arduino Mega 2560 27

3.5 Dynamixel AX-12A Servo 29

3.6 CM-5 Internal Half-Duplex UART Circuit 31

3.7 Schematic Diagram for SN74LS241N 32

3.8 Circuit Diagram of Half-duplex UART Circuit 33 3.9 Circuit Diagram for Half-Duplex UART for Dynamixel

AX-12A Servo

35

3.10 Experiment Setup for Half-Duplex UART for Dynamixel AX-12A Servo

36

3.11 Circuit diagram of the Arduino and Ultrasonic Ranging Module HC-SR04

38

(15)

xv

3.12 Experiment Setup of Ultrasonic Sensor with Arduino UNO 39

3.13 Bipedal Robot used in this Project 40

3.14 Arduino Mega and Half-duplex UART Circuit 41

3.15 Circuit diagram for the Arduino Mega and Half-duplex UART Circuit

41

3.16 Process Flow Chart of Walking Pattern Generation 42

3.17 Program Flow Chart 43

3.18 Kinematic Model of Simple Bipedal Robot 44

3.19 Walking Cycle of Bipedal Robot 45

3.20 Walking Parameters for Bipedal Robot 47

3.21 Position Graph of Left Leg from Time t=0 to t=T 49 3.22 Position Graph of Right Leg from Time t=0 to t=T 50

3.23 Graph of x-reference Point versus Time 50

3.24 Position Graph of Hip Joint and Ankle Joint versus Time 51

3.25 Trajectory Graph of Left Leg 52

3.26 Joint Parameters of Left Leg at t=0 53

3.27 Ankle Joint of Left Leg at t=0 54

3.28 Joint Parameter of Left Leg at t=T/2 55

3.29 Joint Parameters of Right Leg at t=0 57

(16)

xvi

3.31 Front View of Bipedal Robot (Double Support Phase) 59 3.32 Front view of Bipedal Robot (Single Support Phase) 60 3.33 Experiment Setup for Study the Relationship of Roll Angle and

its Stability

62

3.34 Side View of the Pedals of the Bipedal Robot During Walking 64 3.35 Top View of the Pedals of the Bipedal Robot During Walking 65

3.36 Turn Left Algorithm of Bipedal Robot 65

3.37 Turn Right Algorithm of Bipedal Robot 66

3.38 C++ Program is Getting Constant Parameters of Bipedal Robot 67 3.39 Joint Parameter Generated by the C++ Program 68 3.40 Explanation of Matrix Generated by C++ Program 68 3.41 Matrix for a Complete Walking Cycle for Bipedal Robot 69

3.42 Part of the Arduino Coding 1 70

3.43 Part of the Arduino Coding 2 71

3.44 Experiment Setup for Implementing Walking Algorithm 72 3.45 Process Flow Chart of Implementation of Obstacle Avoidance

System into Bipedal Robot

74

3.46 Experiment Setup for Experiment 6

3.47 Circuit Diagram for Complete System 76

(17)

xvii

4.2 Comparison of the Actual And Measured Distance of Ultrasonic Sensor

81

4.3 The Graph of Distance Shift versus Roll angle 83 4.4 Displacement Along Z-axis versus Stride Length 84 4.5 Angle Position for Hip’s Pitch Servo versus Stride Length 85 4.6 Angle Position for Knee's Pitch Servo versus Stride Length 85 4.7 Angle Position for Ankle's Pitch Servo versus Stride Length 86 4.8 Angle Position Ankle's Roll Servo versus Stride Length 86 4.9 Comparison of Calculated and Actual Angle for Hip Joint (Left

Leg)

88

4.10 Comparison of Calculated and Actual Angle for Hip Joint (Right Leg)

88

4.11 Comparison of Calculated and Actual Angle for Knee Joint (Left Leg)

89

4.12 Comparison of Calculated and Actual Angle for Knee Joint (Right Leg)

89

4.13 Comparison of Calculated and Actual Angle for Ankle Joint (Left Leg)

90

4.14 Comparison of Calculated and Actual Angle for Ankle Joint (Right Leg)

(18)

xviii

4.15 Comparison of Calculated and Actual Angle for Hip Joint (Left Leg) When Facing Obstacle

92

4.16 Comparison of Calculated and Actual Angle for Knee Joint (Left Leg) When Facing Obstacle

93

4.17 Comparison of Calculated and Actual Angle for Ankle Joint (Left Leg) When Facing Obstacle

(19)

xix

LIST OF APPENDICES

APPENDIX TITLE PAGE

A Gantt Chart for FYP 1 and FYP 2 100

B1 Arduino Program Experiment 1 101

B2 Arduino Program Experiment 2 101

B3 Arduino Program Experiment 3 102

B4 Arduino Program Experiment 4 103

B5 Arduino Program Experiment 5 104

B6 Arduino Program Experiment 6 106

C Generated Joint Parameters 108

D C++ Coding for Joint Parameters Generation 110

(20)

1

CHAPTER 1

INTRODUCTION

1.1 Motivation

Since the first humanoid robot was made in the seventies, the technology has developed extremely. The number of scientist and researchers study on the humanoid robot are increasing every year. Scientist and engineers around the world are attempting to design and develop different kinds of humanoid robot to meet certain applications and research purpose. Humanoid robots are now being involved in many aspects such as educational, industry and military.

(21)

2 to handling tools and equipment created for the human. Mobile robot is limited by its structure and not able to work in the environment created for human.

It is necessary to design and develop a human-body structure shape robot which able to handling human equipment to help in those disaster. Humanoid robots developed must capable of working in the environments adapted with humans, side by side with them to speed up of the time of operation or instead of them when the environment is no friendlier for human but robot. In addition, an organization "Centre for Robot-Assisted Search and Rescue" founded on 2001 serves as crisis response and research organization which focus on robot technology have participated in numerous incidents. It has the largest number of deployments of rescue robots in the world[2].

(22)

3 1.2 Problem Statement

Humanoid robot is designed to substitute human to carry out some critical tasks and reduce labor workforce. The designed robot must capable doing things that human can do. Locomotion (moving to one place to one place) is one of the things a normal human can do.

The greater challenge is design a walking algorithm for the bipedal robot. In terms of hardware used, microcontroller as the brain of the bipedal robot must be able to understand the walking algorithm and give signal for the robot to move. The other components such as the actuator connected all joints must very precise in order to walking just like human. All the components used must able to interface with the main controller. Extra circuitry may add to the system to connect and control all the components used.

One way to design the walking motion of the bipedal robot is using the forward and inverse kinematic method. The problem using the forward kinematic is that the bipedal robot consists of more than 6 servos, this may involve a calculation of a large matrix, the servo used is very precise with smaller resolution, a smaller angle change may have significant change on the matrix. Moreover, the bipedal robot is a moving body, it does not have a fixed base in a fixed position, hence, to move all the part of bipedal robot forward (walking) may involve a lot of calculation.

Inverse kinematic method to design the walking pattern is suitable for this project. The problem faced is how to deal with the angle change on every single moment. Joint parameters along the stride length of bipedal robot is needed to calculated to design a smooth walking pattern. Other method like code generation may use to generated all the joint parameters by feeding inputs and several constant parameter of the bipedal robot.

(23)

4 1.3 Objectives

There are few objectives that need to achieve by end of this project. The objectives of this project are stated as below.

1. To design and construct a simple bipedal robot with obstacle avoidance system. 2. To design and analyze the walking algorithm of the bipedal robot.

1.4 Scopes

The scope of the project is stated as below.

1. The bipedal robot is designed and constructed by using Arduino Mega (based on Atmega328P) as a microcontroller and Dynamixel AX12-A servo motor as actuator.

2. The bipedal robot is designed to walk in 3 dimensional motions which are walking forward, turning left and turning right.

3. The design of bipedal robot is simple and consists of 8 degree of freedom which capable of dexterous three dimensional motion.

4. The project covers the design and analysis of the walking algorithm of the bipedal robot which is included the normal walking cycle in a flat surface and in

environment with obstacle.

5. The bipedal robot is embedded with SR04 Ultrasonic Module for obstacle avoidance system. The system is implanted to give a feedback to microcontroller and thus choosing the suitable walking algorithm.

(24)

5

CHAPTER 2

LITERATURE REVIEW

2.1 Introduction to Bipedal Robot

The word "robot" was first introduced in 1921 by a Czech writer, according to Robotics Institute of America (RIA) [3], robot can be defined as:

" A re-programmable multi-functional manipulator designed to move materials, parts, tools, or specialized devices through variable programmed motions for the performance of a variety of task"

Robot is a mechatronic machine which is controlled by a controller equipped with electrical circuitry and mechanical parts to do any task programmed by human. There are many robots such as mobile robot, industrial robot and service robot. Certain robot such as industrial robot and service robot are programmed to work in a limited work space only, while mobile robot is one kind of robot which able to move around to any environment with powered actuator.

Figure

Table of the Distance Shift and Roll Angle Related to

References

Related documents

The main aim of this project is to design an autonomous line tracking robot with the ability to avoid obstacle.. This aim is achieved through

Figure 11 Obstacle avoidance simulation results From Figure 11, the tractor tracks the reference path and avoids the obstacle at different driving speeds with

It is also able to plan a real- time path from a starting position to goal position with obstacle avoidance capability, as well as to control the robot steering angle and its

Navigation and obstacle avoidance in an unknown environment is proposed in this paper using hybrid neural network with fuzzy logic controller.. The overall system is

In this section, we present experiments results and algorithm illustration of the presented techniques .When the system starts, servo motor rotates the ultrasonic sensor with

In this study, real time obstacle detection and avoidance with remote and autonomous controlled robotic car based on Arduino has been carried out by using Android

The robot is made of L293D interface circuit Arduino board and a motor driving system.. The robot controlling devices are connected to the Arduino

To achieve this task, the Bézier curve was used to generate a suitable curve with a specific time and distance and to the get best path planning with obstacle avoidance to move