I’m very excited to present you my work with the NXTLineLeader-Sensor from Mindsensors.
I’m using the current Version of LeJOS(0.9) and also the new included NXTLineLeader class.
Unfortunately I wrote my own NXTLineLeader class some month ago and I thought I got something new
I got some trouble at the beginning with the new leJOS update because they changed the motor class. There is no setPower()-method anymore… and the NXTLineLeaders Firmware is calculating a value you should add or subtract from the power (i.e. to subtract the value from left wheel and add it to right wheel or vice versa) and not from the speed. Therefore you need to use an unregulated motor. Otherwise the NXTLineLeader doesn’t work fine. Andy explained something about the new motor class here, which is every time regulated (you can’t turn this off anymore).
Fortunately I found the NXTMotor class in LeJOS which is still supporting the setPower()-Method and which supports an unregulated Motor. Of course you have to disclaim some motor methods… but for my work the NXTMotor Class implements all functions I needed.
Otherwise you gotta use an older LeJOS version and use your own (or my) NXTLineLeader class like I did it before the new update 0.9 came out.
I did some tests with the class and the NXTLineLeader sensor and I’m absolutely surprised what u can do with it… it’s a revolution in line-following and it works great…
I implemented my own PID-Algorithm to test if the sensor works fine… and yes, it does
At my university we always had some trouble to follow lines and also to print the lines on huge papers… but this sensor is so sophisticated that u can just use a black marker. We could just follow lines in low power but now a power of 100 is no problem.
I built my car with an OmniWheel because it’s easier and better to follow the line. You have no unnecessary attrition with this wheel which could infect a good linefollowing.
Look at my videos:
Here I’m just drawing a line (not just straight, rather twisted) (9mm) and it’s no problem for my LineLeader. I tested also different width for the line: 5mm is possible, but 8-10mm is good. Perfect is 12mm.
http://www.youtube.com/watch?v=e-OfVm_eRp4
It is also possible to follow acute angles. Here I’m using insulating tape (12mm)
http://www.youtube.com/watch?v=NA5P1qFyMjY
At least I did some tests to show u the PID-Algorithm working. I can change the PID values and the SetPoint (this says the sensor under which area he attempts to follow the line (default is the center of the sensor) of the NXTLineLeader
http://www.youtube.com/watch?v=mcwERdaZJeU
I can’t post the source of my class at this moment, because it is part of my academic work. But when it’s graded, I will post it here
At the moment I’m writing a program for navigation with the LineLeader on a grid with the help of the A*Algorithm. I’m almost done. I will post it here in a few days…
Im looking forward to get some feedback…
Cheers
Matt
