I am skeptical about such solutions with the name “developed a robot”.
Today, small groups of talented developers around the world love to do something in the field of robotics and showcase their achievements to the communities. Unfortunately, all this is expensive, has no outlet for mass production, and requires large budgets for small-scale production and further technical service.
We do not observe the participation of such robots in rescue operations, extinguishing fires, in the domestic sphere, etc. Instead, we see one-off space missions that Elon Musk’s group is showing us.
The main idea that I want to voice here is that a wide audience of enthusiastic developers, startups, specialists need fundamentally new tools for the development of robotics. Such tools allow you to reduce the time and budget for the software part and simulation of the hardware part of the project without the involvement of expensive programmer personnel. The hardware must be modular for fast prototyping.
Let’s discuss such a concept?
For a substantive conversation, I would like to hear an opinion about the external interface of such a platform:
This is a graphical console for entering a ready-made set of instructions in accordance with your algorithm:
For example like this:
a) Opening port 1 signal to start the stepper motor to the right, running time 1 minute;
b) Port 2 start of data collection - voltage measurement from 1 or 10 points;
c) Depending on what voltage you register as a trigger, the stepper motor starts to the right or left, the duration of acceleration at a constant speed is 15 minutes;
e) procedures a, b, c are repeated 30 times
f) Any other instructions you need … with load drivers and sensors?
j) How many inputs and outputs do you need for your project, taking into account its future development?
Please complement your areas with the topics for which you are going to create.
@Alex_project Welcome to the RobotShop Community. Did you create a similar post here already? Normally the software needs to work with hardware, which has very few standards (standardized communication protocol being a big issue). This means either the software needs to have a massive library of parts and know how to communicate with each (where it’s up to the user to make the electrical connections), or standardize a system to more easily create a “universal” software.
Software like Arduino has allowed an entire sub-industry to exist which includes hardware as well as other compatible GUI (drag and drop and visual). More complex programs like ROS allow for very high level simulation and advanced robotics, but is not as simple to use.
What you seem to be describing here feels a lot like a variation on dataflow programming. I think this has been tried quite a few times but it kinda always falls short for complex systems as it can quickly become difficult to grow & maintain while keeping it visually appealing/useful.
I think fundamentally, while we can always improve our tools to do more automation for us, complex problems are complex and therefore the projects that try to solve them will always require a certain amount of effort from its designers/implementers.
As for those complex tasks you describe, such as rescue operations, fires, etc. I think it comes down to a simple equation of current solution & its costs vs results against a new solution and its costs vs results. Unfortunately, budgets are a thing and if you get a slight increase in results for a large increase in costs most departments or other bodies responsible for adopting new solutions will simply stick with what already works, which adds to the inertia of improving those tasks, equipment, etc.
Many successful R&D and research prototypes never make it to market, either. Even though they work there might simply not be a strong enough need at the time (or ever! in some cases… ) and the products simply never happen. Or there is a need but the process cannot be scaled up for production or is too costly/unstable/low-yield/dangerous/difficult/etc.
I feel like with systems such as ROS2 we’re already quite close to an ecosystem that is quite modular and offers a lot of reuse of components. Just look at how the RoboCup robots are built!
As for the hardware modularity you can definitely obtain easily various ready-to-go components, most of them using USB, Ethernet or WiFi as their standard connection and making integration very simple. Simply connect all of those components to some computing hardware (maybe a desktop, laptop or even a single board computer like the RPi), add some modular software system like ROS2 and maybe a few piece of glue code to connect hardware to this system (if it doesn’t already exists) and you can quickly build a robot that performs very advanced functions such as computer vision (CV), SLAM or VSLAM, object manipulation in 3D, etc.
If there is a single idea to bring across from all of that above I think it should be this: Complex problems are complex. Their solutions will not be simple (or simpler, haha!) either.
And as a side note to this: the more modular you make something, the more overhead you add in that component (and its parent system). This increases resource costs, such as production but also computing power and other such needs (standard IOs, etc.). This is probably one of the main reasons why many of those complex projects have designed components for that project specifically: it is simply more efficient. But certainly it is not easier (in the sense of complexity)!
Well, that was my opinion! I’m curious now @Alex_project, what kind of robotics (or software) experiences did you have with creating such projects in the past? What made you think of those complexities you mention and trying to resolve them?
Thank you for your vision of what I have described here.
I did not begin to refute all your weighty ones.
From my side, the best argument would be a real demonstration.
You probably guessed that this is not a conceptual idea, but a product completely ready for popularization.
This toolkit has been validated in several commercial projects (medicine, instrumentation, automotive, research in the field of creating laser components for electronics), which finally convinced us of the need for further scaling.
Unfortunately, the rules set here by the administration do not allow me to make direct links here and demonstrate our achievements.
I can only draw your attention to the fact that in 2021 our startup entered the Welpmagazine top rating (a well-known London IT analytical publication) among Israeli startups in the field of new solutions for robotics, automation and intelligent systems.
Please contact me with a personal message and I will give you more complete information about who we are and what we do.
Also, on that front, there are most certainly a market for this kind of system (I looked up your company and products).
That being said, I feel like there’s also plenty of cases where the overhead and complexity of using such a system will not be a valid option. That is also without considering costs. I mean, if you are designing for mass production this kind of modular hardware will probably be too expensive and not efficient enough in space/power/optimization.
I wish your company great success! I have a feeling I’ll probably never encounter your product (or something like it) due to the nature of the type of products I work on. But I’m sure others in the RobotShop community might. Therefore, I recommend you do check the link I posted in my last message!
I hope in the near future all participants and a wide audience of the RoboShop community will have the opportunity to get acquainted with our platform in detail, as well as to test its demo version.
We are looking forward to the decision of the RobotShop Expert Council to list our product for sale through Marketplatce.
You are deluded in your conclusions. First of all, as one of the basic conditions for hardware solutions, we strive for universal software connectivity to the most common electronic modules and components that are widely available in such mega marketplaces as eBay, Aliexpress, Amazon and e.t.c.
Customers do not need to design circuitry at the PCB level. Our instructions for simulating and shaping binary code signals at the output, simplify prototyping or creating a final solution for single tasks in manufacturing, agriculture, science, defense industry and so on. For example, a smart bee farm can be implemented like this Crash tests - Shocks, destruction, high-speed processes,
Strength calculations and optimization. Validation and verification in the electronics industry RPA Systems with Tactile Learning
All kinds of training simulators in almost all areas from learning the DSP platform to building simulators for tower crane operators and so on.
This is just a small part of the examples that I am demonstrating here.
The platform’s capabilities do not limit developers in such categories of robotics and automation as:
Remote control using a special interface;
RPA Software. Implementation of predictable repetitive procedures combined into one scenario, when all automation actions are clearly repeated and rigidly fixed. The entire script is executed in real time. excluding external factors;
That’s a bit harsh to b honest. Especially since you follow that opinion with much information that does not seem to align with my post.
Those are already targeting DIY-style customers and do not need expensive development like you describe in your first post though… And definitely does not need
Well, this already defines your solutions for people who do not need custom components (PCB or otherwise).
Interesting projects. The “NO CODE” written everywhere, I’m sure, sounds very appealing to lots of people. But really, this simply means the code is moved from whoever is making a project to whoever made the libraries/support software that runs/builds those projects. I mean, code re-use (especially re-use of well designed and tested code) is one of the fundamental of proper software engineering! In this case, the code re-use is obfuscated from the user to offer an easier experience in developing the product they want.
You’ll see this in all fields where there is software involved. Stuff like game engines (ex: Unity) to more extreme simplification of the implementation process (and similar to what your products look like) such as RPG Maker all offer varying level of abstraction for your project, from simple libraries to be used to full-on “no code” systems.
Personally, I am a strong proponent of “every problem has a tool(s) that is (are) optimal for solving it”. In this sense, I do not like to restrict myself to a single solution set for all of my projects. I’m sure in some cases doing very little directly (i.e.: design of components, code, etc.) is the right solution. I just happen to have a preference for projects (ok, honestly they keep finding me, too ) where this is not the appropriate way to a solution (such as making libraries, HAL, drivers, etc. for others to use in their projects).
At this point it sounds more like you are pushing a product/service then an actual discussion. Therefore, I will now close this topic.
Feel free to keep interacting on this forum and offer advice and answers to others’ questions though! That may bring more people in than stuff like
I would not like to turn the discussion into advertising, therefore, for a better understanding, I give the main indicators.
It is correctly noted that the platform does not 100% give freedom to developers who have experience in language programming. At the same time, many experienced programmers understand that approximately 70% of problems have statistics on the use of typical program modules in most algorithms.
The platform has been validated by commercial projects in the following categories of robotics, automation and smart systems:
Remote control using a special interface;
RPA. The Implementation of predictable repetitive procedures combined into one scenario, when all automation actions are clearly repeated and rigidly fixed. The entire script is executed in real time. excluding external factors;
RPA Adaptive. The presence of a sensor part in the system. thanks to which automation works with external factors in mind.
Thus, the platform allows the developer to include finite static machines (FSM) in their algorithms, write scripts and configure their parameters for specific tasks.
The next step is to create your own custom libraries in production and then edit or delegate them to others.
If anyone has any questions, I will try to give comprehensive qualified answers.