|
|
|
|
|
| |
Posted by mandeep on May 10, 2006, 6:12 am
Please log in for more thread options
Hi Everyone,
I am new to field of robotics and I was wondering what tools I should
consider studying for development of a robot system that can learn and
make maps from the environmental interaction with sensors(vision etc).
I know basic programming languages like c and
delphi(lazarus,freepascal).
I think c is the language of choice for most people while developing
programs embedded systems(although i like pascal a lot).
To test certain algorithms for embedded systems on PC, I think
c,sdl,opengl,glut mix is good(that will make me less dependant on
os).is that enough.
I want suggestion from people with experience about what all should i
invest my time in studying.
Currently all i know is that C is the language, but the libraries for
doing similar things vary OS to OS. I think I need to understand and
implement lot of algorithms instead of learning lot of separate
libraries.
please share your views on this
|
|
Posted by D. Jay Newman on May 10, 2006, 4:52 pm
Please log in for more thread options
mandeep wrote:
> I want suggestion from people with experience about what all should i
> invest my time in studying.
It all depends on what you're doing.
I like Java for robotic control. However, currently I'm building
a Leaf robot (http://www.leafproject.org/) which uses a combination
of LISP, C, and C++. This robot has speech recognition, vision,
AI, and navigation/mapping.
One interesting thing is that the software runs not only on
simple differential drive robots, but also on a couple of
R2D2 and B9s (robot from Lost in Space).
I will be using this as a platform to experiment with
many things without having to worry about the low-level
stuff.
However, if you're just starting out, I would strongly
recommend building a small robot first. If you like
C you can use the MAVRIC-IIB (http://www.bdmicro.com/)
board. If you're willing to try Java, the uVM chip
is a PIC with a Java compiler! (http://www.muvium.com/).
If you don't want to worry much about the mechanics, get
a base from Budget Robotics (http://www.budgetrobotics.com/).
It's good to learn on a small robot because when a small
robot runs over something, nothing is hurt. When a large
(PC-based) robot runs over something, there is pain. :(
--
D. Jay Newman
Author of _Linux Robotics_
http://enerd.ws/robots/
|
|
Posted by mandeep on May 10, 2006, 11:41 pm
Please log in for more thread options Hi Mr. Newman,
Thanks for the advice and information. I see that using a PC and its
devices would be fastest way to implement a robot with vision,sound
sensor and outputs. Also it would be the fastest way to test all
algorithms. we also need to extend the PC system to add more different
sensors and physical motion devices etc. ( so a laptop integrated with
initial design is a good idea)
I checked out the Leaf robots site and my own idea is roughly along the
same path of leaf's inspiration of a creature interacting with
environment and learning.
I think I would first start out with C. I would like to keep the
learning curve lowest in programming language because the aim is to
allow system to learn and use rather than be programmed all the time.
I would dedicate more learning time to try out algorithms.
Could you please tell me why you chose java? i am not familiar with all
the advantages it would have over C in building the robot.
Hope to be able to discuss with you further after I am more into it. I
am going to study robotics and embedded system course from this year in
uk.
|
|
Posted by D. Jay Newman on May 12, 2006, 12:47 am
Please log in for more thread options mandeep wrote:
> Hi Mr. Newman,
> Thanks for the advice and information. I see that using a PC and its
You're welcome. And it's just "Jay".
> devices would be fastest way to implement a robot with vision,sound
> sensor and outputs. Also it would be the fastest way to test all
> algorithms. we also need to extend the PC system to add more different
> sensors and physical motion devices etc. ( so a laptop integrated with
> initial design is a good idea)
A Mini-ITX system will also work.
> I checked out the Leaf robots site and my own idea is roughly along the
> same path of leaf's inspiration of a creature interacting with
> environment and learning.
Good. We can always use another hand.
> I think I would first start out with C. I would like to keep the
> learning curve lowest in programming language because the aim is to
> allow system to learn and use rather than be programmed all the time.
> I would dedicate more learning time to try out algorithms.
> Could you please tell me why you chose java? i am not familiar with all
> the advantages it would have over C in building the robot.
> Hope to be able to discuss with you further after I am more into it. I
> am going to study robotics and embedded system course from this year in
> uk.
I strongly suggest starting from a known base. Doing everything on
your own can cause you to reinvent the entire wheel. Starting from
a working infra-structure can speed the development process.
--
D. Jay Newman
Author of _Linux Robotics_
http://enerd.ws/robots/
|
|
Posted by D Herring on May 16, 2006, 3:06 am
Please log in for more thread options mandeep wrote:
> Hi Mr. Newman, Thanks for the advice and information. I see that
> using a PC and its devices would be fastest way to implement a robot
> with vision,sound sensor and outputs. Also it would be the fastest
> way to test all algorithms. we also need to extend the PC system to
> add more different sensors and physical motion devices etc. ( so a
> laptop integrated with initial design is a good idea)
If you do use a laptop, you need to keep it protected; I've known people
who's laptop hard drive was crashing due to vibrations. They solved
this by booting off a live CD and keeping everything in memory.
> I checked out the Leaf robots site and my own idea is roughly along
> the same path of leaf's inspiration of a creature interacting with
> environment and learning. I think I would first start out with C. I
> would like to keep the learning curve lowest in programming language
> because the aim is to allow system to learn and use rather than be
> programmed all the time. I would dedicate more learning time to try
> out algorithms.
C/C++ is a good language to learn; it gives you direct access to the
hardware, but it also requires you to have a deep understanding to
accomplish certain "basic" tasks. Another language in this category is
Forth. Java is nice because it isolates you from certain memory
allocation issues, offers easy object-orientation and threading, and has
a good standard library. Other languages like Lisp, Scheme, and OCaml
provide higher abstractions that simplify tasks like AI but tend to
complicate direct hardware access. Most languages offer a C binding to
allow interaction between them. If software's your thing, be sure to
experiment with several different languages; write a simple program in
each of them; this will give you some perspective on what their
specialties are.
> I am going to study robotics and embedded system course from this
> year in uk.
Have fun with your studies. Other fields that may interest you are
control theory and mechanics.
Daniel
|
| Similar Threads | Posted | | STR730FZ2 ARM processor development board with SW tools | April 22, 2006, 1:14 pm |
| Rip-off CCS Robotics Development Kit | July 27, 2005, 1:32 am |
| Roomba as a robotics development platform | October 8, 2006, 7:48 pm |
| similar development boards to the "Parallax Professional Development Board" | June 15, 2006, 3:18 am |
| your development board? | December 2, 2006, 6:00 pm |
| Re: "Deadwood" A film seems to be in development, but... | January 15, 2008, 4:00 pm |
| Julie markets development out of supply | August 19, 2007, 6:58 am |
| she wants to rid reduced offers via Wednesday's development | December 29, 2007, 4:32 pm |
| Long range rover robot development. | November 20, 2005, 4:39 pm |
| Usha bursts keeper in favour of development | August 19, 2007, 5:08 am |
|
|
|
> invest my time in studying.