Development of a Controlling Program for Six-legged Robot by VHDL Programming

Similar documents
Design and Implementation of FPGA-Based Robotic Arm Manipulator

ROBOTICS ENG YOUSEF A. SHATNAWI INTRODUCTION

I. INTRODUCTION MAIN BLOCKS OF ROBOT

T.E.S.L.A (Terrain Exoskeleton (that) Shocks Large Animals) Mark Tate

EVALUATING THE DYNAMICS OF HEXAPOD TYPE ROBOT

Remote Control Based Hybrid-Structure Robot Design for Home Security Applications

Digital Systems Design

Daisy II. By: Steve Rothen EEL5666 Spring 2002

Team Description Paper: HuroEvolution Humanoid Robot for Robocup 2010 Humanoid League

Kid-Size Humanoid Soccer Robot Design by TKU Team

Mini Hexapodinno. 18-DOF Robot

Team Description Paper: HuroEvolution Humanoid Robot for Robocup 2014 Humanoid League

Assembly Guide Robokits India

Undefined Obstacle Avoidance and Path Planning

Milind R. Shinde #1, V. N. Bhaiswar *2, B. G. Achmare #3 1 Student of MTECH CAD/CAM, Department of Mechanical Engineering, GHRCE Nagpur, MH, India

Sensors and Sensing Motors, Encoders and Motor Control

THE IMPORTANCE OF PLANNING AND DRAWING IN DESIGN

A Semi-Minimalistic Approach to Humanoid Design

Design and Implementation of FPGA Based Quadcopter

INTRODUCTION. In the industrial applications, many three-phase loads require a. supply of Variable Voltage Variable Frequency (VVVF) using fast and

Chapter 4 Combinational Logic Circuits

LINE MAZE SOLVING ROBOT

Colour Recognizing Robot Arm Equipped with a CMOS Camera and an FPGA

Design and Control of the BUAA Four-Fingered Hand

Robot Task-Level Programming Language and Simulation

ARTIFICIAL INTELLIGENCE - ROBOTICS

MASTER SHIFU. STUDENT NAME: Vikramadityan. M ROBOT NAME: Master Shifu COURSE NAME: Intelligent Machine Design Lab

Design of an electronic platform based on FPGA-DSP for motion control applications

Application of CPLD in Pulse Power for EDM

Bipedinno. 12-DOF Waist-high Robot

DEVELOPMENT OF A HUMANOID ROBOT FOR EDUCATION AND OUTREACH. K. Kelly, D. B. MacManus, C. McGinn

MCT Susanoo Logics 2014 Team Description

AN HYBRID LOCOMOTION SERVICE ROBOT FOR INDOOR SCENARIOS 1

The Haptic Impendance Control through Virtual Environment Force Compensation

Robo-Erectus Jr-2013 KidSize Team Description Paper.

sin( x m cos( The position of the mass point D is specified by a set of state variables, (θ roll, θ pitch, r) related to the Cartesian coordinates by:

Bidirectional Buck-Boost Controller for Electric Vehicle Using FPGA Board

Chapter 4 Combinational Logic Circuits

Four Quadrant Speed Control of DC Motor with the Help of AT89S52 Microcontroller

Pre-Day Questionnaire

Chapter 1. Robot and Robotics PP

ME375 Lab Project. Bradley Boane & Jeremy Bourque April 25, 2018

Development and Evaluation of a Centaur Robot

Open Source Digital Camera on Field Programmable Gate Arrays

Introduction to the EXPANSION HUB

Exercise 2. Point-to-Point Programs EXERCISE OBJECTIVE

A PROTOTYPE CLIMBING ROBOT FOR INSPECTION OF COMPLEX FERROUS STRUCTURES

Controlling DC Brush Motor using MD10B or MD30B. Version 1.2. Aug Cytron Technologies Sdn. Bhd.

DESIGN OF INTELLIGENT PID CONTROLLER BASED ON PARTICLE SWARM OPTIMIZATION IN FPGA

Sensor system of a small biped entertainment robot

Workshops Elisava Introduction to programming and electronics (Scratch & Arduino)

1. Description of Hexapod Basic Gaits Mechanical Structure Electronics Programming Team Members...

The Mathematics of the Stewart Platform

Multi-Robot Cooperative System For Object Detection

Development of Timer Core Based on 82C54 Using VHDL

Concept and Architecture of a Centaur Robot

Rapid Development System for Humanoid Vision-based Behaviors with Real-Virtual Common Interface

1 Day Robot Building (MC40A + Aluminum Base) for Edubot 2.0

International Journal of Innovations in Engineering and Technology (IJIET) Nadu, India

Prof. Ciro Natale. Francesco Castaldo Andrea Cirillo Pasquale Cirillo Umberto Ferrara Luigi Palmieri

What is a Simulation? Simulation & Modeling. Why Do Simulations? Emulators versus Simulators. Why Do Simulations? Why Do Simulations?

Algoritmy pre AI robotiku. Pavel Petrovič, miestnosť i24a

Sensors and Sensing Motors, Encoders and Motor Control

ECE 511: FINAL PROJECT REPORT GROUP 7 MSP430 TANK

Design of FPGA- Based SPWM Single Phase Full-Bridge Inverter

AUOTOMATIC PICK AND PLACE ROBOT

FPGA-Based Autonomous Obstacle Avoidance Robot.

Speed Control of BLDC Motor Using FPGA

Concept and Architecture of a Centaur Robot

Design of Joint Controller Circuit for PA10 Robot Arm

On-demand printable robots

SPIDER ROBOT Presented by :

Development of Running Robot Based on Charge Coupled Device

Structure Design of a Feeding Assistant Robot

USING EMBEDDED PROCESSORS IN HARDWARE MODELS OF ARTIFICIAL NEURAL NETWORKS

3-Degrees of Freedom Robotic ARM Controller for Various Applications

INSTANT ROBOT SHIELD (AXE408)

PROGRAMMABLE CONTROL SYSTEM WITH APPLICATIONS IN DIRECT CURRENT MOTORS CONTROL

IMPLEMENTATION AND DESIGN OF TEMPERATURE CONTROLLER UTILIZING PC BASED DATA ACQUISITION SYSTEM

Converting Motion between Different Types of Humanoid Robots Using Genetic Algorithms

CIS009-2, Mechatronics Signals & Motors

Note: Keep the impedance between the SMT2 and FPGA below 100 Ohms to operate the JTAG at maximum speed.

Cooperative Transportation by Humanoid Robots Learning to Correct Positioning

A NOVEL CONTROL SYSTEM FOR ROBOTIC DEVICES

CYCLIC GENETIC ALGORITHMS FOR EVOLVING MULTI-LOOP CONTROL PROGRAMS

WifiBotics. An Arduino Based Robotics Workshop

Journal of Engineering Science and Technology Review 9 (5) (2016) Research Article. L. Pyrgas, A. Kalantzopoulos* and E. Zigouris.

One connected to the trainer port, MagTrack should be configured, please see Configuration section on this manual.

Autonomous Stair Climbing Algorithm for a Small Four-Tracked Robot

A STUDY ON HEXAPOD ROBOTS AND MODELING BY MEANS OF CAD TECHNIQUES

Study of M.A.R.S. (Multifunctional Aero-drone for Remote Surveillance)

Chapter 1 Introduction to Robotics

FPGA-BASED PULSED-RF PHASE AND AMPLITUDE DETECTOR AT SLRI

EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs Introduction to Arduino

International Journal of Advance Engineering and Research Development

Mechatronic Design, Fabrication and Analysis of a Small-Size Humanoid Robot Parinat

Design of double loop-locked system for brush-less DC motor based on DSP

Implementation of Multiquadrant D.C. Drive Using Microcontroller

* Intelli Robotic Wheel Chair for Specialty Operations & Physically Challenged

ENME 489L: Biologically Inspired Robotics

Transcription:

Development of a Controlling Program for Six-legged Robot by VHDL Programming Saroj Pullteap Department of Mechanical Engineering, Faculty of Engineering and Industrial Technology Silpakorn University (Sanam Chandra Palace Campus), Thailand saroj@su.ac.th Teerapat Boontuboon Department of Mechanical Engineering, Faculty of Engineering and Industrial Technology Silpakorn University (Sanam Chandra Palace Campus), Thailand Abstract This paper describes the development of a controlling program for the six-legged robot, which has a movement behavior like a cockroach. The name of the designed robot is defined as Chabata. Inverse kinematics technique has preliminarily been applied for locating the movement of the eighteen servo motors installed at each leg of the robot. Consequently, a field programmable gate array (FPGA) controlling board cooperated with the VHSIC hardware description language programming called as VHDL has next been employed for the robot operation. The experimental results show that the developed program, which operated on the inverse kinematic technique, has a high capability to control the locomotion of the Chabata robot. Moreover, the designed robot also has an excellent response to carry on the desired functions. Keyword: Six-legged robot, Inverse kinematics, VHDL programming, FPGA controlling board I. INTRODUCTION Nowadays the robot technology plays more important role in facilitating humans, especially in the fields of medicine, industry, military, and entertainment. This kind of technology can generally be classified into two types according to its function. The first one is the fixed robots that cannot move by themselves. Consequently, most of them possess manipulator enabling them to move only their internal joints. They are mostly applied in factories. The other different type is the mobile robots that can move by using their wheels or legs [1]. Moreover, it can thus be further categorized according to its movement into 3 types: wheeled robot, legged robot, and hybrid leggedwheeled robot respectively [1],[2]. The legged robot is interesting and outstanding because its ability to cross barriers is better than that of the wheeled robot. Moreover, it can move on the surface that the wheeled robot cannot enter such as surveyed area or agriculture area that should not come into contact with damaging things. The legged robot can move on this kind of surface because it touches only its tip of legs on the surface. In this research, the Chabata robot that was a six-legged robot has been designed and developed. FPGA technology was also applied to control servo motors for the robot movement, together with the VHDL that was a high-level programming language [3] providing the convenience to search, input, and connect external tools better than other applied languages. Besides, its programming structure was understandable and editable, leading to easy implement and improvement for developers. their wheels or legs [1]. Moreover, it can thus be further categorized according to its movement into 3 types: wheeled robot, legged robot, and hybrid legged- 24

Development of a Controlling Program for Six-legged Robot by VHDL Programming wheeled robot respectively [1],[2]. The legged robot is interesting and outstanding because its ability to cross barriers is better than that of the wheeled robot. Moreover, it can move on the surface that the wheeled robot cannot enter such as surveyed area or agriculture area that should not come into contact with damaging things. The legged robot can move on this kind of surface because it touches only its tip of legs on the surface. In this research, the Chabata robot that was a six-legged robot has been designed and developed. FPGA technology was also applied to control servo motors for the robot movement, together with the VHDL that was a high-level programming language [3] providing the convenience to search, input, and connect external tools better than other applied languages. Besides, its programming structure was understandable and editable, leading to easy implement and improvement for developers. II. ROBOT THEORY A. Movement of Legged Robot To design a legged robot, most designers want its movement like an insect [4] because it can move on every kind of surface, cross barriers, and increase its movement speed by properly changing its movement behaviors. Rasakatla et al [5] designed the six-legged robot whose behavior is like a worm with each leg possessing two degree of freedom (DOF). A distinct quality of this kind of robot is its flexible body because there are motors attached to each joint of each body section, enabling it to move and rise upward or downward. This kind of robot can also move on the surface with different height. Moreover, Botello et al [6] designed a robot whose behavior is like an insect with each leg possessing three DOF. However, they designed only its thorax and six legs attached. Its distinct quality is the ability to move like a living thing. Besides, Sorin et al [7] developed the software to simulate the six legged robot movement balance in the gravitational field by applying the inverse kinematics technique. This research designed the structure and developed the applied program in order to control the movement of the Chabata robot imitating the movement of the cockroach [8]. The forward movement sequence of each leg of the Chabata robot has been simulated as shown in Figure 1. Assume that Swing phase is stepping forward by raising the tip of the leg from the floor. Stance phase is pulling the leg back to the original position with the tip of the leg still touching the floor. Lift leg is raising the tip of the leg from the floor a little bit. This research fixes the tip of the leg to rise up from the floor 5 millimeters. Fix leg is the leg that stands still, and also Distance is the space from the starting position to the point the robot moves to. As shown in Figure 1, the robot movement sequence starts from the first step (1) when the robot stands still. For the second step (2), its right foreleg (FR) and right back leg (BR) go forward one step. For the third step (3), its left middle leg (ML) steps forward. After three legs step forward, for the forth step (4), the other three legs that are left foreleg (FL), left back leg (BL), and right middle leg (MR) are raised up slightly. After that, the three legs that have already moved forward are pulled back to the starting position, and the other three legs that have risen up slightly are pulled back to the floor. These steps enable the robot to move forward. For the fifth step (5), the left foreleg (FL) and the left back leg (BL) go forward, followed by stepping the right middle leg (MR) as the sixth step (6). For the seventh step (7), the other three legs are risen up, and the three legs that have already stepped forward are pulled back, causing the robot to come back International Journal of the Computer, the Internet and Management Vol.20 No.3 (September-December, 2012) pp 24-29 25

Saroj Pullteap and Teerapat Boontuboon to the original position as in the first step (1). However, for the robot to further move forward, the second step (2) can thus be immediately executed. Consequently, this forward movement sequence can finally be applied to the movement to other directions with the same sequences of leg movement but different directions For controlling the movement of each leg of the robot, the robot is accessed to move to the desired direction with inverse kinematic equation [9], which changes the position value to the angle value in degree, in order to push motors rotating to the position making the robot legs move correctly as desired. The variables of the robot leg are shown in Figure 2. When x, y, and z are the position of the robot s tip of the leg. L1 - L3 are the length of each leg section. M1 - M3 are 1-3 servo three legs step forward, for the forth step (4),motors, and θ1 - θ3are the angles of the first, the other three legs that are left foreleg (FL),second, and third servo motors respectively. To be applied, the initial position of the robot legs is input to be at the original position of the joint of servo motor in order to input the original angles to each leg of the robot. The position of the tip of the robot legs for the robot to move is next assigned by using (1) - (3) to calculate the degree of the servo motor that they have to rotate. B. VHSIC Hardware Description Language VHDL is a high-level programming language used to design digital system like PASCAL. Moreover, VHDL is easy to understand and its circuit can be designed in many different levels in the functioning format, contributing to the convenience to change or retrieve the circuit. It can also use the high-level language to write codes to check the correctness of the designed circuit by using simulation. The composition of VHDL is shown in Figure 3. VHDL can be divided into 4 parts according to its functions as follows: 1) Package: Package is a unit that collects sub codes. It is a central that all the codes retrieve such as sub program defining a type of data to facilitate code programming. 2) Entity declaration: Entity declaration is a part to input the format of interface. In other words, it is a designing unit telling how I/O Port of the digital system connects to the external circuit. 3) Architecture: Architecture is a design unit that explains the relationship between input and output of the tools and describes digital logic that has the designing function 4) Configuration: Configuration is a designing unit that matches the designing unit in entity declaration to the architecture section. Moreover, writing codes can possibility to have various architectures. However, generally the circuit designed by VHDL is comprised of the two fundamental 26

Development of a Controlling Program for Six-legged Robot by VHDL Programming designing units: entity declaration and architecture body. III. DESIGN AND DEVELOPMENT OF PROGRAMMING To develop the controlling program, VHDL language was applied to control 21 servo motors; 18 of them were leg parts, while the rest was the head and the wings respectively. The chart showing the robot s movement control is shown in Figure 4. Start C. FPGA Controlling Board FGPA chip is a kind of semiconductors with the ability to program in the chip or integrate circuit (IC). Its internal connection is metric [3]. The internal structure of FGPA can generally be programmed to function like basic logic gate such as AND, OR, XOR, NOT, and/or in combinations. Apart from being comprised of programmable logic circuit. Designing the digital circuit with FPGA installed inside the circuit (Print Circuit Board: PCB) assists the designer to decrease the circuit size, save the designing time, design the circuit board without completely testing the internal conditions/functions, and have the ability to input the function of FGPA later. However, FGPA data will disappear after the circuit is switched off. Therefore, it is necessary to have flash memory to retain the data, which has the automatic reading procedure after obtaining from the supply source. This study used the Altera s FPGA controlling board, Max II Micro Kit Model, to control the robot movement as there was a requirement to have a controlling part having a fast processor with many ports of input and output. The example properties of the controlling board are as follows: 272 input/output, 2,210 digital logic elements for memory storage, ability to program via USB port directly, and also functioning at 50 MHz frequency. The development of the controlling program based on the VHDL from Quartus II programming started from inputting the sequence of leg movement as shown in Figure 1 and then assigning the position of the tip of each leg as designed. Next, inverse kinematic equation was applied to convert the position value of the tip into the degree of each servo motor. Finally, it was next converted into the pulse-width modulation: PWM to further control servo motors. IV. EXPERMRNTAL RESULTS AND DISCUSSION The preliminarily structure of the Chabata robot is consequently shown in Figure 5 International Journal of the Computer, the Internet and Management Vol.20 No.3 (September-December, 2012) pp 24-29 27

Saroj Pullteap, and Teerapat Boontuboon This research is preliminary divided the experiment into 2 investigations: forward direction and rotating direction. For the first experiment, the robot walked forward from the initial position with the distance of 0 - ~30 cm as shown in Figure 6. As shown in Figure 6 (a), the initial position of the robot has been indicated, while Figures 6 (b) and (c) show the robot movement at the position of ~15 and ~30 cm. respectively. Next, the tip of every leg was measured to find out the movement distance by comparing with the position value of the tip of the legs where the robot was designed to move to in order to find out the possible error. The measurement was then repeated 20 times for the reliability of the developed robot. It was found from conducting the experiment of the robot s forward movement for 20 times that, at ~15 cm. distance, its average movement distance was 14.58 cm or 2.77% of the average error, while at ~30 cm. distance, its average movement distance was 31.16 cm. or 3.88% of the average error. The error could be made by 3 factors: the instable torque of the servo motors caused by the low battery, the inefficient measuring tools including the human error in reading the results from the tools, and inefficient materials used to invent the robot. Fig. 7 Rotating direction at the angle of 30 degree. Later, the experiment on rotating movement of the robot was conducted by inputting the robot to rotate 30 degree from the initial position. Then there was the measurement on the tip of the robot legs to find out the degree the robot could rotate to, compared with the initial position. The measurement was repeated 20 times. The example of the results can thus be seen in Figure 7. As shown in Figure 7 (a) the initial position has been exploited, while Figure 7 (b) shows the rotating position of the robot at the angle of 30 degree. From the experiment repeated 20 times, it was found that the robot could rotate to the correct position every time. However, when there was the angle measurement at the tip of the robot legs compared with the position the robot was designed to move to, it was found that the average degree the robot moved was 31.45 degree, while the average error percentage of the measurement was 4.83%. The cause of the error was supposed to be similar to that of the first experiment mentioned earlier. Moreover, the error might be caused by the surface roughness, affecting the results of the measurement different from the reality as designed. V. CONCLUSIONS The Chabata robot is a six legged robot designed and developed to imitate the movement of the cockroach. Altera s FGPA controlling board, MAX II Micro Kit Model, was applied via program development by using VHDL programming to control the robot movement. The developed program has 2 basic functions: forward function and rotating function. Inverse kinetics equation was applied to convert the position value of the tip of the robot legs into rotating angle of the servo motors attached to 6 legs of the Chabata robot. It was found from the experiment of the forward movement at the distance of 0 - ~30 cm. that the robot could move correctly with the error percentage of 3.88%. The experiment of the rotating movement at the angle of 30 degree had the average error of 4.83%. The error was caused by the instable torque of the servo motors, the inefficient measuring tools, inefficient materials, and the surface roughness 28

Development of a Controlling Program for Six-legged Robot by VHDL Programming REFERENCES [1] A. Stoica, G. Carbone, M. Ceccarelli and D. Pisla, Cassino Hexapod: Experiences and New Leg Design, IEEE International Conference on Automation Quality and Testing Robotics (AQTR), vol. 3, pp. 1 6, 2010. [2] K. Pearson, The Control of Walking, Scientific American, vol. 235, pp. 72-86, 1976. [3] S. Kilts, Advanced FPGA Design: Architecture, Implementation and Optimization, Willy & Sons Inc., New York, 2007. [4] W. A. Lewinger, H. M. Reekie and B. Webb, A Hexapod Robot Modeled on the Stick Insect, Carausius morosus, International Conference on Advanced Robotics, pp. 541-548, 2011. [5] S. Rasakatla, K. M. Krishna, B. Indurkhya, Design, Construction and a compliant gait of ModPod : a ModularHexpod robot, IEEE International Conference on Robotics and Biomimetics, pp. 1341-1345, 2010. [6] O. E. L. Botello et al Design of a Hexapod Robot Based on Insects, Electronics, Robotics and Automotive Mechanics Conference, pp. 347-354, 2010. [7] M. O. Sorin and N. Mircea, Hexapod robot virtual models for preliminary studies, 15th International Conference on System Theory, Control, and Computing (ICSTCC), pp. 1-6,2011. [8] H. Adachi, N. Koyachi, T. Arai, A. Shimiza and Y. Nogami, Mechanism and Control of a Leg- Wheel Hybrid Mobile Robot, Conference on Intelligent Robots and Systems, vol. 3, pp. 1792-1797, 1999. [9] J. Craig, Introduction to Robotics Mechanics and Control, Addison- Wesley, 1989. [10] C. K. Skahill, VHDL for Programmable Logic, 1st Addison- Wesley Publishing Company, Inc.,1996. International Journal of the Computer, the Internet and Management Vol.20 No.3 (September-December, 2012) pp 24-29 29