1
$\begingroup$

I developed an application that places itself just before controlling the robot (CAD/CAM like application) and now I want to control my robot directly within the application.

Typically I have two choices when working with this industrial arm robot (I'm using a Stäubli robot in this case) :

  1. I either use the manufacturer solution, and write programs with its own language and software that will just get a trajectory and perform the trajectory the way I want it by itself. So I'm just sending a trajectory file to the robot controller and then the robot is autonomous
  2. Or I create the whole model by myself (or most likely using pre-existing general solutions) to simulate the robot's behavior first and stream the joints in real time to the robot to control it.

What would be the best choice here ? Should my application just

  1. integrate a communication protocol that just sends a trajectory file to the robot and only gets the robots position during functioning time
  2. or fully control the robot from within my application and send joints positions to the robot?

What is the best technical option here?

$\endgroup$
1
$\begingroup$

If you wanna develop application to control industrial arm robot, there are several thing you need to look up :

1. Accuracy and precision

If you create your own controller, would your program at least match original controller accuracy and precision?

2. Safety and reachability

From my experience, arm robotic control often face singularity which is very-very dangerous if not handled well. And some control method to avoid singularity, also prevent us from reaching some robot configuration.

3. Development

Developing controller and addressing two problem I mention before will take time and determination.

Thus if you sure you can handle several thing I mention, you are good to go developing your own application. But I suggest to just send trajectory to original controller, since it much faster, stable, easier to do and save you from problem that didn't exist in the first place.

$\endgroup$
1
$\begingroup$

This is a bit option based, but I think I can argue this unopinionated from two different perspectives. Go with the first option, because:

  1. Safety: Assuming you will have industrial applications where at some point some kind of safety certification will be required. My assumption is that you will have a hard time safety certifying a robot which gets joint values streamed to it. I am not saying it is impossible, but you will have a really hard time doing this.

  2. Time to market: The first option is much faster ready and it is much easier to do. At least you will have a functioning prototype and you can decide later if the second soltion is definetly needed.

$\endgroup$
1
$\begingroup$

I am not too familiar with your CAD application, but if you go ahead with option 2, within the ROS framework, there exists the moveit package that is purpose built for robotic arms. It is integrated with ROS but the whole library is open source and you might be able to get some useful code from there.

$\endgroup$

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.