Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Q: How should we configure EGM on the controller? #3

Open
nqyy opened this issue Mar 1, 2025 · 3 comments
Open

Q: How should we configure EGM on the controller? #3

nqyy opened this issue Mar 1, 2025 · 3 comments
Assignees
Labels
question Further information is requested

Comments

@nqyy
Copy link

nqyy commented Mar 1, 2025

This is an amazing library. How can we configure EGM correctly on the controller? I'm using a virtual controller on RobotStudio with robotware version 7.x

Thanks!

@FLo-ABB
Copy link
Owner

FLo-ABB commented Mar 2, 2025

Add the EGM option on the controller and be sure UDP UC is enabled on the private network:

Image

Image

Image

@FLo-ABB FLo-ABB self-assigned this Mar 2, 2025
@FLo-ABB FLo-ABB added the question Further information is requested label Mar 2, 2025
@nqyy
Copy link
Author

nqyy commented Mar 2, 2025

Thanks a lot!

Another question, I was trying the rapid code from example_pose_guidance.py.

MODULE MainModule
    VAR egmident egmID1;
    VAR egmstate egmSt1;
    CONST pose pose0:=[[0,0,0],[1,0,0,0]];
    CONST egm_minmax egm_minmax_lin:=[-1E-9,+1E-9];

    PROC main()
        VAR robtarget pNow;
        pNow:=CRobT();
        ! Before EGM guidance, the robot has to stop on a fine point
        MoveL pNow,v1000,fine,tool0\WObj:=wobj0;
        EGMReset egmID1;
        EGMGetId egmID1;
        egmSt1:=EGMGetState(egmID1);
        IF egmSt1<=EGM_STATE_CONNECTED THEN
            EGMSetupUC ROB_1,egmID1,"default","UCdevice"\pose;
        ENDIF
        EGMActPose egmID1\StreamStart\Tool:=tool0\WObj:=wobj0\DOToSensor:=doEGM\DIFromSensor:=diEGM,pose0,EGM_FRAME_WOBJ,pose0,EGM_FRAME_WOBJ\X:=egm_minmax_lin\Y:=egm_minmax_lin\MaxSpeedDeviation:=4000;
        EGMRunPose egmID1,EGM_STOP_HOLD\NoWaitCond\x\y\RampInTime:=0.05;
        WaitDI diEGM,high;
        EGMStop egmID1,EGM_STOP_HOLD;
    ENDPROC
ENDMODULE

It looks like there's an error from diEGM and doEGM, saying identifier not found.

Here's the exact error when I ran it: CRB15000_5_95/RAPID/T_ROB1/MainModule(18,75): Reference error(128): Reference to unknown entire data doEGM. 3/2/2025 8:02:38 PM General

Appreciate any input here!

@FLo-ABB
Copy link
Owner

FLo-ABB commented Mar 3, 2025

You need to create these signals : configuration -> IO System -> Signal -> Right click (create signal)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants