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

New to programming for robotics- where to begin?

asked 2014-01-09 10:08:03 -0500

ryanmcintosh5 gravatar image

I recently developed a 50lb tracked robot (skid steer) that requires 100% human teleoperation via RC. I want to take the next steps and give the vehicle some autonomy which may include: controlling an attached robotic arm or similar payload; gps navigation and waypoints; route plotting; 2d/3d environment mapping; obstacle avoidance; vision/decision making via Kinect sensor, etc. Im new to programming and microcontrollers and thought about starting with the Arduino or 3D Robotics Pixhawk controller and their respective programming environments but read alot about how much more advanced ROS is and want to learn ROS programming. Also I eventually want to commercialize these robotic systems. Is commercialization possible with ROS onboard? Where would you suggest I start? I know I need to learn C/C++ programming and Linux/Ubuntu. Is there a way I can learn these leaned towards robotics? or will I have to start at programming 101? Can someone give me advice on the order of what I should be focused on learning these functions? Are there any books for beginners that will get me to equipping my bot with ROS as soon as possible. Im eager to start now

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2014-01-09 23:19:57 -0500

dornhege gravatar image

Any answer you'll get will be highly opinion-based. Also as the question is very open in this format I will focus on the ROS question, i.e.: If I can't program C++, nor program at all yet, is it wise to start with ROS.

Although I'd like to say "yes, ROS is easy" I must advise against that. ROS is built on top of C++. It uses some control-flow concepts, APIs, etc. that might not be straight-forward for beginners. If you want any help with ROS problems here, it is expected that you already know programming. In addition you will face the problem that you not only need to debug and understand your program, but the complete system and any issues you get from real-world data. In short: Start learning programming first and have fun with that, then see what small things you want to do with the robot.

edit flag offensive delete link more

Question Tools



Asked: 2014-01-09 10:08:03 -0500

Seen: 395 times

Last updated: Jan 09 '14