<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Mandip Sapkota</title>
    <description>The latest articles on Forem by Mandip Sapkota (@mandipsapkota).</description>
    <link>https://forem.com/mandipsapkota</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1938122%2F7ea99788-437f-4d58-8afb-0e9931ad4643.jpg</url>
      <title>Forem: Mandip Sapkota</title>
      <link>https://forem.com/mandipsapkota</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mandipsapkota"/>
    <language>en</language>
    <item>
      <title>Do You Really Need ROS for Robotics? (Spoiler : No)</title>
      <dc:creator>Mandip Sapkota</dc:creator>
      <pubDate>Wed, 28 May 2025 12:35:52 +0000</pubDate>
      <link>https://forem.com/mandipsapkota/do-you-really-need-ros-for-robotics-spoiler-no-30e5</link>
      <guid>https://forem.com/mandipsapkota/do-you-really-need-ros-for-robotics-spoiler-no-30e5</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;If you follow robotics, or are even just a little curious about robotics software, you’ve probably heard of &lt;strong&gt;ROS&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ROS&lt;/strong&gt; stands for &lt;strong&gt;Robot Operating System&lt;/strong&gt;, and it was built by &lt;strong&gt;Willow Garage&lt;/strong&gt; in &lt;strong&gt;2007&lt;/strong&gt;, coincidentally the same year I was born.&lt;/p&gt;

&lt;p&gt;Contrary to what the name suggests, it's not actually an operating system. Instead, &lt;strong&gt;ROS is a framework and a collection of tools&lt;/strong&gt; that make it easier to build robotic applications.&lt;/p&gt;

&lt;p&gt;ROS operates at the &lt;strong&gt;middleware level&lt;/strong&gt;, meaning it sits on top of an actual OS, most commonly &lt;strong&gt;Ubuntu Linux&lt;/strong&gt; and helps with tasks like communication, control, and coordination between different robot components.&lt;/p&gt;

&lt;p&gt;And before knowing whether to use ROS or not, you need to know the main point of ROS:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Don’t reinvent the wheel. Build something new and faster using ROS.”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  Do You Really Need ROS?
&lt;/h1&gt;

&lt;p&gt;While &lt;strong&gt;ROS is not mandatory&lt;/strong&gt; for building robots, it makes life &lt;strong&gt;significantly easier&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Think of it like this: if you're building a house, ROS is like having &lt;strong&gt;pre-made bricks&lt;/strong&gt;. Sure, you could make your own bricks from scratch, but that’s only reasonable if you’re doing something very specialized or huge in scale. Otherwise, it's a lot of unnecessary effort and overhead.&lt;/p&gt;

&lt;p&gt;As ROS says itself, using ROS really allows you to focus more on &lt;strong&gt;innovation&lt;/strong&gt; rather than spending time re-implementing basic features like communication, mapping, or sensor data processing.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Main Perks
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1. Open Source
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ROS is open source&lt;/strong&gt;, which means you can view, modify, and contribute to its entire code base. Additionally, it’s completely free and actively maintained by a global community of developers and researchers. ROS is now governed by the &lt;strong&gt;Open Source Robotics Foundation (OSRF)&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; To understand how a LiDAR driver works, you can check out the velodyne driver in the ros-drivers/velodyne GitHub repo. You can see exactly how data is processed and sent to the rest of the robot, all open and tweakable.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  2. Permissive Licensing
&lt;/h2&gt;

&lt;p&gt;ROS uses licenses like &lt;strong&gt;BSD&lt;/strong&gt; and &lt;strong&gt;Apache 2.0&lt;/strong&gt;, which means you can use it in commercial products or modify it to suit your needs as long as you give proper credit.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; If you're building a delivery robot startup, you can use ROS as the base framework as well as modify code as per your need, without paying any licensing fee.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  3. Pre-Built Integration with Visualizations and Simulations
&lt;/h2&gt;

&lt;p&gt;Before testing robots in the real world (which is risky and expensive), simulations are crucial. ROS has tight integration with popular simulation tools like &lt;strong&gt;Gazebo&lt;/strong&gt;, &lt;strong&gt;Webots&lt;/strong&gt;, and &lt;strong&gt;Ignition&lt;/strong&gt;, as well as visualization tools like &lt;strong&gt;RViz&lt;/strong&gt; and &lt;strong&gt;rQt&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; If you want to simulate a self-driving car avoiding pedestrians, Gazebo + ROS will make it very easy.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  4. Tools Out of the Box
&lt;/h2&gt;

&lt;p&gt;ROS comes with a toolbox full of amazing tools like &lt;strong&gt;SLAM (Simultaneous Localization and Mapping)&lt;/strong&gt;, &lt;strong&gt;navigation stacks&lt;/strong&gt;, &lt;strong&gt;sensor drivers&lt;/strong&gt;, and &lt;strong&gt;diagnostic tools&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; Instead of writing your own mapping algorithm from scratch, you can use &lt;strong&gt;gmapping&lt;/strong&gt; or &lt;strong&gt;Cartographer&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  5. Multi-Language Support
&lt;/h2&gt;

&lt;p&gt;ROS supports both &lt;strong&gt;Python&lt;/strong&gt; and &lt;strong&gt;C++&lt;/strong&gt; natively, making it easy for teams with different language backgrounds to collaborate. Community-supported SDKs also exist for other languages like &lt;strong&gt;JavaScript&lt;/strong&gt;, &lt;strong&gt;Java&lt;/strong&gt;, and even &lt;strong&gt;Rust&lt;/strong&gt;, so no worries.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; A machine learning engineer can write the perception module in Python, while your embedded systems teammate can handle control logic in C++, and all that in ROS to make a awesome intelligent robot.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  6. Modular Architecture
&lt;/h2&gt;

&lt;p&gt;ROS encourages a &lt;strong&gt;modular design&lt;/strong&gt;. Which means, each component (called a &lt;strong&gt;node&lt;/strong&gt;) can run independently and communicate via standard protocols.&lt;/p&gt;

&lt;p&gt;This enables:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easy upgrades to parts of your system without touching everything else&lt;/li&gt;
&lt;li&gt;Swarm robotics applications&lt;/li&gt;
&lt;li&gt;Plug-and-play with other robots or sensors&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; You can build a robot arm using one ROS package and attach a mobile base with another, all working together like a team.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  7. Resource Efficiency
&lt;/h2&gt;

&lt;p&gt;Using ROS saves both &lt;strong&gt;time and money&lt;/strong&gt;. Since it’s widely used and well-documented, you’ll spend less time training people and more time innovating. Hiring developers familiar with ROS is also easier compared to building your own custom framework hiring developers and training them for your framework.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; A startup using ROS can quickly onboard interns or freelancers who already know the basics, reducing development overhead.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;So unless you’re someone who codes in &lt;strong&gt;binary&lt;/strong&gt;, builds your own &lt;strong&gt;compiler&lt;/strong&gt;, and hates &lt;strong&gt;pre-built tools&lt;/strong&gt; (in which case, more power &lt;strong&gt;as well as&lt;/strong&gt; more work to you) you’ll probably love ROS.&lt;br&gt;&lt;br&gt;
&lt;em&gt;(Just kidding…)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you enjoyed this post, consider &lt;strong&gt;following me on &lt;a href="https://www.linkedin.com/in/mandipsapkota" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;/strong&gt; or giving it a like. Cheers to ROS!&lt;/p&gt;

</description>
      <category>robotics</category>
      <category>ros</category>
    </item>
  </channel>
</rss>
