RoboDK Forum
Search Linear- Printable Version

+- RoboDK Forum (//www.sinclairbody.com/forum)
+-- Forum: RoboDK (EN) (//www.sinclairbody.com/forum/Forum-RoboDK-EN)
+ - - -论坛:通用RoboDK问题(//www.sinclairbody.com/forum/Forum-General-questions-about-RoboDK)
+--- Thread: Search Linear (/Thread-Search-Linear)

Pages: 1 2


Search Linear-Nox-10-22-2018

Hi everyone,

According to the RoboDK Documentation, there's a function called "SearchL" and is described like this:


Quote:SearchL(target, blocking=True)
Moves a robot to a specific target and stops when a specific input switch is detected (“Search Linear” mode). This function waits (blocks) until the robot finishes its movements.

Parameters:
target (Mat, list of joints or Item) – Target to move to. It can be the robot joints (Nx1 or 1xN), the pose (4x4) or a target (item pointer)
blocking (bool) – Set to True to wait until the robot finished the movement (default=True). Set to false to make it a non blocking call. Tip: If set to False, use robot.Busy() to check if the robot is still moving.

I would like to know if it's possible (and how) do what it says there... move the robot until an input switch is detected. According to what I understand, the robot just moves to the target without doing anything else in the path.

Is possible to send the robot an instruction that can be stopped if, lets say, I press a button or trigger a sensor?

Thanks for your time :)


RE: Search Linear-Jeremy-10-24-2018

Hi Nox,

TheSearchL()instruction is used to find the exact position of an object using an external sensor.

If you take this example :



Imagine that those two suction cups need to take a paper sheet on top of a pile of paper sheets. Has the day goes by, the pile of sheets go down and you don't want to teach every single position going down. So you use aSearchL()and you connect your input on the suction sensor connected with the suction cup. This input will go to TRUE if the suction cups grab something. This will then stop the linear movement of theSearchL().

When the input is triggered, the program simply past to the following instruction.


So, to answer your specific question, the linear movement of aSearchL()can be stopped by a button or a sensor.


RE: Search Linear-Albert-10-24-2018

The integration with your robot depends on the controller you have. Linear search requires customizing the robot driver to intercept the search movement and link the stop condition to a specific signal. You can also use a customized post processor.

What robot are you using?

For example, if you have a Fanuc robot you'll see a program called go_mls.ls (MoveL Search) as part of the robot driver setup. This program looks like this:

1: SKIP CONDITION DI[101]=ON ;
2: IF R[51]>=0,JMP LBL[10] ;
3:L PR[50] R[50]mm/sec FINE Skip,LBL[50] ;
4: PR[52]=JPOS ;
5: END ;
6: LBL[10] ;
7:L PR[50] R[50]mm/sec CNT R[51] Skip,LBL[50] ;
8: PR[52]=JPOS ;
9: END ;
10: LBL[50] ;
11: PR[52]=PR[50] ;

在这个例子中,搜索“滑雪停止p condition" DI[101]=ON. You can modify that line to match the DI of your choice. The final position is saved in the position register PR[52]. This can also be customized.


RE: Search Linear-Nox-10-29-2018

Thanks both for your answers...
I own a KUKA KR-210 robot, I'm wondering what's the input for this robot? (or where I can check this)


RE: Search Linear-Albert-10-31-2018

Hi Nox,

You just have to select your robot in RoboDK. Make sure you have a suitable post processor (for example, for KUKA you have KRC2 or KRC4 post processors).

Then, the correct output suitable for your controller will be generated. The example we provided is based on a Fanuc robot.


RE: Search Linear-Daniel-12-26-2019

(10-29-2018, 02:06 PM)Nox Wrote:Thanks both for your answers...
I own a KUKA KR-210 robot, I'm wondering what's the input for this robot? (or where I can check this)

Hi Albert,
I'm working with an ABB 2400/L and willing to use the SearchL function to verify the dimension of the object but I can't find the documentation that Nox mentioned.
Can you share a link, please?


RE: Search Linear-Albert-12-30-2019

嗨,达niel,

The SearchL function is only available through the RoboDK API. Search functions are not available through the graphical user interface unless you customize your post processor to collect the data and run validation checks.

More information about how to use the SearchL function through the API is available here:
//www.sinclairbody.com/doc/en/PythonAPI/robolink.html#robolink.Item.SearchL

Albert


RE: Search Linear-PiotrekP-03-29-2023

Hi,

I'm very new to RoboDK.
I would like to use the SearchL command on my own robot.
First, I'd like to generate a program using the graphical user interface, and then send the entire program to the robot.
How can I accomplish the first part of my goal - using SearchL in the GUI?


RE: Search Linear-Sergei-03-29-2023

SearchL is only available through the API. Have a look at Albert's previous post, please. You can create a python script and call it in your program using 'Program call or insert code instruction'.


RE: Search Linear-PiotrekP-03-29-2023

Thank you for your prompt reply.

I have already learned how to run simple commands, such as MoveJ, using a Python script. I also know how to simulate turning on a digital signal. However, I have yet to learn how to use the SearchL command and associate it with a digital signal.
My goal is to stop the robot's movement immediately after the signal is turned on.