1
$\begingroup$

I am asking very general question, but i would appreciate if someone helps me. I want to use ROS for manufacturing process (Not robots) as a middleware that can create simulated Cyber physical system environment to enabling the interoperability of different nodes in real time. Before start involving in ROS, i would like to ask you below questions.

  1. ROS can be usable other than robot application for our manufacturing system ?
  2. If yes, then what challenges i will face? if i want to use it for manufacturing system?
  3. What are advantages/disadvantages of using ROS as a middleware in normal manufacturing process?
  4. How much time it will take to develop ROS middleware for normal manufacturing process? (I never used ROS)
  5. I know C++/Python are good options, but what programming language is best for me?
  6. Is their any other options are available other than can use as a middleware in my manufacturing process that can create simulated Cyber physical system environment to enabling the interoperability of different nodes? I would appreciate if someone suggest me other options, which can easy to use than ROS.

Thanks a ton

$\endgroup$
3
$\begingroup$

First of all, you have to define real-time. Is it "motion control real-time" or "instant messaging chat app real-time". For the first one, ROS is not a good option.

  1. In theory yes, but in practice, the advantage of ROS, the ready made ROS nodes for interfacing with robots, path planning, interfaces to different sensors are largely only applicable for robots.

  2. Interfacing all systems to ROS will be the main issue. As you do not intend to use it for robots, you will need to create your own interfaces.

  3. Depending on how deep you are going down the automation pyramid. For motion control the main drawback is no real-time support. For programming logic, you do not have a clear separation between application programs and firmware. You will need to interface all your equipment to ROS. Even higher up in the pyramid, you do not have any options of SCADA, MES or ERP interface. Advantages to ROS...I do not see why it would be advantageous fr your use case. It uses DDS as a messaging system, you are probably better off using directly that and you are then not stuck to the ROS way of doing (building) things.

  4. The middleware is not your problem, that is ROS. All the interfaces to the middleware will be your problem.

  5. C++ is more complicated to write but is faster then Python. Python is more convenient but slower. So if execution time matters more, go with C++.

  6. OPC-UA, MQTT, AMQP, EdgeX Foundry, Assest Administration Shells, TOGAF Open Process Automation, MT-Connect are all worth looking into related to your question.

$\endgroup$
9
  • $\begingroup$ Thanks for answer, My manufacturing process includes the camera vision system and based on that camera input next equipment's control and monitoring (of course, i need to perform some image analysis work before get input for the next equipments). So i would say i want to control and monitor the process also the connect the both equipments in the almost in the real time. $\endgroup$ Jun 23 at 21:12
  • $\begingroup$ yeah, that is could work with ROS, but also, for just 2 systems you do not really need a middleware $\endgroup$
    – 50k4
    Jun 23 at 21:15
  • $\begingroup$ But i am thinking to choose right option thus i would like to know that what is the challenges for new user like me to use ROS as enable fast connectivity between the different nodes in the my manufacturing system? If you wanna suggest any other options then it would be highly appreciated. (My background is not related to computer science, thus i have very limited skills about the programming language). Anyways thanks a ton for your help. $\endgroup$ Jun 23 at 21:23
  • $\begingroup$ I did suggest a list of options to look into as point 6. There is no way to tell what the best option for you is from a simple description of the equipment. $\endgroup$
    – 50k4
    Jun 23 at 21:26
  • $\begingroup$ Thanks, i referred your detailed good answer. But, what do you think best one considering for basic programming background user? Also, i would like to know that what is the challenges for new user like me to use ROS as enable fast connectivity between the different nodes in the my manufacturing system? Thanks a lot again, $\endgroup$ Jun 23 at 21:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.