Photo of NovSu-4

Made by NovSu-4 / Vehicles

About the project

NXP - Cup

Project info

Difficulty: Difficult

Platforms: PX4

Estimated time: 2 months

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

GPX RWD Smart Robot Racing Car with Brushless Motors GPX RWD Smart Robot Racing Car with Brushless Motors x 1
Bruschless Motors Bruschless Motors x 2
Pixy2 CMUcam5 Pixy2 CMUcam5 x 1

Software apps and online services

MCUXpresso IDE MCUXpresso IDE
J-link commander J-link commander
QGroundControl QGroundControl

Hand tools and fabrication machines

Screwdriver Set Screwdriver Set x 1
pliers pliers x 1
soldering-iron soldering-iron x 1
patience patience a lot of patience x 1


A race with the smell of burning plastic
(never give up)

Couple days ago our rover crossed the finish line in the final race. On the third attempt we managed to complete the entire track. It may have been slow, but we were happy about it as if we had set a world record. Cause, after all, anything could have go wrong...

First problem
Our journey started about 1.5 month ago. In mid-March we received all the parts for our car and began to assemble the chassis. Then the first problem appeared. The instruction in the car-kit box most likely was made for a different model. Servo mount had to be invented on the fly. We came up with a solution and found right tools. With a drill we enlarged the existing holes a little. Some bolts had to be screwed directly into the plastic and thereby cut the threads.  And after a couple of hours the servo was in place.

Small mistake with big consequences
Next, we had to solder the motors to the power circuit. After we finished the work, we checked the correctness of the connections and after making sure that everything was ok, we plug the battery...
And yes, it was'nt correct at all. During the assembly of the circuit, we accidentally reversed the polarity. It was real fireshow :) We got off with a slight fright and burned out controllers for both motors.

It is hard to make everything work
Although not without problems, we have finished assembling the car. The next step must be to write an algorithm, but it's so simple to be true. Just putting everything together, you get a car that does not work with the servo and the wheels spin in different directions, or do not spin at all ... Car setup period has come.
Initially, the rotation of the servo depended on the position of the mother-board, it took us a long time to figure it out and fix it. Then it was time to tune the motors, make them rotate in one direction and with the same force is not such an easy task. We had to go deep into the firmware and change the values in the mixers and in QGroundControl. Most likely it was the longest stage of preparation, but we did it!

After setting up the car, we wrote a simple algorithm and started to testing it. My old laptop was going through a tough time. Building and running the project took a very long time and the computer was very hot. But we did not know yet that the car is now in even worse conditions. Although we worked thoughtfully and with long breaks, the servo turned several times per second during the course of the track and after cople days it simply could not withstand such loads. It stopped responding and started to get hot to the touch once you plug it in. We were very upset and began to look for the cause of the breakdown. It turned out that the servo just burned out.
There was very little time left before the final race so we get new servo, and after making restrictions on the max servo turn, we continued preparation.
And then the day before the competition, another servo burns out. We thought it was the end, besides, other teams had similar servo problems. They were simply not designed for such loads. They were simply not designed for such loads and broke one after another. Then we just wanted to give up everything. Final race is tomorrow, our algorithm is not working right. Tomorrow is the final race, we got confused in our own algorithm and now our car cannot turn at all!!! 

never give up
But we pulled ourselves together, limited the rotation of the new servo even more and began to write the algorithm almost from scratch. We spent about 10 hours on our car that day.
The final touches were made on the morning of race day. We finished the car and now it remains to wait for our turn to start.
First two attempt was complete failure, the car left the track almost immediately. But the last one was... brilliant. Slowly but surely the car passed the whole track and crossed the finish line a little more than a minute after the start. 
We experienced indescribable emotions: the best thing in the world is to see how the result of your hard work really worth it

What we learned
We learned a lot during the competition, our team consists of a first year students so we had never worked directly with the hardware before. It was a great hands-on experience. Despite many problems we really enjoyed working on our project. But most importantly, we became a great team and learned to cope with the difficulties on the way. Our team has become very close-knit, we have learned to work together and we are going to continue to do this both at the next NXPCup and at other competitions.

We would like to thank the organizers for hosting the event and the mentors for their help in preparation. See you next year!


Code Repository


Leave your feedback...