Understand the football simulation source code. Understand the football simulation source code. Learn all the technical specifications of the system components.

Slides:



Advertisements
Similar presentations
SPiiPlus Training Class
Advertisements

Lecture 7 Curve Turn.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Software Process Models
Physics 151 Week 3 Day 2 Topics Motion Diagrams & Motion Graphs
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
Bode Magnitude Plots Constructed Bode Actual Bode
Manufacturing Automation
What is Software Design?  Introduction  Software design consists of two components, modular design and packaging.  Modular design is the decomposition.
Order-Independent Texture Synthesis Li-Yi Wei Marc Levoy Gcafe 1/30/2003.
Get number The ginput command creates crosshairs. When the user clicks the x,y values of the crosshairs are returned.
Introduction What is this ? What is this ? This project is a part of a scientific research in machine learning, whose objective is to develop a system,
Computer-Based Animation. ● To animate something – to bring it to life ● Animation covers all changes that have visual effects – Positon (motion dynamic)
BMFS 3373 CNC TECHNOLOGY Lecture 2
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
1 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Software Development Method Topics l Software Development Life Cycle Reading l Section 1.4 – 1.5.
IMPLEMENTATION ISSUES REGARDING A 3D ROBOT – BASED LASER SCANNING SYSTEM Theodor Borangiu, Anamaria Dogar, Alexandru Dumitrache University Politehnica.
MOTION.
CMPS1371 Introduction to Computing for Engineers NUMERICAL METHODS.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Acceleration Based Pedometer
CMSC 345 Fall 2000 Unit Testing. The testing process.
M ULTIFRAME P OINT C ORRESPONDENCE By Naseem Mahajna & Muhammad Zoabi.
Position-Time and Velocity-Time Graphs
Practice and Evaluation. Practice Develop a java class called: SumCalculator.java which computes a sum of all integer from 1 to 100 and displays the result.
Chapter 2 Describing Motion: Kinematics in One Dimension.
Black-box Testing.
INTRUDUCTION TO SOFTWARE TESTING TECHNIQUES BY PRADEEP I.
CMSC 1041 Algorithms II Software Development Life-Cycle.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
motiontranslationaverage speed Rotation kinematics center of mass Center of gravity gravitational force Gravity displacement direction Vector quantity.
Chapter Four: Motion  4.1 Position, Speed and Velocity  4.2 Graphs of Motion  4.3 Acceleration.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
BOĞAZİÇİ UNIVERSITY DEPARTMENT OF MANAGEMENT INFORMATION SYSTEMS MATLAB AS A DATA MINING ENVIRONMENT.
Chapter 2 Describing Motion: Kinematics in One Dimension © 2014 Pearson Education, Inc.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Unit 6: Circular Motion Consider a Ferris wheel. ◦ The cars are in circular motion because they revolve about a single axis. ◦ The line about which the.
Any vector can be written as a linear combination of two standard unit vectors. The vector v is a linear combination of the vectors i and j. The scalar.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Evolution of C and C++ n C was developed by Dennis Ritchie at Bell Labs (early 1970s) as a systems programming language n C later evolved into a general-purpose.
Creating Flexible, Script-Controlled Autonomous Software Example Explanation.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Chapter 3 Describing Motion: Kinematics in One Dimension.
SNS COLLEGE OF ENGINEERING
MASS Java Documentation, Verification, and Testing
Software Testing.
Position-Time and Velocity-Time Graphs
Improving Scilab’s Xcos User Interface
Contents Simulink model Grouping into subsystems Naming the subsystems
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Computer Programming.
Position-Time and Velocity-Time Graphs
NC,CNC machines and Control Programming.
CSCI1600: Embedded and Real Time Software
Computer Integrated Manufacturing
NC and CNC machines and Control Programming
Motion.
Position-Time and Velocity-Time Graphs
CSCI1600: Embedded and Real Time Software
Position-Time and Velocity-Time Graphs
Computer Animation Displaying animation sequences raster animation
Computer Graphics Lecture 15.
Position-Time and Velocity-Time Graphs
Position vs Time Graphs
Position-Time and Velocity-Time Graphs
Chapter 4 . Trajectory planning and Inverse kinematics
Purpose.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

Understand the football simulation source code. Understand the football simulation source code. Learn all the technical specifications of the system components. Learn all the technical specifications of the system components. Study the control loops in the controller. Study the control loops in the controller. Learn all the C library of the controller from ACSLIB guide. Learn all the C library of the controller from ACSLIB guide. Create a motion path which will reach a specified state in specified time. Create a motion path which will reach a specified state in specified time. The profile will be created according to a vector which includes: The profile will be created according to a vector which includes: After the user inserts these values, the football player should After the user inserts these values, the football player should reach to: reach to: Create a graphic user interface in order to view the real time results on a graph. Create a graphic user interface in order to view the real time results on a graph.

The time for to football player to reach to the cross point with the ball on both axes The horizontal position,the player should reach in delta time. The horizontal velocity, the player should reach in delta time The circular position, the player should reach in delta time The circular velocity, the player should reach in delta time

The software simulation is a flexible system, which serves as the lab for the development of the agent. It is an idealized copy of the real foosball table. It simulates the physical behavior of the foosball: The software simulation is a flexible system, which serves as the lab for the development of the agent. It is an idealized copy of the real foosball table. It simulates the physical behavior of the foosball: The motion of the ball and the players. The motion of the ball and the players. The collisions between the ball and the players or the table borders. The collisions between the ball and the players or the table borders. Counts the goals. Counts the goals.

The SB line of controllers supports the following modes of motion:. Linear point to point Mode 0. Linear point to point, repetitive Mode 1. Move by sequence Mode 3. Circular interpolation Mode 4. Multiple velocities - point to point Mode 8. Search for contact Mode 9 Constant Velocity (jogging). Mode 10. Master-Slave Mode 12. Continuous path following Mode 15. Arbitrary path generation and cam Mode 16. Manual control by Joystick Mode 21. Position tracking Mode 22

Delay checking with MFC Timer With MFC timer we could perform a sampling on the motor encoder in a very accurate time. We used this feature in order to measure the time delay from the moment we called the controller to start the motion until the moment the motors actually began to move. We set a timer in the code before calling the function to move the motor and we started sampling the encoder every 5ms. We couldn ’ t get more accurate checking with this method, because the minimum time between each sample can ’ t be lower then 5 ms. This fact we discovered by our self, by few experiments. So we did a linear interpolation between the points in order to get the delay time.

Delay checking with ACS Tools Using ACSPL you can create a data collection of the motor motion, the data collection does as we did above it sample the encoder every specified time, but using data collection feature you can get sampling every 1 ms, so implement a data collection code within our program, and the results showed the 2 ms was correct, and we also discovered there is a 2.5ms delay between the sampling time until the computer gets the sampling results.

For better view of the project results, we created a graph output program that gives in real time the graph of the football player motion. For better view of the project results, we created a graph output program that gives in real time the graph of the football player motion. The main window is divided to 3 parts: Menu Bar Menu Bar The menu bar contains all the functions that we The menu bar contains all the functions that we need to control the player from the pc. need to control the player from the pc.

Graph window Graph window here you can see the graph of the motion built on real time, There are two graphs, the first one is describing the motion that the motor should have done, and the second one, describes the real motion. here you can see the graph of the motion built on real time, There are two graphs, the first one is describing the motion that the motor should have done, and the second one, describes the real motion.

Side bar Side bar the side bar shows all the samples any 10 millisecond, the side bar shows all the samples any 10 millisecond, it was made to help for the debug and for more details of it was made to help for the debug and for more details of the motion profile. the motion profile.

The path is defined by an array of up to 32 mixed straight line segments The motion starts at the present position, accelerates to the specified vector velocity, keeps that velocity until the last segment, and then decelerates toward the end point of the path. This motion gave us the best solution for creating our motion profile,this motion is very flexible and can serve many type ’ s of motion.

We decided to set 3 points in a linear line, the middle point is specified point which the motor had to go through in specified time, while the other two points on the sides, helps us to gain control on the velocity. The motor will achieve in the middle point. This idea was based on the assumption that the ACS interpolation was good enough And will make the motor to move through these points accurately.

The idea of the numerical interpolation came to, after having problems to achieve good results using the ACS interpolation. We used the popular Divided Distances Interpolation. This interpolation creates a polynomial function of forth levels: The inputs we used were: f(0) = 0 the starting point position. F ’ (0) = 0 the starting point Velocity. F ” (0) = 0 the starting point acceleration. f(delta_t)) = X the specified position point in the specified time. F ’ (delta_t)) = V the specified velocity point in the specified time.

In order to achieve more accurate velocity in specified time, we used the technique of the 3 points, combined with our interpolation. Whit the combination of both techniques, we achieved good results in position and velocity. The results were showed errors around 300 to 0 counts in the position, and around 10 counts/msec in the velocity. Those results were taken in hard paths as the tests before.

We have fully implemented the project goals, and also added some additional features. Created a motion profile for the football player Overcome of the delay of the controller. Succeed to get reasonable results on both axes. Gained knowledge of working with Real-Time systems. Provided an easy class to control the motors in future development Created a graph viewer in order to see the last path of the motor. Gui designed especially to be attractive,intuitive and easy to use.

There are few enhancements that can be done in the future and they are: 1)Improve the interpolation by considering the acceleration limits and the response to steps. 2)Replace the controller with a new one, for two reasons: a. The existing controller can handle up to two player ’ s rows. b. The controller can ’ t change movements on the fly.