PDA

View Full Version : University Programming Project Help!!!




Tomioli
Jan 27, 2011, 06:32 AM
Hey,

I am studying at Warwick Uni in England and for my 3rd year Engineering project i have to develop an Iphone App for a track day car.

The basis of this is to get lap times with the help of the GPS on the Iphone and use the accelerometer to get G-force data from the car.

The problem is i have no prior programming experience in any type of coding, and i need to know where to start (i have a Mac with the latest software on it and the latest version of Xcode). Im guessing this isn't the easiest thing to programme so can anyone help give me an idea how hard this would be to complete with my little knowledge??

Any books, links, advice of any kind would be much appreciated.

Thanks Tom



Hansr
Jan 27, 2011, 06:38 AM
This is a ridiculously hard task given that you have no prior experience with programming. If you are doing this along side classes you will hate your life for a few months. Was this given to you by your teacher or did you think of it yourself? Most 3rd year engineering programming stuff is simple Matlab stuff and data analytics.

miles01110
Jan 27, 2011, 06:39 AM
There are stickies and guides at the top of this forum you should look at.

http://guides.macrumors.com/Cocoa_FAQ
http://guides.macrumors.com/Helpful_development_resources
http://forums.macrumors.com/showthread.php?t=555203
http://guides.macrumors.com/Objective-C_Tutorial

And quite honestly, if you have no programming experience the odds of you completing this project in a semester or two are slim.

Tomioli
Jan 27, 2011, 06:57 AM
I chose to take on this project because of my background experience in racing and all the interest i had in this field. It is a brand new project and the work involved in the programming side was unknown.

Is there any way i could achieve this, just a basic timing device using the GPS?? i have done all the background research into the perfect design for this App but i just need to produce something i can test. If i can do this i can hand over my project as a stepping stone for next year students to take further.

P.S thanks for the replies

miles01110
Jan 27, 2011, 07:00 AM
You're probably better off using a small GPS tracker and a separate accelerometer. Does your university have an electrical engineering department? They would probably be the people to ask.

balamw
Jan 27, 2011, 08:04 AM
You're probably better off using a small GPS tracker and a separate accelerometer. Does your university have an electrical engineering department? They would probably be the people to ask.

While I agree that it would be easier to do this using a USB/serial GPS dongle and accelerometer and a PC running MATLAB/Simulink/LabView, I don't think the iPhone version would really be that hard. There is plenty of sample code out there.

e.g.
http://appsamuck.com/day10.html
http://appsamuck.com/day11.html

http://www.vellios.com/tag/gps/

even in JavaScript

http://www.informit.com/articles/article.aspx?p=1356569

The hard part will be coming up with the right data storage approach and dealing with any UI bits.

B

Tomioli
Jan 27, 2011, 08:53 AM
Thanks for the Example code, it has given me something to start with.

As for using the external hardware, the aim of the project is to simplify the already existing devices that use external hardware, But thanks for the idea :)

cnstoll
Jan 27, 2011, 02:41 PM
Check out the CoreMotion framework (just search CoreMotion class reference).

You should be able to get acceleration data out of that. Getting the data isn't terribly hard, and luckily as an Engineer you should have some idea of what to do with it.

Good luck.

forum user
Jan 28, 2011, 03:29 AM
Developing an Iphone App for a track day car is a perfectly fine project for an engineering degree. As engineer one is expected to break a big problem into lots of small problems and to think about the pieces and then address all the many problems appropriately.
In real (working) life a lot of constraints like lack of time and lack of funding exist and a good engineer is supposed to overcome this. "Addressing" does not imply "solving", it means evaluate and then apply your decision.

Whether MatLab or Simulink is easier is not the question. Typically a theoretical simulation is chosen because the Uni does not have money to sponsor the hardware or it will take to much time to obtain the hardware. As a result this hardware delivery time is missing from the students time.

We (at work) work with Students to do their final year project and all of them in the beginning arrive with the same "fear" of not being able to tackle the projects. Then, three month later they start writing up their projects and I cannot recall if any has failed.

For the iPhone side decide on what you want to implement. Put it into building block and draw up how these blocks interact. Define inputs and outputs between the blocks.
Take a single block and start defining at a high level and in normal language how this block will process input and output. Put all this aside and have a good night sleep about it. Only if the next day all still sounds like a good idea start implementing the functions by translating natural language into code.

Software architecture is not static, so be prepared to do a few loops and find yourself redesigning a particular function after having learned a better strategy. Keep an eye on your time schedule and don't get lost in redesigning loops.

Feel free to come back here to ask question on how to implement a particular function. We won't do your project for you but a friendly nudge in the right direction is always available free of charge. ;)

- Olaf

balamw
Jan 28, 2011, 08:29 AM
Just from 10,000 feet I would be concerned that the iPhone's GPS antenna and receiver won't be enough to get enough resolution on a position especially if it is inside the car. An external GPS antenna and receiver would be able to pick up more satellites and get a better fix.

You can probably improve things somewhat by appropriate oversampling and averaging, data conditioning if it's just random noise.

B