Investigating motor control

Discussion specific to projects ideas and support.
Post Reply
gloomyandy
Posts: 323
Joined: 29 Sep 2010, 05:03

Investigating motor control

Post by gloomyandy »

Folks,
a few of you may have read this discussion:
http://lejos.sourceforge.net/forum/view ... sc&start=0
over on the leJOS forum. It contains an interesting discussion into the characteristics of the Lego and leJOS motor controllers. I thought the results and techniques might be of wider interest hence this thread.

The story all started with leJOS unroller doing some tests. His blog explains it all here:
http://nxt-unroller.blogspot.com/2010/1 ... s-and.html
I had also been some work on the leJOS driver (to fix some problems we had with smooth acceleration), and I used unroller's tests to help me test and improve the driver. You see some of the details here:
http://www.gloomy-place.com/lejosmotor.htm

unroller has continued working on his own motor controller (using a technique called feed-forward), there are more details of this here:
http://nxt-unroller.blogspot.com/2011/0 ... d-for.html

Finally as part of the work I've been doing I wanted to find a way to let me observe the quality of the motor control in a moving robot. I came up with a technique using a laser and my dSLR, I've made a short video of how it works and some results here:
http://www.youtube.com/watch?v=NJ_6Qm_BNFI

Hope some of you find the above of interest...

Andy
mightor
Site Admin
Posts: 1079
Joined: 25 Sep 2010, 15:02
Location: Rotterdam, Netherlands
Contact:

Re: Investigating motor control

Post by mightor »

The laser pointer and long exposure pictures paint a very clear picture. Nice bit of research :)

- Xander
| My Blog: I'd Rather Be Building Robots (http://botbench.com)
| RobotC 3rd Party Driver Suite: (http://rdpartyrobotcdr.sourceforge.net)
| Some people, when confronted with a problem, think, "I know, I'll use threads,"
| and then two they hav erpoblesms. (@nedbat)
schodet
Posts: 139
Joined: 29 Sep 2010, 11:21
Contact:

Re: Investigating motor control

Post by schodet »

Nice work !

Would you like to test using a shorter regulation interval for the LEGO algorithm? I have a "work in progress" version here : http://nxt-firmware.ni.fr.eu.org/binaries/, look at WIP Version 1.29i-d1d1374. I did not work on sync mode, but the shorter regulation interval may have an impact.

Unfortunately, I do not spend much time on LEGO currently, too busy with Eurobot.
LEGO things http://ni.fr.eu.org/lego/ - NXT Improved Firmware (GCC) http://nxt-firmware.ni.fr.eu.org/ - Other robots http://apbteam.org
afanofosc
Site Admin
Posts: 1256
Joined: 26 Sep 2010, 19:36
Location: Nashville, TN
Contact:

Re: Investigating motor control

Post by afanofosc »

I grabbed a copy of the zips from the leJOS thread that Andy mentions above. Andy, do you have a newer/better copy of your code that you could send me or should I just grab the latest from SVN?

I am going to try to implement a leJOS mode for motor control in the enhanced NBC/NXC firmware and possibly the unroller control mode. Probably both are above my pay grade/competence level.

Andy, do you have any suggestions for implementing your algorithm in the standard firmware's state machine/output module architecture?

John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
gloomyandy
Posts: 323
Joined: 29 Sep 2010, 05:03

Re: Investigating motor control

Post by gloomyandy »

Hi John,
I updated the leJOS svn just the other day so the latest code is up there:
http://lejos.svn.sourceforge.net/viewvc ... iew=markup

I'm not sure how best to suggest that you implement things in the firmware. I guess the latest code I've used will help in that it has all of the state information for each motor collected together (because it all runs off a single thread). But you will have to convert the code to use an array of structs or something. I've no idea how you map things to the firmware I/O model, (i.e. the firmware API using the motor command structure), but I'm sure you know more about that than I do! Let me know if I can provide any more information on anything...

Good luck!

Andy
schodet
Posts: 139
Joined: 29 Sep 2010, 11:21
Contact:

Re: Investigating motor control

Post by schodet »

afanofosc wrote:I am going to try to implement a leJOS mode for motor control in the enhanced NBC/NXC firmware and possibly the unroller control mode. Probably both are above my pay grade/competence level.
I have some work done on my side for an alternative regulation method, I hope we could agree on the interface in order not to have incompatible changes.
LEGO things http://ni.fr.eu.org/lego/ - NXT Improved Firmware (GCC) http://nxt-firmware.ni.fr.eu.org/ - Other robots http://apbteam.org
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest