Posts by sudan

    i think panic want to know your KSS version because some variable and function are limited in some Kss which means it only works in highers KSS version.
    So it is always good to put your robot, controller and KSS in the beginning of any post .... cheers :icon_wink:

    If you want to move in according to tool or base you want you can also use like this???
    $BASE = BASE_DATA[1] ;example
    $TOOL = TOOL_DATA[1] ; or choose your tool
    LIN mypose

    "Drives contactor off” this is ok because if there was dive contact on, you could have been able to jog.
    Ok first things to do is check X11, did you know about x11 physical connection for krc2? If you want to move robot, you should wire it.


    https://www.robot-forum.com/ro…for-kuka-robots/krc2-x11/


    Active commands inhibited is that you gave some command that robot cannot do for example you pressed start when driver is off. you can also try using the jog keys +/- besides mouse.


    Post your updates about x11. :dance2:

    Try increasing physical memory if you have not done it.
    Win 'START' ->> 'Execute' ->> 'regedit' ->> ENTER
    [HKEY_LOCAL_MACHINE\SOFTWARE\KUKA Roboter GmbH\Cross3\Manager\Boot\VxWin]. The increase 'PhysicalPages' parameter default 1920 to 5000. :angel:

    i am not sure if there is other solution
    In last options you will need to backup this version of KSS for saftey.
    then restore the original image. :justice: or change HDD which also means you need to restore new image backup. Then adjust settings or copy your important program back.
    Do u have full image backup?

    Hi panic mode Thank you for the reply. I don't mean the same but I managed to get something.
    But I want to ask some more question.


    1. How to select the proper work space? because In my above picture of top post I calibrated tool and base assuming my chessboard as work space. So now I can move the robot along the origin, X axis or Y axis or XYpoints. However there are some points inside the chessboard where the robot cannot go when moving in Cartesian(because of the A4 or a1 axis limit). but when I moved/jogged the robot with joints coordinate, it can reach at any points inside the chess board. So the easiest solution I can think right now is changing the work space (shifting chess board) and re-calibration base again. But there might be other way too? when i try to jog the robot along the base X=0,y=0 at some point it stop because A4 is beyond limit.


    2. Why does robot accept the softX_end[] above the limit? for example for kr3, A4 limit is +- 180 but why does robot accept if I modify it even higher lets say -185? & if I run it is going to crash?


    Thank you.

    Thank u SkyeFire
    I tried the first method.

    DECL E6POS PositionFromCamera
    $BASE = BASE_DATA[1] ; activate common robot/vision base
    $TOOL = TOOL_DATA[1]
    positionfromcamera=$pos_act
    PositionFromCamera.X = XInputFromCamera ; Get X value from camera
    PositionFromCamera.Y = YInputFromCamera ; Get Y value from camera
    PTP PositionFromCamera c_ptp


    At first it worked but later it didn't worked. Some time there is error saying"work envelope exceedeed" or sometime "Ax out of range" and some time " start movement Inadmissible ".


    I think this is due to change in base and tool. When i go to option current tool and base, I set current tool1 and base 1. But later it changes automatically to 0. then when i open my .src program then if I see current tool and base then it is not 1.
    Although we have done $BASE = BASE_DATA[1]
    $TOOL = TOOL_DATA[1] , It doesn't show me the current tool and base [1] inside my program when I tried to exectue PTP motion. :wallbash:
    even If i change it to 1, it automatically chnages to 0. :waffen100:
    In my declaration section i can see DECL FDAT fpositionFromCamera={tool_No 1 Base_no_1, IPO_frame #BASE} but still I cannot make the PTP PositionFromCamera c_ptp.


    So how to get rid of this problem and how can I make my base and tool as 1 inside my program or before execting my PTP :(


    Thanks

    THANK YOU Herman and SkyeFire:dance2:
    Well Apparently it look like I did correct tool and base calibration :) . The X and Y in mm of camera seems to be equal to X and Y in mm of the Robot (not 100% but at least sufficient for now) :fine:



    Creating the pixel-to-mm conversion will take an additional step, but it shouldn't be too hard. Then it will depend on where you perform the conversion while in operation -- will you do it in the computer that the camera is connected to, or inside the robot?


    yes, I did in external computer and I want to send it to the robot (via PLC ) so that robot can go to pick up the object when I press inside image by - PTP input_fromCAMERA C_PTP
    But still few doubts .....below I have attached the final value of tool and base calibration.


    1. Since I have values X and Y mm to send to robot to move, I should move the robot in Cartesian co-ordinate right? (example: inputX.X= input_fromCAMERA & inputY.Y=input_fromCAMERA then PTP input_fromCAMERA C_PTP)


    2. I get only two variable XY(when I press image ) to move in Cartesian co-ordinate, what Should I send the value of Z A B C? Should I put the constant value and send for ZABC? And Z should be 0 right? I want A6 to point vertical down when it is about to pick the object in workplace(chessboard). How can I make the balance in A6 so that it vertical down when it is about to pick object or where ever position of chessboard it moves to?


    3. What does those value of XYZ ABC of tool and XYZ of base means now?
    Thank you.

    Thank u panicMode and Skyefier again.
    well i can jog the robot and do the tool calibration and base calibration . Not the correct one still. However I know the producer now.
    But still few questions.


    1. When doing TCP 4 point - XYZABC, do we move/ teach the point by setting our movement(jog-keys) in joint, tool or base co-ordinate system ? Lets say if you teach by jogging keys in tool co-ordinate system, and in the top comment you mention don't do anything you ABC. Then how is it possible to touch the tip from 4 different direction without rotating axes?


    2. Same for base, when we calibrate base should we calibrate setting our jog keys in base co-ordinate system or moving axis (joints)or world coordinate system. it will have different effect right?


    And lets summarize once again my detail, So I have camera. It capture image and in the image (in pixel), there is X and Y pix starting with (0,0) pix and positive x and Y up to maximum 319*239 PX which is always the same because image is always inside frame and frame is fixed. So when I pressed inside the image the shown pix is converted into MM giving the X and Y into MM according to my conversion making camera height and zoom always constant. (please see picture above)


    then we need to define the work space which is chessboard. So if I calibrate base, by teach the origin same as camera's origin and x and Y point. then this will make the camera's co-ordinate system mm and robort co-orrdinate mm same right? meaning if i touch the point in my picture then the x and y shown will be same as x and y shown by robot Cartesian coordinate if i move the robot to that point right?
    And i didn't understand what does the tool calibration TCP does in my case? when we calibrate tool the can reference point be anywhere right inside the work space(chess board)? And what about the height of the pencil on surface and and height of tool mounted on A6, because at the end I need to pick rectangle object from surface , so do i need to care about height when teaching point TCP? If I don't need to care about that then later at the end how will the robot move that position (especially to that height) to pick object when I touch the object? And the tool mounted in A6 can be changed later right? because when doing 4 point calibration I want to use sharp tool but later to pick object so i need to use another one.



    Thank you. many question but may be some has similar answers . :sleeping:

    Thank you SkyeFire for the reply.


    i went under Setting>Measure>Tool> 0 XY Z -4 Point then i saw something like shown in picture 1 for base 1.Firstly I get chance to select tool and I press ToolOK. Then it says "Line up tool from different direction" under I get 3 options move to pt.... point ok...close. when I press move to pt, it says "Target is not valid". When i press pont ok, it shows as picture 2.
    Then there is 2 menu, repeat all and repeat. But I am not able to move robot or change the coordinates of xyz by this procudere. :wallbash:


    Will you please explain again how do I teach TCP 4-point XYZ method after this step? :waffen100:
    and will you tell me which manual explain teaching points? In expert programming its just 1 page explanation and it doesn't help.



    Thank you.

    Thank you SkyeFire:applaus::)
    i understand the most of the things .


    As attached in image below. Firstly when I want to pick the object, I will start the fixed webcam that shows the video. Then press the capture button. Then it will display the image. The red dot in image is always origin of X and Y (0,0). I have shown x and Y with green letter. Then when i touch any part inside the captured frame, the right side box will show me coordinates in mm according to that fixed position of camera relative to origin (0,0) [in this case i have pressed the rectangular USB stick]. Since the preview frame and captured image frame is fixed then i believe the conversion will be valid as long as the height of camera remain constant. And also i will make sure chessboard does not move. So in this case I don't have to do anything with camera coordinate and table right? So I have to take care about only teaching robot point right?


    Now lets go to teaching the robot TCP. Before teaching I will make sure that height is adjust and chess board is zoomed 100% so no floor is seen and camera is fixed and make conversion(calculation) to mm is changed.



    For the robot, it's quite simple. Temporarily mount a sharp-ish (pencil-sharp, not hypodermic-sharp) pointer firmly to the robot, and teach it as a TCP. Then, use the 3-Point Base function in the robot -- touch the pointer to the chessboard origin, then a point on the chessboard X axis, then a point in the chessboard's positive XY plane. That's it -- now the robot has a Base whose origin and orientation matches that of the chessboard, and you can program points in that base.


    Will be please show small example how to teach TCP so that when i send those x & Y from PLC the robot will know and move to that points? How to use 3 point base function? or will you please explain how to teach the points step wise.I think for now my base is {0,0,0}. I have never teach any point to robot but i assume it is done with pressing touch up after ptp is complete? but what will be my ptp command? and do i have to assume some where $world=$base or something similar?


    Thank you.

    Hello everyone,
    Kss: V4.1.5 Robot: Kr3 & controller: Krc3
    Up to now i am able to move the robot from the PLC (c#). So c# program send the move position to PLC and PLC send to kuka. Between PLC and kuka profibus is used.


    This post is related to attached image below.
    In short I have webcam attached to the stand. For now I am using the chess board as the working space (pick up zone). I want robot to move from the position shown in picture to pick the object (rectangle boxes in this case) when the object is touched. For that I am able to get the X and Y in mm from pixel (since the picture is 2D)when the object is touched.


    Now my difficulties are:


    1. How can I make robot to move to this X and Y coordinates? because coordinates (mm) of working space is different from the robot Cartesian coordinates. Should I have to make some kind of offset on c#(PLC ) side to make cordinates equal? If so how to make that? OR teach the points to robot? or do something with $base or $world? :wallbash:


    2. Since I need to pick the box as top part, I am taking the working space as 2D which means i have only two coordinates(X & Y in mm). How is this x & y related to robot Cartesian XYZABC? or is there way to convert to joint coordinate system or in degree?
    In short how to make the robot to know the x & y in mm of camera so that robot can move to that point? My problem is making the relation between camera coordinate to know by robot and it is not about the programming in kuka side or sending values to robot.


    I hope my description is not confusing. :icon_rolleyes: if it is confusing please ask :)
    Thank you.