6wd with double rack-and-pinion steering
-
- Posts: 358
- Joined: 01 Oct 2010, 06:37
- Location: Denmark
- Contact:
Re: 6wd with double rack-and-pinion steering
I once made a 4x2 which could be steered like that and while I think it is fun it is just not worth the effort in my opinion. I can't do it with the current design anyway, as I'm one motor short.
I'm done with the tricky part of the programming so I should be fine from here. (I guess most people here on the forum sees me more as a programmer than a builder.) The tricky parts where to compile the PC software I needed for the BT communication and connecting the NXT via BT. The latter was almost the most difficult, it took about an hour of attempts to get it working, trying 5 different USB-ports for the dongle. It even ended up screwing up the connection to my USB-speakers... Well, it all seems to be working fine now...
So I now have a working C++ program which communicates with a NXC program on the NXT via BT. Now I need to make an GUI for the C++ program and manage the motors in the NXC program. I just forgot all the motor commands in NXC, so I have to review those...
I'm done with the tricky part of the programming so I should be fine from here. (I guess most people here on the forum sees me more as a programmer than a builder.) The tricky parts where to compile the PC software I needed for the BT communication and connecting the NXT via BT. The latter was almost the most difficult, it took about an hour of attempts to get it working, trying 5 different USB-ports for the dongle. It even ended up screwing up the connection to my USB-speakers... Well, it all seems to be working fine now...
So I now have a working C++ program which communicates with a NXC program on the NXT via BT. Now I need to make an GUI for the C++ program and manage the motors in the NXC program. I just forgot all the motor commands in NXC, so I have to review those...
My blog: http://spillerrec.dk/category/lego/
RICcreator, an alternative to nxtRICeditV2: http://riccreator.sourceforge.net/
RICcreator, an alternative to nxtRICeditV2: http://riccreator.sourceforge.net/
-
- Posts: 125
- Joined: 24 May 2011, 20:41
- Location: Where ever the military sends me (currently Central Texas)
- Contact:
Re: 6wd with double rack-and-pinion steering
Crickey man!!! This is the stuff that intimidates me about programing. I can figure out physical stuff really fast but i just don't have the nack for programming (and learning other languages -hmmm). I'm going to the sandbox (SW Asia) very soon. so I will try to keep following from there. Can you post a few overall pics?
What's an easy way to get started on programming? I need a few simple but satisfying projects to get my confidence up, then I can tear into it. I'm not going to bring my NXT with me of course, so i would need some ideas for things soley software based. Eventually I want to do hacked NXT programming and automotive electronic fuel injection programming (see link), and better web pages then typical html (thinking asp or aspx).
What's an easy way to get started on programming? I need a few simple but satisfying projects to get my confidence up, then I can tear into it. I'm not going to bring my NXT with me of course, so i would need some ideas for things soley software based. Eventually I want to do hacked NXT programming and automotive electronic fuel injection programming (see link), and better web pages then typical html (thinking asp or aspx).
JimmyJam
"The more you know, the more you know, the less you know."
"The more you know, the more you know, the less you know."
-
- Posts: 358
- Joined: 01 Oct 2010, 06:37
- Location: Denmark
- Contact:
Re: 6wd with double rack-and-pinion steering
I haven't really done anything last time, so there is not anything new to take photos of. I can take a few more if you want? I plan on trying to build the NXT into the construction in the soon future, so it shouldn't be too long for the next update. (Actually, I will try to get some work done this evening since I feel like building, but I don't know how far it will take me.)
Richard Buckland explained the difference between people who have never programmed (Category A) and people who are experienced with programming (Category C) during one of his lectures:
(He has uploaded all his lectures to Youtube btw, including a full course in C programming which this is a small clip from.)
So just keep trying and don't give up and you will succeed. If it proves to frustrating, take a small break and do something else, but return to it again and keep trying.
A project idea could be a Tic-tac-toe game, where a human must play against the computer. You would need to make a user-interface and some code to check if a move is legal and such, but the important part is the Artificial intelligence. How can you make a machine, which cannot think, make the best possible move against the opponent?
You could go for a similar game with slightly more advanced play if you want something more difficult as a second project.
Well, most simple action games would probably the closest to what you want to do later on. It requires your programming environment to be able to draw on the screen and take against keyboard input though, so it is not something you would want to do as the very first thing. (If you want to do some web-development later on, JavaScript + HTML5 canvas would be a good choice.)
Something like Space Invaders would be good. The enemies movement is rather simple and they shoot on random.
The reason I think such games would be good experience is that they have to keep running (based on a timer) doing some tasks and respond to external input (from the user), affecting the running tasks.
Richard Buckland explained the difference between people who have never programmed (Category A) and people who are experienced with programming (Category C) during one of his lectures:
(He has uploaded all his lectures to Youtube btw, including a full course in C programming which this is a small clip from.)
So just keep trying and don't give up and you will succeed. If it proves to frustrating, take a small break and do something else, but return to it again and keep trying.
A project idea could be a Tic-tac-toe game, where a human must play against the computer. You would need to make a user-interface and some code to check if a move is legal and such, but the important part is the Artificial intelligence. How can you make a machine, which cannot think, make the best possible move against the opponent?
You could go for a similar game with slightly more advanced play if you want something more difficult as a second project.
Well, most simple action games would probably the closest to what you want to do later on. It requires your programming environment to be able to draw on the screen and take against keyboard input though, so it is not something you would want to do as the very first thing. (If you want to do some web-development later on, JavaScript + HTML5 canvas would be a good choice.)
Something like Space Invaders would be good. The enemies movement is rather simple and they shoot on random.
The reason I think such games would be good experience is that they have to keep running (based on a timer) doing some tasks and respond to external input (from the user), affecting the running tasks.
My blog: http://spillerrec.dk/category/lego/
RICcreator, an alternative to nxtRICeditV2: http://riccreator.sourceforge.net/
RICcreator, an alternative to nxtRICeditV2: http://riccreator.sourceforge.net/
-
- Posts: 125
- Joined: 24 May 2011, 20:41
- Location: Where ever the military sends me (currently Central Texas)
- Contact:
Re: 6wd with double rack-and-pinion steering
Excellent advice, and a good little clip too. Thank you very much! Don't worry about the pics, hope the building went well.
JimmyJam
"The more you know, the more you know, the less you know."
"The more you know, the more you know, the less you know."
-
- Posts: 358
- Joined: 01 Oct 2010, 06:37
- Location: Denmark
- Contact:
Re: 6wd with double rack-and-pinion steering
I did the last work on the chassis today. The NXT is now nicely integrated into the body:
(Oh God, now I can't even attach jpg images... Image hosting here I come.)
The NXT only makes it one stud higher, which I'm quite satisfied with. All in all, the construction has a low center of gravity:
I couldn't find my protractor to actually measure the angle, but I'm quite positive that it is over 45 degrees.
A closeup of the new chassis in the back:
There is 9 studs between the springs, just enough to fit the NXT between them. However what I didn't think of was that the springs bends a little bit inwards when they are under load. So I had to move the springs a little bit to the right. It might not be noticeable in the photo, however there is an extra half stud available just beside the locking mechanism to the batteries.
(Oh God, now I can't even attach jpg images... Image hosting here I come.)
The NXT only makes it one stud higher, which I'm quite satisfied with. All in all, the construction has a low center of gravity:
I couldn't find my protractor to actually measure the angle, but I'm quite positive that it is over 45 degrees.
A closeup of the new chassis in the back:
There is 9 studs between the springs, just enough to fit the NXT between them. However what I didn't think of was that the springs bends a little bit inwards when they are under load. So I had to move the springs a little bit to the right. It might not be noticeable in the photo, however there is an extra half stud available just beside the locking mechanism to the batteries.
My blog: http://spillerrec.dk/category/lego/
RICcreator, an alternative to nxtRICeditV2: http://riccreator.sourceforge.net/
RICcreator, an alternative to nxtRICeditV2: http://riccreator.sourceforge.net/
-
- Posts: 358
- Joined: 01 Oct 2010, 06:37
- Location: Denmark
- Contact:
Re: 6wd with double rack-and-pinion steering
I have started programming and it is going along nicely. I can send messages from a C++ program to my NXT by BT and control its movement. Everything is in its early stages though. I started on some graphics for the NXT display in RICcreator:
The needle in the speedometer is made with a PolyOut() call, while the steering indicator in the bottom left is done completely in the RIC file. I noticed some rather annoying issues in RICcreator while making this though...
I also made some few tests of its actual performance and found a fatal flaw in the pendular suspension. While the construction handles weight pretty well, the 180 degree angle connectors cannot hold the gears properly together under load.
It can drive around and go over small objects, but if the object is slightly larger it starts pulling them from each other. I think it could be improved some by just replacing the 180 degree angle connectors with some new and fresh ones, but it will not be good enough to satisfy me anyway so I will be redoing those modules.
Another issue is the suspension, it is slightly too stiff. When combined with the differential this prevents it to fully use its 6 wheel drive to power it. More experiments have to be done before I decide to do anything though.
I cannot modify the construction until next year since I'm staying at my parents place currently. So focus will be on the programming for now.
The needle in the speedometer is made with a PolyOut() call, while the steering indicator in the bottom left is done completely in the RIC file. I noticed some rather annoying issues in RICcreator while making this though...
I also made some few tests of its actual performance and found a fatal flaw in the pendular suspension. While the construction handles weight pretty well, the 180 degree angle connectors cannot hold the gears properly together under load.
It can drive around and go over small objects, but if the object is slightly larger it starts pulling them from each other. I think it could be improved some by just replacing the 180 degree angle connectors with some new and fresh ones, but it will not be good enough to satisfy me anyway so I will be redoing those modules.
Another issue is the suspension, it is slightly too stiff. When combined with the differential this prevents it to fully use its 6 wheel drive to power it. More experiments have to be done before I decide to do anything though.
I cannot modify the construction until next year since I'm staying at my parents place currently. So focus will be on the programming for now.
My blog: http://spillerrec.dk/category/lego/
RICcreator, an alternative to nxtRICeditV2: http://riccreator.sourceforge.net/
RICcreator, an alternative to nxtRICeditV2: http://riccreator.sourceforge.net/
-
- Posts: 1818
- Joined: 02 Oct 2010, 02:19
- Location: Michigan USA
- Contact:
Re: 6wd with double rack-and-pinion steering
It looks like you could use some braces to keep the parts from getting pushed apart. However, if the suspension is how it looks, I would say it might be another headache later.
Matt
http://mattallen37.wordpress.com/
I'm all for gun control... that's why I use both hands when shooting
http://mattallen37.wordpress.com/
I'm all for gun control... that's why I use both hands when shooting
-
- Posts: 358
- Joined: 01 Oct 2010, 06:37
- Location: Denmark
- Contact:
Re: 6wd with double rack-and-pinion steering
Guess what, progress was actually made! No kidding, it actually appears to be done now, 2½ years in the making. Just 2½ years...
Anyway, I fixed the gears issue by just bracing it, probably a year ago. It doesn't case any issues, except that I actually managed to snap one of the knob gears in my test run yesterday, when I stalled it. I would have preferred that it just pushed the parts out, it was a pain to replace it...
I used 8 tooth double bevel gears for connecting the steering, but it was unreliable. So I replaced them with knob gears. And then I did some finishing touches to the exterior and reinforced the front and back gears a bit in the process.
Not much done on the programming side, but I can drive it with my keyboard. Goal was to have analog joystick support, but I don't know if I'm going to do it. I just can't stall this any further...
Anyway, I fixed the gears issue by just bracing it, probably a year ago. It doesn't case any issues, except that I actually managed to snap one of the knob gears in my test run yesterday, when I stalled it. I would have preferred that it just pushed the parts out, it was a pain to replace it...
I used 8 tooth double bevel gears for connecting the steering, but it was unreliable. So I replaced them with knob gears. And then I did some finishing touches to the exterior and reinforced the front and back gears a bit in the process.
Not much done on the programming side, but I can drive it with my keyboard. Goal was to have analog joystick support, but I don't know if I'm going to do it. I just can't stall this any further...
My blog: http://spillerrec.dk/category/lego/
RICcreator, an alternative to nxtRICeditV2: http://riccreator.sourceforge.net/
RICcreator, an alternative to nxtRICeditV2: http://riccreator.sourceforge.net/
Re: 6wd with double rack-and-pinion steering
great work, really amazing!
Who is online
Users browsing this forum: No registered users and 2 guests