Presentation is loading. Please wait.

Presentation is loading. Please wait.

Laxmisha Rai and Soon Ju Kang

Similar presentations


Presentation on theme: "Laxmisha Rai and Soon Ju Kang"— Presentation transcript:

1 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.

2 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.

3 Demo

4 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

5 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.

6 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

7 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

8 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

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

10 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

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

12 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

13 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) (Tail)

14 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)

15 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

16 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.

17 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.

18 Q & A

19 Thank You


Download ppt "Laxmisha Rai and Soon Ju Kang"

Similar presentations


Ads by Google