Laxmisha Rai and Soon Ju Kang

Slides:



Advertisements
Similar presentations
Just Add Wheels: Leveraging Commodity Laptop Hardware for Robotics Education Jonathan Kelly, Jonathan Binney, Arvind Pereira, Omair Khan and Gaurav S.
Advertisements

João Rodrigues, Sérgio Brandão, Rui Rocha, Jorge Lobo, Jorge Dias {joaor, {jlobo, rprocha, Introduction The.
INTRODUCTION TO ROBOTICS AND MICROCONTROLLERS Instructors: Tijjani “TJ” Mohammed and Tarek Abdel-Salam.
Software and hardware complex of experimental plant for pulp and paper production Master student of MMA department : Anton Kaverin Perm National Research.
ACCELEROMETER-BASED, GRIP-FREE CONTROLLER Tyler (You-Chi) Le ECE4220 Fall 2011 Dr. DeSouza December 5 th, 2011.
1 st Chinese - German Summer School Software development for 4 legged robot soccer competition Zheng Qianyi, Robot and Intelligent System Lab, Tongji University.
Project Proposal [5HC99]: Nao Robot playing Checkers Natalia Irigoyen Wouter Kuijpers Alejandro Betancourt.
Object-Oriented Analysis and Design
VERTAF: An Application Framework for Design and Verification of Embedded Real-Time Software Pao-Ann Hsiung, Shang-Wei Lin, Chih-Hao Tseng, Trong-Yen Lee,
CSE Design Lab – Milestone 2 James Hopkins Dave Festa Dennis O’Flaherty Karl Schwirz.
Preliminary Design Review
Coordinate Based Tracking System
SNAKE ROBOTS TO THE RESCUE!. Introduction   Intelligent robots in SAR dealing with tasks in complex disaster environments   Autonomy, high mobility,
Concurrent and Real-Time Task Management for Self-Reconfigurable Robots Harris Chiu & Wei-Min Shen Polymorphic Robotics Lab, USC-ISI
Design and Implementation of Metallic Waste Collection Robot
Sept EE24C Digital Electronics Project Design of a Digital Alarm Clock.
HOME AUTOMATION THROUGH ANDROID MOBILE. What is Home Automation?  Home automation involves introducing a degree of computerized or automatic control.
Department of Computing and Information Sciences Kansas State University Design Methodology for State based Embedded Systems Case Study: Robot Controller.
Week12 Technology in the e-Factory The roles that technology is playing in the e-Factory: Sensors Connections Actuation Control Systems Integration Industry.
Foot Throttle Foot throttle device for lower limb rehabilitation.
Robotics Overview of NXT-G Actuators in Mindstorms. Touch sensor Labwork: Right turn. Touch/bump. [Explore move versus Motor Move mini & motor mini. Motor*.]
HARDWARE INTERFACE FOR A 3-DOF SURGICAL ROBOT ARM Ahmet Atasoy 1, Mehmed Ozkan 2, Duygun Erol Barkana 3 1 Institute of Biomedical Engineering, Bogazici.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Shaojie Ge Special Sensor System  My special sensor system is the walk mechanism of my robot. Since my robot is a walking robot with four legs.
Department of Computing and Information Sciences Kansas State University Design Methodology for State based Embedded Systems Case Study: Maze Navigator.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
Using a simple Rendez-Vous mechanism in Java
Hirota lab. 1 Mentality Expression by the eyes of a Robot Presented by: Pujan Ziaie Supervisor: Prof. K. Hirota Dept. of Computational Intelligence and.
Ouimet Golf Playing Robot - Shashank G. Sawant. Topics covered: Block and Circuit Diagram Sensors : – CMUCAM – OPT101 The mechanical Hardware Behaviour.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
*Why Humanoid Robots?* PREPARED BY THI.PRASANNA S.PRITHIVIRAJ
ICT 1 MODULAR SNAKE ROBOT 3D MODELLING, IMPLEMENTATION AND CONTROL Pål Liljebäck – Øyvind Stavdahl – Kristin Y. Pettersen.
Project Paper Presentation Hanlin Wan March 15, 2011.
Real Time Systems Lab. 1 AV1394 Board : Now and Future Real Time Systems Lab. Myung Jin (Daniel), Lee.
1 4-Legged Robot (A Report) Laxmisha Rai Real-Time Systems Lab Kyungpook National University, Korea.
Introduction to OOAD and UML
Experimental Software Engineering Course for Training Practitioners in Embedded Real-Time Systems Real-Time Systems LAB, School of Electronic Engineering,
Real-time Software Design
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Group 3 Corey Jamison, Joel Keeling, & Mark Langen
REAL-TIME OPERATING SYSTEMS
Modelling of ATCR Radar Monitor System Using Computer Simulation
Presented by: Saurav Kumar Bengani
An FPGA Implementation of a Brushless DC Motor Speed Controller
Object-Oriented Analysis and Design
Architecture Concept Documents
COEN 421- Embedded System and Software Design
Unified Modeling Language
What are the key components of your robot?
A Software Architecture Model……
From: Robogami: A Fully Integrated Low-Profile Robotic Origami
“Temperature-Aware Task Scheduling for Multicore Processors”
Simple CNC machine Students: Mahmood Yunis Shadi Tahseen Hanani.
J. Gonzalez-Gomez, E. Boemo
Overview of the PLC.
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Dr. Juan González-Gómez
PLC based automated coal crushing and conveyor system
Improved schedulability on the ρVEX polymorphic VLIW processor
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Control Award This award is given to the Team that demonstrates innovate thinking in the control system to solve game challenges such as autonomous operation,
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
An Embedded Systems Course and Course
CS 501: Software Engineering Fall 1999
Analysis models and design models
An Introduction to Software Architecture
Introduction To Simulink
« NON-CONVENTIONAL LEARNING : EDUCATIONAL ROBOTICS»
Software Architecture
Presentation transcript:

Laxmisha Rai and Soon Ju Kang RTCSA-2005 Multi-Thread based Synchronization of Locomotion Control in Snake Robots Laxmisha Rai and Soon Ju Kang Real Time Systems Lab, Kyungpook National University, Korea Hello Everyone, Today, I want to present the AV1394 board implementation and some related works. http://rtlab.knu.ac.kr

Proposed Architecture Implementation Verification Conclusion Outline Motivation Requirement Analysis Proposed Architecture Implementation Verification Conclusion The hardware block diagram and development sequence of AV1394 board is introduced. (It’s already presented at last seminar. I will re-introduce these contents for Rai and Pan Pan.) And, I will explain the hardware functional block for data conversion. Then, for case study, we will look at the overview of LG Home Gateway which is not implemented yet. Finally, some research topics are mentioned briefly.

Demo

Motivation Movement of snake is not straight-Wave like Serpentine mechanisms of snake robots can be used in applications like bridge inspection, search and rescue operations Generating wave motion of snake robots to generate purposeful motion is a challenging task Snakes move by pushing their body against environment

Units and Sections In general a snake may have N sections (1≤k≤N) and each section may have M units (1≤p≤M). The total number of units = N×M =Total number of motors needed.

Requirement Analysis Serpentine locomotion Left, Right, circular, rectilinear, concertina and side winding movements Co-ordination between two adjacent sections of the robot Robot performance in case of robot section or unit failure

Serpentine Locomotion Snake robot sections must generate serpentine Locomotion or Lateral undulation Lateral undulation is a sequence of left-right wave movements Generation the sine-wave is the basic issue in designing snake robot

Hardware Configuration of the Proposed Architecture An embedded computer system with LEGO sensors and actuators. The PCI 104 is an embedded computer standard and commonly used with LEGO systems

Proposed Software Architecture RT-Linux Dual Kernel Architecture. Architecture supports both real-time and non-real time tasks execution

Multi-Threaded Synchronization To emulate the snake behavior, threads and semaphores are used. The program uses maximum N (1≤k≤N) number of threads. The wave movement of the snake is realized by understanding the relationship between two adjacent sections, k and k+1 Threads and semaphores were used to synchronize this relationship between two adjacent sections. In the present approach, N numbers of threads are required in a robot with N sections

Wave-like Movement Initial Position Initial Calibration Thread Section End Calibration Sequence of robot unit movements in different modules of the program.

Program Modules (Motori, ASensori,Speedj, SIGN*Anglek, Dir) Basic Model (Motori, ASensori,Speedj, SIGN*Anglek, Dir) Initial Calibration Motor1, ASensor1,Speed1, -Angle1, Right Motor2, ASensor2,Speed2, +Angle2, Left Motor3, ASensor3,Speed3, -Angle3, Right Motor4, ASensor4,Speed4, +Angle4, Left Thread Execution Phase Motor1, ASensor1,Speed1, +2*Angle11, Left Motor2, ASensor2,Speed2, -2*Angle21, Right Motor3, ASensor3,Speed3, +2*Angle31, Left Motor4, ASensor4,Speed4, -2*Angle41, Right Motor1, ASensor1,Speed1, -2*Angle12, Right Motor2, ASensor2,Speed2, +2*Angle22, Left Motor3, ASensor3,Speed3, -2*Angle32, Right Motor4, ASensor4,Speed4, +2*Angle42, Left End Calibration phase Motor1, ASensor1,Speed1, +Angle1, Left Motor2, ASensor2,Speed2, -Angle2, Right Motor3, ASensor3,Speed3, +Angle3, Left Motor4, ASensor4,Speed4, -Angle4, Right

Implementation: LEGO Snake Robot Sensors: 4-Angle sensors Actuators: 4 motors, connected to each snake unit. There are total 4 units with motors Robot Direction: (Head)4-3-2-1(Tail)

Pseudo-Code Main Program Thread(k) Thread(k+1) main ( ){ initialize_motors_sensors (); initial__calibration (); initialize_semaphores (); thread_section_1 (); …. thread_section_N(); semaphore_destroy (); end_ calibration(); } //Thread for Section_k start_section_k () { while (1) { sem_wait(&sem_k+1); set_rotation_handler (angle_sensor(S (k, p)), 2*ASValue) run_motor(S (k, p), R, SPEED); set_rotation_handler(angle_sensor(S (k, p+1)), 2*ASValue) run_motor(S (k, p+1), L, SPEED); sem_post(&semk); } thread_exit(NULL); Main Program //Thread for Section k+1 start_section_k+1() { while (1){ sem_wait(&sem_k); set_rotation_handler (angle_sensor(S (k+1, p)), 2*ASValue) run_motor(S (k+1, p), R, SPEED); set_rotation_handler (angle_sensor(S (k+1, p+1)), 2*ASvalue) run_motor(S (k+1, p+1), L, SPEED); sem_post(&sem_k+1); } thread_exit(NULL); Thread(k) Thread(k+1)

Verification: Different Robot Movements AS Value(7.a) 3 AS Value(7.b) 9 AS Value(7.c) 12 6 AS Value(7.d) Table: Angle sensor values for different robot movements. Figure: Different types of snake locomotion generated with different angle sensor values (a) Rectilinear (b) Serpentine (c) and (d) Concertina Angle rotation sensor. 20 count =90 Degrees 5 count = 22.5 degree

Advantages of the Proposed Architecture Controllability The ‘S’, ‘O’ (Circular), rectilinear, serpentine and concertina shaped movements can be easily generated using the angle sensor. The angle sensor connected to the each robot unit enhanced the total controllability of the snake robot. The speed of the robot can be changed dynamically. Also, different sections can be operated with different speeds. Reusability The present model can be easily extended to N number of sections. Each section module act as a reusable component. Performance In case of physical damage/failure of any section, the robot continues to work without effecting the robot behavior or total robot failure. Flexibility Compared to mechanical or microprocessor based robots, the programming modeled robots are more flexible in terms of control, user understandability and real-time implementation. Also the necessary intelligence can be provided easily with program support. Cost The robot’s behavior can be easily modified using the present programming model without adding any additional physical components.

Conclusion Each unit or sections of robot operates independently. Our purpose is to create a model which can be used in many real-life applications and to realize multithreaded concurrent programming. The wave-like movement of snake is effectively generated by using programming constructs like semaphores and threads with effective use of angle sensors. Present programming model can be applied to robots where complex concurrent locomotion is an absolute requirement.

Q & A

Thank You