View Full Version : Robot OS

09-04-2012, 01:08 PM
I went researching at Robot os and found the how to guides. I was however confused at what do I use for software to compile it with? I also see I should be looking into python and C++. ( I have a lot of work ahead of me!) I've been looking through ros.org for the past 2 days seeing what I could find in my spare time. Would it be best if say I bought the lego mindstorm and use that to help me learn the robot os system? If there's some good website if you could list them for me to look at that would help.

09-04-2012, 09:47 PM
Mindstorms has nothing to do with ROS. However, it's a great way to start learning the frustrations of how sensors fail to pick up things around the robot, how protrusions will end up snagging on rugs, and how fragile mechanical assemblies can be if you don't design them just right! Those are important things to know when building robots.

Then, there's the programming part. You will likely need to know both Python and C++ programming to actually use ROS. In addition, you probably need to know at least some electronics and mechanics to interface with whatever hardware you're using. For a beginner, you may be able to use only Python.

Then, there's the "using a computer from the command line" part -- if you already know this, great; if not, then that's another area where you need to gain some expertise to make significant progress beyond the most basic examples for most systems.

Finally, there's ROS itself, which is a fairly large library and somewhat cumbersome to install and configure according to your particular needs and hardware. If you don't know programming, and don't know the command line, and don't know your general robotics, hardware, and control electronics, you will likely be very frustrated with ROS, because you don't only need to learn ROS, you need to learn about all the things that the ROS will have to interface with.

09-04-2012, 11:20 PM
Command line part? I'm not sure what you mean. I work on electronics and know some mechanical stuff so I won't be totally in the dark there. Is there a language I should study more like C++ then python?

09-05-2012, 12:14 AM
Do you use gnu/linux? If not, you will need to learn and love some version of Ubuntu (Ubuntu, Kubuntu, Xubuntu, etc.). Other flavors of linux are somewhat supported, but Ubuntu is preferred and by far the easiest to get working (it is about three or four lines of commands copy-pasted into a terminal). There are some attempts to get the full ros system working on mac and windows, but they are not generally supported and likely to be quite difficult to get working.

The two languages best supported by ros are c++ and python (roscpp and rospy, respectively), but a couple others have some support. Creating a package and/or stack can be a little tricky, but completing all of the 'getting started' tutorials should give you some idea how to do it.

Although mindstorms is one of the supported platforms, it not the most capable of systems and still requires a pc running ros to do much of anything. Do a search for "turtlebot" and watch a few videos of one in action to see one of the most basic and least expensive ros based robots.

09-06-2012, 09:43 AM
Okay, so learning just the basic should get me by? Of course I will go deeper into C++ and python as time passes on. I do not have a linux system, I might invest in a computer just to programming on since linux never thrilled me back in the day when I tried it.

09-06-2012, 02:24 PM
You can probably find a cheap used netbook to use for linux/ROS.

I've yet to try ROS, so I've got nothing more to add :)

10-11-2012, 01:24 AM
Well as I have studied that Robot OS provides standard operating system services such as hardware abstraction,low-level device control,implementation of commonly-used functionality, message-passing between processes, and package management. so it requires a software programming into it ,also it is based on a graph architecture where processing takes place in nodes that may receive, post and multiplex sensor, control, state, planning, actuator and other messages. The philosophical goals of ROS can be done in these ways:
1.Peer-to-peer & Tools-based
2. Multi-lingual& Free and Open-Source

propolis capsules (http://www.comvita.com)