A brilliant yet urgent idea that needs to be tested, verified, and implemented in the shortest time frame possible. Off-the-shelf components and ROS are great for that.
Grab a depth cam, strap on a lidar, secure it on a skateboard, control it with a Raspberry Pi and an Arduino, download a ROS-enabled mapping node, open Rviz, and there you have it.
Done. Your first demo (loud crowd cheers in the background).
Then a few months in, maybe a year, maybe more, somewhere along the way the direction blurs out. The intentions are clear. During early integration tests several operation modes needed to be managed so a simple state machine was implemented, recordings needed to be logged so one of the engineers built a tool for that, maybe the robot needed to be controlled remotely for a client demo, so image streaming became an issue, several robots might have had slightly different calibration parameters, configurations, so tools were built, scripts were written.
Minor things that are just slightly derailing from the original task, grew by just a bit.
Developing a platform takes time, and as your team grows personnel changes, standards become critical, tools are needed. That is when many systems become EOL (end of life), tools become obsolete and maintenance becomes an issue. These tasks are so time-consuming that they block progress, delay goals, and eventually result in an unstable product that is behind schedule.
This is where focus comes into the picture. To bring focus to a robotic company, we believe that two questions need to be answered, they are the same for both the hardware and the software aspects of robotics.
What is at the core of your product?
Many tools and frameworks are needed to develop robots and the more a company spends time and effort on its own IP, the better is the return on that money. In a competitive market, companies differ by excelling at their core innovative features. Do not try to rebuild every tool you need.
How is the company’s technical debt handled?
When deciding to develop an internal solution, or opting to use a simpler one, technical debt is induced. The technical ability of the company to develop that same solution at any given time (if the need arose), and the ability to integrate it within their software stack. A robotic company starts off with a prototype and 3 founders, but if successful will grow very quickly, and will need to be able to support deployment and production at large scales. All robotic companies will need to develop tools for remote access, updates, data profiling, permission management, and much more. Tools that are not needed when they are a small company with a prototype but are absolutely crucial for the company’s success eventually. Does every company need to re-develop its own tools for that?
By using a framework such as our platform, risks can be mitigated, enabling the companies to go on and develop their IP, while gaining the flexibility of a community-oriented and commercially supported framework that enables them to integrate cutting-edge services without the risk of getting stuck behind. Use ROS or any other architecture that enables you to quickly prototype and implement your ideas, but be sure to deploy, test, and package it using the state-of-the-art tools. Do not reinvent your own tools for that. Keep your development team focused on the things that differentiate your company from your competitors by focusing on how your robot excels at its task.
Focus is one of the key aspects of product development and this is Cogniteam’s goal in your development chain. To bring tools and order that will enable you to focus on your IP.
And this is your skateboard, with a 3D lidar and a Stereo camera :-)