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

What is the standard you can be called good at ROS ?

asked 2023-06-20 02:27:38 -0500

TapleFlib gravatar image

I worked on ROS for 3 months now, and I'm using other people's package to do my project, but I feel like I can only use, not make my own package, is it ok? what does it mean to be a ROS developer?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2023-06-20 05:25:01 -0500

jrtg gravatar image

Have a look at this discussion.

Dependent on your needs, _developing_ a solution to your task might involve:

  • Purely using existing packages, or
  • Changing code of existing packages, or
  • Writing new packages, or
  • Submitting patches to the ROS core libraries.

Those are all different levels of 'being a developer'.

So what's in a name... The question is rather: do you succeed in solving the tasks that you want to solve. If yes: great! If no: keep on learning. You will get there, but it's a very steep learning curve.

edit flag offensive delete link more


Thank you so much ! Hope you have a good day !

TapleFlib gravatar image TapleFlib  ( 2023-06-20 07:47:47 -0500 )edit

answered 2023-06-20 03:47:45 -0500

Ranjit Kathiriya gravatar image
  1. Knowledge of ROS Concepts: A good ROS developer should have a solid understanding of core ROS concepts such as nodes, topics, messages, services, and actions. You should be familiar with the ROS ecosystem and be able to work with the command-line tools effectively.

  2. Package Usage: Being able to effectively use existing ROS packages to build and integrate functionalities into your project is an essential skill. If you can understand and utilize other people's packages to achieve your goals, it demonstrates competence in ROS.

  3. Debugging and Troubleshooting: ROS involves working with complex robotic systems, and things can go wrong. Being able to debug issues, identify errors, and troubleshoot problems in ROS nodes, topics, or launch files is a valuable skill for a ROS developer.

  4. Writing Custom Nodes: While using existing packages is helpful, being able to create your own ROS nodes is an important step toward becoming a proficient ROS developer. Developing custom nodes allows you to tailor the functionality to your specific requirements.

  5. Integration and Communication: A key aspect of ROS development is integrating various components and enabling communication between them. Understanding how to interface with sensors, actuators, and other hardware devices through ROS interfaces is crucial.

  6. ROS Frameworks: Familiarity with ROS frameworks such as RViz (ROS Visualization), rqt (ROS Qt-based tools), Web-based tools, and rosbag (data recording and playback) can enhance your capabilities as a ROS developer. These tools help with visualization, analysis, and data management in ROS.

  7. Collaboration and Documentation: Being able to work collaboratively with other ROS developers, participate in ROS communities, and contribute to the documentation or development of ROS packages is highly valued. Sharing your knowledge and helping others also contributes to your growth as a ROS developer.

  8. Simulation: simulation is an important aspect of ROS development. Sensor fusion testing in the virtual world can provide a better understanding of real-world problems. It offers several benefits and plays a crucial role in the development, testing, and validation of robotic systems.

I hope this answer will help you.

edit flag offensive delete link more


Thanks so much, so assume writing my own package is not necessary as I'm not a computer science student is that right?

TapleFlib gravatar image TapleFlib  ( 2023-06-20 03:54:14 -0500 )edit

Question Tools



Asked: 2023-06-20 02:27:38 -0500

Seen: 95 times

Last updated: Jun 20 '23