Posts by Nation

    An interrupt would be prefect for this, assuming no PLC. This is usually handled by a PLC.

    Anyway, if there is no PLC involved, the relevant commands would be ISignalDI and CONNECT.

    I recommend reading the reference manual on it, but the gist is you connect the interrupt to a signal and a routine. When the signal goes low (or high, depending) the interrupt routine is called immediately, and you can do the appropriate recovery in there.

    With the rotation matrix, is there ever a case where the bottom row would ever be anything but 0,0,0,1? I've heard of using this area to scale or skew a matrix, but never seen it in action.

    Also, what about left hand coordinate systems? I looked into using Unity to create a kinematic model of a robot, but found that it uses a left had coordinate system. Converting from right hand to left is pretty trivial for translations, but didn't look that easy for rotations. Like every other project I want to work on, I got swamped with work and it got put on the back burner.

    Looks like a teach pendant firmware issue.

    I don't recommend doing this, but quite a while ago I had to take the pendant from an older controller and place it on a newer controller. Somebody left the newer controller's teach pendant on a conveyor and it was sucked in and destroyed.

    The newer controller detected the older pendant and had me do a teach pendant firmware update. I then found that I had some nice new functions (a space key!) on that particular teach pendant when we got a replacement teach pendant and I moved the old teach pendant back to original controller.

    Tolerances for parts/bearings are +/- 0.02

    This is like pulling teeth. We cannot help you if you don't provide ALL the info you have.

    0.02 What? mm? Thou? What are the shaft/hole dimensions vs the bearing outer/inner race? Is it a press fit or sliding fit?

    If it is an interference fit (press), I would recommend against using a robot for it. I've seen applications where the end user tried to use the robot as a press, and it just destroys the wrist after a while of pressing. That was with a non-collaborative robot as well. I doubt a collaborative would have the power necessary unless it is a slip fit.

    As far as I know, no. I'd be interested in something like that though.

    There is this tool by Windsor Technologies. Down side is that it is closed source, and it only works with ABB, Kuka, and Fanuc.

    I find as long as you can convert whatever brands flavor of orientation representation to a rotation matrix, you are good. Going from a rotation matrix to another flavor of orientation is usually not too bad.

    It depends on what you are trying to accomplish.

    Are you trying to translate a program from one frame to another?

    Do the points in the frame need to stay relative to the original frame (i.e. stay fixed in space), or be transferred in space to the new frame?

    Are you just adjusting an existing frame?

    Like neighbour1 said, is this for a user frame, or a tool frame? Or both?

    I've been giving this a try.

    Created the new controller, and attached it to the existing arm in the station. However, when deleting the old controller, it takes the original arm with it.

    Here was my work around.

    1. Copy and paste the arm in the station layout.
    2. Add new virtual controller, and link it to the copy/pasted arm.
      1. This will shoot the copy pasted arm back to the station origin.
      2. Move copy pasted arm back to where it originally was.
        1. This is easy to do if you set the UCS as the origin of the original arm, and then do the positioning in the UCS frame.
        2. Be sure to hit yes on move task frame, and no on keep rapid objects stationary.
    3. Move copy pasted arm to the same joint position as the original.
    4. Delete the old virtual controller, which deletes the original arm, but leaves the dress and tool floating in space provided you did not tell the station to "restore position".
    5. Reattached dress and tool to copy pasted robot.

    I also tried modifying the controller motion config under the "paths and targets" tab, but that moves the attached dress and tools to the newly selected robot.

    Can you export it to one of the supported file formats in roboguide? Roboguide naturally prefers iges, but stl works fairly well. I recommend keeping your file sizes less than a few hundred megabytes though.

    I have a robot studio station that I am working on that has 4 virtual controllers in it. The customer supplied the backups, and they were not recreateable virtually due some custom add-on specific to that customer. So I hacked apart the backup until I was able to get the virtual controller wizard to accept the backup.

    Of course, after I do this, and get all the dress packs and tools attached to the virtual robot, the customer supplied some custom plugins to robot studio that allows the recreation of the provided backups with no issues.

    Down to my question. Is it possible to swap out the virtual controller without removing the arm from the station? This is easy to do in roboguide, but I'm having trouble finding an analog in robotstudio.

    Karel has swapping functions, so you could also swap on the robot. You could even do that based on whether your code is running on real or simulated hardware.

    What method are you using to check if you are on a simulated robot? I've been checking for the existence of a system var ($UD1_PATH) that only exists on the simulated robot, but I've wondered if there is a more elegant method.