Use hidden WorksRobotController

Hello,

I did the tutorial about how to use robots with the Works Robot Controller. This controller has a pedestal as a physical representation, which is used to mount the example robot of Visual Components.

Since I don’t want to only use this robot in my Works factory layout, I was wondering how to use it with other robots and robot types… For example, it was possible to mount the Works Robot Controller to a cartesian robot, but since the pedestal doesn’t make sense here, I tried to hide it. Because this didn’t work (it would hide both the controller and the cartesian robot), I just deleted the geometry of the Works Robot Controller in the Modeling tab.

However, in another case, I want to use the Works Robot Controller with a KUKA Robot which has its own pedestal (Pedestal_KR2000_Quantec). Thus, it is not possible to mount any other thing to the KUKA robot.

Is there some way to make this work beside some awkward workaround?

The Works Robot Controller can be used, for example, with an articulated, SCARA, or Cartesian robot using plug and play. The controller should have component properties to change its geometry as well as define its length, width and height. In terms of linear tracks, the controller can be connected to the bottom of several tracks/positioners in the eCat using plug and play. Upon that type of connection, the controller geometry switches to a plate.

A robot controller can also be on any other type of component, such as a mobile robot. How? Simply attach the controller to the component/node in the 3D world, and then change its geometry/dimensions as needed. Finally, attach the robot to controller that is attached to the pedestal.

However, since you indicated you have access to the Modeling tab, try this:

  1. Clear the 3D world.
  2. Add a Works Robot Controller, and then save it as a new component.
  3. Add the pedestal you want to use.
  4. Cut and paste the geometry of the pedestal in the controller.
  5. Delete the geometry of the controller/clean up its feature tree.
  6. Save the controller.
  7. Delete the old pedestal.
  8. Test your new controller.
In terms of linear tracks, the controller can be connected to the bottom of several tracks/positioners in the eCat using plug and play. Upon that type of connection, the controller geometry switches to a plate.
I tried it and noticed this works only with the examples provided by Visual Components such as the Robot Floor Track, because it has a PnP interface called ManagerInterface which is able to mount the Works Robot Controller. It's not possible to connect it to other tracks such as KUKA KL1500, because the component is missing this interface.
A robot controller can also be on any other type of component, such as a mobile robot. How? Simply attach the controller to the component/node in the 3D world, and then change its geometry/dimensions as needed. Finally, attach the robot to controller that is attached to the pedestal.
Provided there is a PnP interface for the Controller, right? Or is there any other way to connect the controller to the component besides PnP?
However, since you indicated you have access to the Modeling tab, try this:

Clear the 3D world.
Add a Works Robot Controller, and then save it as a new component.
Add the pedestal you want to use.
Cut and paste the geometry of the pedestal in the controller.
Delete the geometry of the controller/clean up its feature tree.
Save the controller.
Delete the old pedestal.
Test your new controller.


This could work for a rigid object like a pedestal, but the original settings and behaviour of the component would be lost. For example, the KUKA pedestal changes its geometry based on settings that have predefined values. Also, a track would lose its function since the kinematic chain is missing etc.

I guess I would have to copy the properties and behaviour of the Works Robot Controller into the component. But this would probably require a lot of adjustments and generally mess things up. Maybe it’s easier to create a ManagerInterface in the component that a Works Robot Controller can connect to.

 

edit: I got it to work (at least for the pedestal so far) by creating a mount interface “ManagerInterface” and a ServoController (which does nothing in this case).

If you like to use Works Robot Controller with a robot without them being physically coupled you can place the Works Robot Controller anywhere in the layout (and make it really small in size if you like, but so that you can still select it, most likely you want to?) and then

  • open interfaces from the ribbon
  • in the bottom of the Connect interfaces panel check the "Show non-abstract interfaces
  • Connect to the robot, like you would do with an abstract interface
Vóila!

One downside of this is that if you move the robot with PnP tool, it will get disconnect easily without noticing it.

@Plop You are doing a good job of referring to the examples in the eCat and understanding how they work in order to know what you can do to make your own components.

In my first post, I am referring to the Attach command. It attaches a component to a node of another component, for example a controller to a pedestal.

  • If you have a stationary pedestal, you could position and attach the controller wherever you need it, and then use the PnP command to connect a robot to the controller. I have done that for palletizing layouts that need a specific pedestal as opposed to used the pedestal geometry of the controller.
  • If you have a pedestal that is already attached to a robot, you could position and attach the controller wherever you need it, and then use the Connect Interfaces panel as suggested by @jouha.
  • @jouha, does someone have to do the following or will the controller know to use the positioner if the controller is remotely connected to the robot (the same question for all other external kinematics of the robot)?
    • If you want to use the robot with a linear track/positioner and the Works library, you could add that ManagerInterface to the positioner and then connect the controller to the positioner, and then connect the robot to the positioner (the interface for mounting to its moving platform).