Subject
- Posted on
http://64.46.156.80/robot/
Over the weekend I did some major re-design of the software.(A frustrating
and time consuming process.)
Originally, the PID system was a velocity based control, which was good for
manual control, but wasn't very flexable. Aside from re-organizing the
class heirarchy, I implemented a "PathPlanner" object that controls the PID
algorithm targets. (Most of the code is fairly generic at this point as
well, requiring only minor changes for different applications.)
Now, to alter the motion of the robot, one only needs to create a
"pathplanner" object.
There are currently two planners, "manual" and "line," the manual planner
provides keyboard control, the line planner provides forward, backward,
rotate left, and rotate right, with distance and speed. The line planner
has a controlled acceleration, but the deceleration is a bit more tricky
and is a little sudden at the very end of the motion, will work out the
math on that problem this week -- probably.
It isn't hard to imagine that higher level functionality can be implemented
simply as a new type of planner.
Over the weekend I did some major re-design of the software.(A frustrating
and time consuming process.)
Originally, the PID system was a velocity based control, which was good for
manual control, but wasn't very flexable. Aside from re-organizing the
class heirarchy, I implemented a "PathPlanner" object that controls the PID
algorithm targets. (Most of the code is fairly generic at this point as
well, requiring only minor changes for different applications.)
Now, to alter the motion of the robot, one only needs to create a
"pathplanner" object.
There are currently two planners, "manual" and "line," the manual planner
provides keyboard control, the line planner provides forward, backward,
rotate left, and rotate right, with distance and speed. The line planner
has a controlled acceleration, but the deceleration is a bit more tricky
and is a little sudden at the very end of the motion, will work out the
math on that problem this week -- probably.
It isn't hard to imagine that higher level functionality can be implemented
simply as a new type of planner.
Re: Progress on sub-$500 Linux robot -- path planning.
Imagine how frustrating and time consuming it will
be for someone without 20yrs experience :)
I was unable to view the .tar file, is this Linux
dependent?
I have finally burnt KNOPPIX on a CD. It fires up
with some window like thing. I couldn't find gcc
or g++ in the files. I also burnt SimplyMEPIS. It
comes up with a request for a name and password.
Again it didn't seem to come with gcc or g++
I still have to find a decent beginner tutorial
on using the Linux libraries and DLLs or whatever
they are called.
Re: Progress on sub-$500 Linux robot -- path planning.
I know lots of kids in college who are capable.
It is a tar.gz file, WinZIP, last I looked, understood them. It is largely
Linux based, but it is C++.
Hmm, I'll have to look at KNOPPIX, I thought it did come with gcc, but I may
be mistaken.
Take the plunge, get a cheap hard disk and slave it off your C drive.
Re: Progress on sub-$500 Linux robot -- path planning.
They have the advantage of not having to unlearn
anything :) I am entirely self taught and don't
have the advantage of a tutor to kick me over those
little humps along the road to learning when the
text is a little bit vague or incomplete.
Given a suitable source I have been able to learn
most things that interest me. Thankfully there are
some authors capable of reaching a wider audience.
Yes, I do understand your robot system is aimed at
college kids not at the likes of me.
Ok. Will have to get a recent version of WinZip as the
old one I have doesn't recognize it. I didn't even
know it was a zipped file.
Maybe it does. I may not have figured out how to find
it yet. Linux is completely new to me.
Cost is not really a problem. I guess it makes sense
to just plug in another HD just for Linux.
Re: Progress on sub-$500 Linux robot -- path planning.
: I still have to find a decent beginner tutorial
: on using the Linux libraries and DLLs or whatever
: they are called.
Mostly because we don't think of them as "The linux libraries".
What kind of tutorial are you looking for ?
--
==========================================================
Chris Candreva -- chris@westnet.com -- (914) 967-7816
WestNet Internet Services of Westchester
http://www.westnet.com/
Re: Progress on sub-$500 Linux robot -- path planning.
Essentially I know how to program C using the 32 bit DOS
compiler DJGPP. I simply wrote my own programs to access
DOS graphic modes, access parallel ports, save/load bitmaps
and so on...
Linux I understand to be more like Windows with hardware
drivers, multitasking etc.
So I assume I need to be able to use the Linux command line
to save/load/copy/delete files and launch programs.
Then I need to know how to write routines to load/save/display
bitmaps which means file i/o and graphic output. Then how to
access parallel ports, USBs, web cams etc. which means I assume
knowing how to use the drivers for these things.
Not subjects for comp.robotics.misc :)
Re: Progress on sub-$500 Linux robot -- path planning.
using gcc is almost identical to djgpp
for running the compilers etc
gcc docs - should be in the distribution you are using.
http://gcc.gnu.org/onlinedocs/
http://gcc.gnu.org/readings.html
The linux how to docs and linux documentation project are a good resource
http://public.ldp.planetmirror.com/
also learn how to use man in the linux console
man gcc
Doesn't have the dos graphics
and you'll need to get used to unix type commands
http://www.mcsr.olemiss.edu/unixhelp/DOStoUNIX.html
http://www.ugu.com/sui/ugu/show?help.beginners
No harder than dos.
The parallel , usb , serial and webcams would be.
Very useful skills that can help with robotics.
File io is easy , graphics are a different matter (for me).
If you are used to using delphi on windowxs, you could take a look
at kylix also from borland.
Alex
Re: Progress on sub-$500 Linux robot -- path planning.
If you need any help on the path planning, I can send some notes I have on
quintic splines for trajectory planning. They accept vmax and amax as
parameters so you guarantee smooth acceleration both at start and end of
motion. The notes are meant for manipulators, but the inverse kinematics may
be adapted for rover path planning with not much effort.
We also learned how to implement a planner for constant speed no matter the
trajectory, but I believe it is not as appropriate for rovers as it is for
laser cutting or welding robots.
Re: Progress on sub-$500 Linux robot -- path planning.
That would be awesome. I would like to see some other research, this sounds
funny, but "fixed end point" deceleration is something I've never had to
really worry about.
On a mobile robot, there is no such thing as "constant speed," it's all
about slippage. :-)
Re: Progress on sub-$500 Linux robot -- path planning.
You might be interested in this: http://opensteer.sourceforge.net/ as a
robot path planning methodology.
Excerpt:
"OpenSteer is a C++ library to help construct steering behaviors for
autonomous characters in games and animation. In addition to the library,
OpenSteer provides an OpenGL-based application called OpenSteerDemo which
displays predefined demonstrations of steering behaviors. The user can
quickly prototype, visualize, annotate and debug new steering behaviors by
writing a plug-in for OpenSteerDemo.
OpenSteer provides a toolkit of steering behaviors, defined in terms of an
abstract mobile agent called a "vehicle." Sample code is provided, including
a simple vehicle implementation and examples of combining simple steering
behaviors to produce more complex behavior. OpenSteer's classes have been
designed to flexibly integrate with existing game engines by either layering
or inheritance."
Mitch
Re: Progress on sub-$500 Linux robot -- path planning.
I wonder how easy would it be to integrate something like this to simulink.
It would be nice to prototype my control behavior in simulink and then
quickly visualize it as an animation. I tried to run the demo, but it's
asking for a dll that is not provided with the demo (MSVCP71.DLL).
I'll try to download the source code and compile in MS VC++
Re: Progress on sub-$500 Linux robot -- path planning.
It ran on my machine (OS X), but there's no documentation in the
download. I'm too busy this week to go back to the website but it does
look interesting. If it wasn't C++ this would be really cool for my
project...maybe somebody will take the source and produce a pared-down
version for 8-bit microcontroller...
--
|\/| /| |2 |<
mehaase(at)sas(dot)upenn(dot)edu
Site Timeline
- » Electronics Training / Education question
- — Next thread in » General Robotics Forum
-

- » NRI PROFESSIONAL TUBE SIGNAL GENERATOR MOD88-EBAY-1 CENT OPENER
- — Previous thread in » General Robotics Forum
-

- » evoMUSART 2013: First CFP (with correct dates)
- — Newest thread in » General Robotics Forum
-

- » Heat pump refrigerant change to R-22 substitute
- — The site's Newest Thread. Posted in » General Metalworking
-

- » DCC sound question
- — The site's Last Updated Thread. Posted in » Model Railroad Forum
-








