ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

ROS: Skill required?

asked 2014-07-21 16:47:17 -0500

Andromeda gravatar image

updated 2014-07-21 16:49:33 -0500

Hi, as a mechanical engineer with good but not excellent knowledge of C++ and Java is to me quite difficult to start working with profency with ros. Let s say I m definitely NOT an IT-Engineer nor have a degree in informatics. Do you think is it necessary, for working with ROS (build models, simulations, implement more complex mobile robots than the well known turtle...), to have a degree an informatics? Or to be quite an expert in C++ classes and so on? I went through the tutorials and found them easy to understand BUT I still don t know how to create a simple robot, with I can start off. It seems to me, that those tutorials are a little bit misleading. i don t see a direct connection to a "real" or simulated robot.

I accept the challenge offerd by ROS, but I d like to know if you would me discourage keeping on ... Regards

edit retag flag offensive close merge delete



The tutorials are not misleading. They are a little tough (at least for mech engineers). As anything in life is... I am a Mechanical Engineer too. Also, in the tuts, it is very tough to elaborate too much on the basics - nobody really has the time for it.

McMurdo gravatar image McMurdo  ( 2014-07-22 04:12:17 -0500 )edit

3 Answers

Sort by ยป oldest newest most voted

answered 2014-07-21 21:00:20 -0500

Mehdi. gravatar image

updated 2014-07-22 21:02:36 -0500

I think that ROS was created for this purpose, making robotics accessible for a broader range of academics. You already have some experience with programming languages (C++ and Java) which is IMO more than enough to start using ROS. As you may know the main languages for ROS are Python and C++ and I highly recommend you to learn Python. Actually you don't need to learn it, just jump in and start using it and you will learn by doing (my case, happily reconverted from Matlab to Python). It makes robotics programming much easier.

Now for the connection to a real or simulated robot, after getting used to ROS way of programming, try expanding to some other packages, especially simulators and. You have the choice:

Gazebo (standalone) : and the ROS interface


You can also visualize the simulation data using RVIZ


These software will allow you to play with some robots you download or create by yourself.

And the best thing about ROS is so don't hesitate to ask questions.

edit flag offensive delete link more


check some youtube videos about these simulators to see how the final result would look like.

Mehdi. gravatar image Mehdi.  ( 2014-07-21 21:06:06 -0500 )edit

RViz isn't strictly a simulator. It can visualize robot models and data (range data, odometry, images, temperature etc) published from a simulator like Gazebo or Stage or published from nodes connected to a physical robot.

Ajay Jain gravatar image Ajay Jain  ( 2014-07-21 21:55:24 -0500 )edit

Thanks, I edited the answer.

Mehdi. gravatar image Mehdi.  ( 2014-07-22 20:58:49 -0500 )edit

Do you have good tutorials for Python? I want to learn it, I find Python3 its OK?

underwater gravatar image underwater  ( 2014-07-28 20:06:53 -0500 )edit

It is better to start with Python 2.7 for now and make a transition to Python 3 later, learning Python is really easy if you already have some programming knowledge, you can start here But I think that Python is really easy to read so you can just start with ROS python tutorials and check everything you don't understand in Python API docs

Mehdi. gravatar image Mehdi.  ( 2014-07-28 20:40:23 -0500 )edit

Hi Medhi. I realized right now, you edited your answer. Is it now in the "right" order? Gazebo then Morse and then rviz? Oder it doesn t matter. I went through sall tutorial and now dn t know what s next. There are a lot of well made URDF Tutorial as well. Do you mean I need them? I really don t understand the structure of so many programs and applications. Thanx

Andromeda gravatar image Andromeda  ( 2014-07-29 05:12:39 -0500 )edit

very thanks Mehdi.

underwater gravatar image underwater  ( 2014-07-29 15:27:56 -0500 )edit

answered 2014-07-21 20:53:07 -0500

Hi Andromeda,

Welcome to the ROS community.

I have been using ROS since cturtle version and must confess that found the learning curve quite steep. I wouldn't say that you need an IT degree in order to be able to use ROS, a basic understanding of computer programming (being C++ the language most used by this community) should be enough to get you started.

In no way I would discourage you of keeping on learning ROS. What I did back on the day was to follow the tutorials to get the basic concepts and then try to apply it to my own robot and learn along the way. You will face many problems and will have many questions (we all do!) but is a great place to get answers.

Have fun learning!

edit flag offensive delete link more

answered 2014-07-22 03:37:12 -0500

bvbdort gravatar image

Some programming skills and interest in robotics are enough to start with ROS, you dont have to be with excellent knowledge of C++.

Robotics is multi disciplinary, you need programming for writing code but for what to program, your engineering will helps in making you ease at some parts and difficult at other parts which is same with everyone.

Follow these ROS tutorials to create simple robot.

Have a Nice day !!

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2014-07-21 16:47:17 -0500

Seen: 3,204 times

Last updated: Jul 22 '14