ROBOTC.net forums
http://robotc.net/forums/

PivotPoint: A line follower
http://robotc.net/forums/viewtopic.php?f=15&t=3938
Page 1 of 3

Author:  NeXT-Generation [ Thu Dec 29, 2011 10:40 pm ]
Post subject:  PivotPoint: A line follower

PivotPoint is a RCX based line follower programmed in RobotC 2.02.

I brought it to the Image competitions at the iHobby expo 2011. It competed in the Racing line following and Basic line following competitions. I came in second in basic, :D and didn't earn a place in racing. Oddly, robots that beat me in racing, I beat in basic. PivotPoint was my first line follower designed for speed, so I could definitely do better now. :programmer: My prize was a R3D3 analouge line following robot, and a TI Launchpad Development board. See "PivotPoint 001.jpg" in my Brickshelf folder for a picture of the robot, and "PivotPoint_Prizes_001.jpg" for, you guessed it, pictures of the prizes.

Construction:
_______________________________________________________________________________________________________________________________

PivotPoint has the motors and lightsensors on a platform connected to the main body by a turntable(What does a turntable do? It turns: or, pivots. Hence the name, "PivotPoint"). I've found that this design reacts to turns better and generally goes faster than other prototypes. The drive motors are PF M-Motors and it uses three light sensors. See "PivotPoint 004.jpg" in my Brickshelf folder.

The main body has the RCX attached to the turntable and two rear wheels. The only other prominent feature is the lights mounted on top. There're each connected to the respective motor port for each side. That way as motor power changes, the lights get brighter and dimmer to show which way it's turning. See "PivotPoint 002.jpg" in my Brickshelf folder.

Programming:
_______________________________________________________________________________________________________________________________

The program is actually very simple, which is probably why it wasn't that efficient. It recognized five patterns:(where 1=line and 0=no line) 100, 110, 010, 011, 001. That gave 2 different steering values for each direction of turning. I'm actually surprised it did that well, considering I was up against "real" (like built from scratch microcontroller stuff) robots.

Video:
_______________________________________________________________________________________________________________________________

I had a video from the racing event, but I seem to have misplaced it. :( I will upload it as soon as possible. Unfortunately, I didn't get a video of the basic line following, which is the event I actually placed in. :cry:


Misc:
_______________________________________________________________________________________________________________________________

See pictures of my prizes and more of the robot at my Brickshelf folder. I'm currently working on a LDraw model with instructions through LPub.

P.S. I just uploaded the pictures, so they have to be moderated.

Attachments:
File comment: Program
LineFollower.c [2.62 KiB]
Downloaded 1304 times

Author:  NeXT-Generation [ Fri Dec 30, 2011 4:48 pm ]
Post subject:  Re: PivotPoint: A line follower

The pics are up!!

Author:  NeXT-Generation [ Thu Apr 12, 2012 9:45 am ]
Post subject:  Re: PivotPoint: A line follower

Update: I now have a video of it on my test track. I apoligize for the quality, I was testing out a new camera.



EDIT: RobotC now allows embedded YT videos! w00t! :P

Author:  Spiked3 [ Thu Apr 12, 2012 3:52 pm ]
Post subject:  Re: PivotPoint: A line follower

That is awesome. I tried something like that for my first project, but it didn't come out anywhere near as well.

I'd be interested in hearing how "you could do better now", I love it when off the shelf stuff can compete with the custom stuff.

Great job, congratulations.

Author:  NeXT-Generation [ Thu Apr 12, 2012 4:25 pm ]
Post subject:  Re: PivotPoint: A line follower

Spiked3 wrote:
That is awesome. I tried something like that for my first project, but it didn't come out anywhere near as well.

I'd be interested in hearing how "you could do better now", I love it when off the shelf stuff can compete with the custom stuff.

Great job, congratulations.


Thank you :mrgreen:

I could do better now, for instance, by implementing a PID algorithm, which would allow for a much smoother following of the line. I could also make it better by modifying the physical construction to allow for faster turn response and faster acceleration. Also, since I'm now getting into the "custom" stuff, I could make my own sensors which would probably function better than the LEGO ones. I could make a sensor kinda like the MindSensors LineLeader. It could have an array of light sensors, and return a analog voltage value to the RCX, and the RCX could use that value to decide how much power to apply to which motor.

Those are just some examples. I could hit upon a completely different design with much better performance, or I could get to the point where it's just not possible to make a RCX line follower any faster. We will see. "BUM BUM BUM" :twisted: (Where's the evil backround music when you need it? :lol: )

I don't currently have this assembled anymore, I needed the motors for something else. Something else........ very mucho moro awesomeo, Senore.(that was spanish there, I think) So, hold on to your hats, cause this Robot's comin' soon (hopefully. I've been working on it on and off since febuary.)

Author:  Spiked3 [ Thu Apr 12, 2012 5:34 pm ]
Post subject:  Re: PivotPoint: A line follower

Ok. I have been thinking, and not being too mechanical may be completely wrong, but to me, there is some aspect of a articulated vehicles that mechanically does a form of PID - so I personally have been trying to avoid PID (in software) - if it can be done mechanically faster/better then that would seem to be the way to go.

I did get (already have) the lineleader though, that part makes sense.

I looked at it little more after I posted; I realize now you are doing differential steering on an articulated platform. So was that somewhat accidental, or pre-planned? I was thinking of powered articulation, rear wheel drive (with diff, but not differential steered). I'm sure there is some algorithm that defines what kind of PID like behavior it would have, but I have no idea what it is.

To take second place with off the shelf old generation LEGO (rcx) against custom stuff is amazing to me anyways. I'm not sure it would be so easy to improve on, you may have just hit on a magical combination.

Author:  NeXT-Generation [ Thu Apr 12, 2012 6:16 pm ]
Post subject:  Re: PivotPoint: A line follower

Spiked3 wrote:
Ok. I have been thinking, and not being too mechanical may be completely wrong, but to me, there is some aspect of a articulated vehicles that mechanically does a form of PID - so I personally have been trying to avoid PID (in software) - if it can be done mechanically faster/better then that would seem to be the way to go.


Well, yes and no. The articulated platform does respond to turns better and faster - even better with PID in the software - but with a simple "Bang-Bang", like mine used, it does appear to move faster anyway. I think it's because the majority of mass is trailing the "steering", which can jerk back and forth all it wants, but the "trailer" still goes in one general direction. However, it would go faster still if it could follow the line smoothly, instead of constantly turning one direction and then the other.

Spiked3 wrote:
I looked at it little more after I posted; I realize now you are doing differential steering on an articulated platform. So was that somewhat accidental, or pre-planned? I was thinking of powered articulation, rear wheel drive (with diff, but not differential steered). I'm sure there is some algorithm that defines what kind of PID like behavior it would have, but I have no idea what it is.


My original design was a one-piece, but it didn't work so well (read: epic FAIL). I then chanced upon some videos of Steve Hassenplugs line followers, and this kind of design stood out predominantly. I had been thinking about that kind of design, and after seeing Steve's work, I decided to try it out.

About the rear wheel drive, I have no idea what kind of algorithm that would need.

Spiked3 wrote:
To take second place with off the shelf old generation LEGO (rcx) against custom stuff is amazing to me anyways. I'm not sure it would be so easy to improve on, you may have just hit on a magical combination.


As I said before, Steve Hassenplug's RCX Line followers were very good. On par, or even better than this one. In fact, he used to go to the same robotics club as me, and still competes in some of their contests. If you look through the old archived Chibots pages you'll find some videos of his followers.

Author:  NeXT-Generation [ Fri Apr 13, 2012 1:35 pm ]
Post subject:  Re: PivotPoint: A line follower

Update again: I just thought of some additional information for this project.

1. It took me one day to build and program, plus a couple minor tweaks on competition day.
2. I was 12 when I designed it.
3. I've brought it to several shows now, have always gotten complements on it, and I think I inspired some people to purchase MindStorms sets.

I'm looking for the video from the competition. Unfortunately, I only have a video of Racing Line Following, which I didn't do very good in.

Author:  NeXT-Generation [ Wed May 02, 2012 5:11 pm ]
Post subject:  Re: PivotPoint: A line follower

Update Final: (I hope)

Another video!! This time on my High-quality modular tile track:




I have the parts list for PivotPoint in a .bsx file. It can be downloaded from: https://www.dropbox.com/s/g2enzby410pee ... s_List.bsx . It can be viewed in a program such as BrickStore.

Author:  magicode [ Wed May 02, 2012 5:39 pm ]
Post subject:  Re: PivotPoint: A line follower

It looks so much like a bloodhound, that I'm expecting it to come sniff my shoes.

Author:  NeXT-Generation [ Wed May 02, 2012 5:54 pm ]
Post subject:  Re: PivotPoint: A line follower

magicode wrote:
It looks so much like a bloodhound, that I'm expecting it to come sniff my shoes.


Hmm, I never noticed that before, but, now that you mention it, it does look like a bloodhound. :lol: :P :lol:

Author:  Spiked3 [ Wed May 02, 2012 7:34 pm ]
Post subject:  Re: PivotPoint: A line follower

Man, I am inspired. My next try has moved up to 412 on my to do list :|
You did see my first attempt, didnt you? http://www.spiked3.com/?p=3
Interesting to see the blood hound action seems common. Did you add PID?

Author:  NeXT-Generation [ Wed May 02, 2012 8:33 pm ]
Post subject:  Re: PivotPoint: A line follower

Spiked3 wrote:
Man, I am inspired. My next try has moved up to 412 on my to do list :|
You did see my first attempt, didnt you? http://www.spiked3.com/?p=3
Interesting to see the blood hound action seems common. Did you add PID?


Wow, 412? I don't really plan. Just' do whatever comes to me.

I hadn't seen that before. It's actually a pretty good concept! Very good for a first try!! My first line-follower was much worse than that.

No, I haven't changed anything. This was simply one last shot with my new (donated) Line-Following tiles before it got dismantled.

Author:  mightor [ Thu May 03, 2012 2:27 am ]
Post subject:  Re: PivotPoint: A line follower

Spiked3, perhaps you could share your LDD file and source code in that article so others can learn from it? It is a very unusual line follower.

- Xander

Author:  Spiked3 [ Thu May 03, 2012 6:57 am ]
Post subject:  Re: PivotPoint: A line follower

mightor wrote:
Spiked3, perhaps you could share your LDD file and source code in that article so others can learn from it? It is a very unusual line follower.

- Xander


:) easier said than done. I switched source control shortly AFTER that. But I dug it up.

I'll skip the code part - it was a mess. NXC and my first project, and a (failed) attempt to add debugging to NXC (that required a PC app). I do not think anyone would learn anything other than how not to do things. Bad use of tasks, plenty of spots where it errored into working as opposed to working as planned etc :)

The LDD was not much better. At first it fell apart, but was saved by a couple of supports. I have attached the one I found which looks pretty close. The gears in the LDD file do not line up - at the time I didn't know how to accomplish that. But the idea is there. You just 'sit' the sensor part on top of the shaft, it was left loose so as to not be too rigid when code mishaps occurred (a lot), but seemed steady enough when running.

Attachments:
lineFollow.zip [33.79 KiB]
Downloaded 1130 times

Page 1 of 3 All times are UTC - 5 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/