1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
Everywhere
  • Everywhere
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Members
  3. kazoo

Posts by kazoo

  • Smooth (no jitter) real-time destination update

    • kazoo
    • July 24, 2018 at 6:46 AM

    For remote control or visual servo application, I’d like to stream the target position every 10-50 milliseconds from my Linux PC, and each update would only change the destination around 1-100 millimeter. By doing this, I’d like to create a smooth motion. I want to realize both in Cartesian space control and in Joint space control, but let’s discuss Cartesian space first.

    My problem is that the robot movement is very jittery. I’m using RTDE (real-time data exchange) and running the same urp file which you can find here: https://www.universal-robots.com/how-tos-and-fa…de-guide-22229/
    The motion I tried to create was simple: just moving up 200 millimeters toward +Z direction, then moving down 200 millimeters toward -Z direction. I was sending the target update (absolute target position in robot’s Base Frame) every 50 msec, and I was changing 10 millimeters for every update. However, the movement was very jittery or the repetition of small “start and stop” movement. The original urp file uses “MoveL” command, so I tried to tune the parameters (by changing from “Stop at this point” to “Blend with radius”), but it didn’t work.

    When I implemented the similar functionality on ABB, I could use EGM (Externally Guided Motion), which you can stream the point, and the robot follows the point it gets every update. Alternatively, when I implemented for DensoWave or Mitsubishi, I could use “Cancel” or “Skip” command for each “Move” command to override the old target. I’m wondering if there are any commands/options that I can use for Universal Robots.

    Are there any ways/commands to realize above smooth real-time target-update movement?
    :help:

  • RTDE

    • kazoo
    • July 24, 2018 at 6:23 AM

    1. You don't necessarily need to use RTDE (you can send the request every time through RealTime Client), but I think it's better to use RTDE because it doesn't require the time to process the command.

    2. You can download some sample codes at the bottom of this manual: https://www.universal-robots.com/how-tos-and-fa…de-guide-22229/

  • How to avoid the sudden speed limit stop when using SmartServoLIN?

    • kazoo
    • January 15, 2018 at 9:24 PM

    These are motion parameters set to `SmartServoLIN`'s `setMaxTranslationVelocity` and `setMaxAcceleration`.

  • How to avoid the sudden speed limit stop when using SmartServoLIN?

    • kazoo
    • January 13, 2018 at 9:05 AM

    I'm using IIWA's SmartServoLIN mode and I have a trouble with the sudden stop. When the robot tries to reach far, it sometimes stops. The message on Teaching Pedant is as follows:
    "Application was stopped due to the following error:
    com.kuka.roboticsAPI.executionModel.CommandInvalidException: Error while executing
    com.kuka.roboticsAPI.motionModel.SmartServoLIN@... on device LBR_iiwa_14_R820_1. Speed limit detected at
    com.kuka.roboticsAPI.controllerModel.sunrise.SunriseExecutionService$ErrorHandlerRunner.run
    ...."

    Currently, I set the parameters such as translational velocity (around 1000-2000 mm/s), acceleration (around 1000 mm/s2), rotational velocity and acceleration. I can make these small to avoid the sudden stop, but at the same time, I don't want to make the robot movement slow if not necessary.

    It seems SmartServoLIN cannot handle its joint speed limit or something by itself. Are there any ways to avoid the sudden stop when the robot arm tries to reach far?

  • The necessity of MEMD tool: Is it possible to master the robot by hand?

    • kazoo
    • November 9, 2017 at 7:43 PM

    Sorry, I submitted KR robot's question to IIWA's board...

  • The necessity of MEMD tool: Is it possible to master the robot by hand?

    • kazoo
    • November 9, 2017 at 7:40 PM

    I plan to buy Kuka robot for the first time. When I get the quote, MEMD is listed as an option and I'm wondering I need to buy this or not. It looks the special tool. Can I do the mastering process without having this (for ABB robot, I usually do by hand like this:

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
    )? If so, what is the benefit to have this?

    Kuka's representative says "You can master a robot without an MEMD but your robot movements with not be as accurate afterward." Does this mean there is a quality’s difference between hand mastering and MEMD? In my application, I don’t need sub-millimeter accuracy. I can do hand mastering per a year / a half year, but if I need to do more, I may need to consider MEMD.

  • SmartServoLIN doesn't avoid the area where the arm can't reach

    • kazoo
    • November 1, 2017 at 4:43 PM

    The reason I asked about changing speed/acceleration and restriction is that it seems SmartServoLIN's movement is relatively slow. I wonder how I can improve the speed by changing the speed/acceleration during several motions among waypoints.

  • SmartServoLIN doesn't avoid the area where the arm can't reach

    • kazoo
    • October 24, 2017 at 6:41 PM

    Hi kiiwa, thank you for replying. I was using SmartServoLIN for my remote control application. However, I needed to move from point A to B in some situation before and after I used SmartServoLIN.

    Have you used PtP and SmartServoLIN in the same program (If not, I should look whether it's possible or not)?

    Another question comes up in mind is about the speed and the acceleration. If I create several waypoints (to make a circle trajectory from A to B) for SmartServoLIN, are the speed and the acceleration same as PtP's one-stop motion? Or, is it possible that SmartServoLIN restricts the speed and/or the acceleration? I'm trying to understand the downside of SmartServoLIN.

  • SmartServoLIN doesn't avoid the area where the arm can't reach

    • kazoo
    • October 13, 2017 at 8:47 AM

    No answer?

  • Lead-through mode on IIWA 14

    • kazoo
    • October 13, 2017 at 3:39 AM

    Are there any functions on IIWA 14 to control/teach the robot by physically guiding through it? ABB's YuMi has the function called "lead-through" mode (

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
    ) and I wonder IIWA has the same functionality.

  • SmartServoLIN doesn't avoid the area where the arm can't reach

    • kazoo
    • October 3, 2017 at 8:10 PM

    Do you mean SmartServoLIN can't move in the same way?

    In the manual (KUKA_SunriseConnectivity_Servoing), it says PTP and LIN use "Polynomial" for the planning, while SmartServo and SmartServoLIN use "3rd-order polynomial". Is this related to this issue?

  • SmartServoLIN doesn't avoid the area where the arm can't reach

    • kazoo
    • October 3, 2017 at 7:43 AM

    I'm using iiwa14 and have a problem. I'd like to move the robot from x,y = A(0, -500) to B(500, 0). When I ran SmartServoLIN and tried to move the robot's tool center point from point A to B, the robot stopped during the operation because the robot entered the area it couldn't reach (the value of axis 4 was nearly the limitation at that time). I thought the SmartServoLIN could handle this simple path planning (just avoiding the area it can't reach), but it didn't and it just crashed. Of course, I can manually set the waypoint, but I don't want to hardcode the waypoint.

    Is there any way to avoid this issue and to move the robot from A to B safely? The attached file describes the situation.

    :help:

    Images

    • Untitled presentation (1).jpg
      • 21.01 kB
      • 960 × 540
      • 20

    Files

    Untitled presentation (1).jpg_thumb 4.24 kB – 13 Downloads
  • How to create a smooth movement by feeding a series of the target points on YuMi

    • kazoo
    • May 19, 2017 at 9:25 AM

    I have a question about how to create a smooth movement by feeding a series of the target points on YuMi. I’m trying to move the TCP based on 3D mouse input. For IRB, it was easy because I could use EGM.

    Currently, I’m sending the targets via TCP/IP communication by mostly using open_abb like code. Every PC running cycle, I send the following instruction to the robot. Params{1} - {7} is the position and the pose of the next target. I can change the frequency to send, and I tried 0.02, 0.1 and 0.2 sec (= 50Hz, 10Hz, 5Hz).
    cartesianTarget :=[[params{1},params{2},params{3}],
    [params{4},params{5},params{6},params{7}],
    initialCartesianPose.robconf,
    externalAxis];

    MoveJ cartesianTarget, v100, z0, currentTool \WObj:=currentWobj ;
    However, the movement created wasn’t what I wanted. The robot repeated small movement and stopped around every 0.2 - 0.5 sec and didn’t move smoothly (and had a lot of “50024 Corner path failure” warnings). I observed that the robot executed around 3 - 5 MoveJ intrusions and then stopped for every small movement cycle. The length between each target was around 10-20 mm in the most of the case, it was sometimes around 5mm, but still bigger than the size of zone area for fly-by point setting.

    To understand how PP works and how close I can set each target point, I also conducted the following experiment. Based on a given number, the following code created many targets and moved the robot as it drew a circle. Of course, if I feed too big number like 1000, the robot won’t move smoothly because of the corner path failure or “50124 zone converted to fine point”. When I used 600 points, the robot still moved very smoothly. 600 points mean 0.6 degree per one movement from point to point (= around 1mm in this setting, which is bigger than z0 zoning setting) and each single movement takes around 0.01sec to complete.
    FOR i FROM 1 TO (params{1}) DO
    cartesianTarget :=[[300+100*Sin(360*i/params{1}),-300+100*Cos(360*i/params{1}),250],
    [0,0,1,0],
    initialCartesianPose.robconf,
    externalAxis];
    MoveJ cartesianTarget, v100, z0, currentTool \WObj:=currentWobj ;

    ENDFOR

    To me, the conditions such as a number of points, the length between the points were much strict in the second implementation, but it did work.
    Then, here is my question; Why the first implementation didn’t make a smooth movement? How can I make a smooth movement based on it?

  • Real-time TCP position/pose control on YuMi (IRB14000)

    • kazoo
    • May 7, 2017 at 11:00 PM

    I plan to make a mouse or a gesture control robot like this (

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
    ).

    For a 6-axes robot, I could implement it by using ABB’s EGM (Externally Guided Motion) option, which allows to send a Cartesian position and pose of TCP. However, when I started to work on YuMi, I noticed that EGM’s position guide control cannot be applied to the 7-axes robot (For YuMi, a joint control mode in EGM is only available).

    Are there any recommendations to implement what I described above?
    Also, I'm guessing that I need to implement IK class to get the correct joints' angles from a desirable TCP position. Maybe using OpenRAVE or OMPL? If you have any recommendation to calculate IK / Inverse Jacobian, please let me know too.

  • How to set YuMi's configuration when using Move instruction?

    • kazoo
    • May 5, 2017 at 3:42 AM

    I have a question about YuMi’s movement. What should I set for `confdata` at robtarget?

    The initial robot joint position is like the first picture (with Arm angle -164.85 as depicted in the second picture). Because 1st axis is 29.73, 4th axis is -131.89 and 6th axis is -149.08, I set cf1 to 0, cf4 to -2 and cf6 to -2. Also, for cfx, I tried to follow what the manual says (please see the third picture).

    Then, the instructions to set the target and to move became like follows:
    cartesianTarget :=[[params{1},params{2},params{3}],
    [params{4},params{5},params{6},params{7}],
    [0,-2,-2,0110],
    externalAxis];
    MoveL cartesianTarget, currentSpeed, currentZone, currentTool \WObj:=currentWobj ;

    However, when I ran this, I got “Using old target definition” error (the fourth picture).
    I also tried the simplest conf setting like [0,0,0,0], then the robot started to move its arm to positive direction (it went up to -90 degree or so) and got “Jog in wrong direction” error (the fifth picture).
    Note that I tried everything on YuMi’s right arm. I'm using RobotWare 6.05 and tried to follow the new convention to express confdata.

    The manual doesn’t show any example setting for YuMi. Could you let me know how I can solve this issue and how to set the confdata?

    Images

    • IMG_2504.jpg
      • 93 kB
      • 640 × 480
      • 10
    • IMG_2503.jpg
      • 70.7 kB
      • 640 × 480
      • 9
    • Screen Shot 2017-05-04 at 2.57.49 PM.png
      • 286.6 kB
      • 1,522 × 1,438
      • 11
    • IMG_2506.jpg
      • 82.53 kB
      • 640 × 480
      • 10
    • IMG_2505.jpg
      • 68.2 kB
      • 640 × 480
      • 9

    Files

    IMG_2504.jpg_thumb 28.28 kB – 28 Downloads IMG_2503.jpg_thumb 26.17 kB – 27 Downloads Screen Shot 2017-05-04 at 2.57.49 PM.png_thumb 20.29 kB – 28 Downloads IMG_2506.jpg_thumb 25.28 kB – 29 Downloads IMG_2505.jpg_thumb 23.53 kB – 29 Downloads
  • Rapid Language

    • kazoo
    • April 29, 2017 at 2:05 AM

    If you know other programming languages, it's faster to just try several sample codes in the manual. You can use RobotStudio's Virtual Controller if you don't want to break the robot.

  • Cannot add Multitasking option to IRB

    • kazoo
    • April 29, 2017 at 1:58 AM

    I’m trying to use Multitasking on IRB. I’ve already tested on Virtual Controller and worked well.
    Then, when I tried to apply it to the actual controller, I had an issue and I need support how to use Multitasking.

    When I tried to add New Task from Configuration -> Controller -> Task, it doesn’t allow me to add another task.
    I guess this is because of the lack of Multitasking option, so I tried to add that option from Installation Manager.
    Unfortunately, it didn’t show anything about Multitasking option, so I couldn’t choose it.
    I also tried to “add setting” file from the working Virtual Controller, however, it said, “Option(s) in settings file requires license or product”.

    I’m sure I already have a premium license for the RobotStudio. Do I need to get another license (maybe for Robot Controller?) to use Multitasking option? If not, please let me know how I can use it.
    :help:

  • Path planning without ROS

    • kazoo
    • April 22, 2017 at 6:59 PM

    Thank you so much! I'll look it!

  • Rotation order, Extrinsic/Intrinsic rotation in EGM Base Frame mode?

    • kazoo
    • April 21, 2017 at 9:31 AM

    I’d like to ask about the rotation (Rx, Ry, Ry or roll, pitch, yaw) . The following example is about EGM, but may be same as the normal movement.

    When I use EGM’s Tool Frame mode, all 6D axes (x,y,z,Rx,Ry,Rz) follow the Tool Frame (Intrinsic Rotation), which behaves as same as the movement when using Tool Frame during Jogging.

    My question is, how EGM’s Base Frame mode behaves for the rotation? When I use EGM as Base Frame mode, translation (x,y,z) movement is based on the Base Frame, so even the tool is tilted, the robot still moves based on the Base Frame, not on the Tool Frame. This is good.
    However, when I send the rotation value (Rx,Ry,Rz), the robot rotates based on Tool Frame, not Base Frame, which is different behavior when compared with Jogging under Base Frame.

    Is this intended behavior?

  • How to use the tool in EGM's Base Frame mode?

    • kazoo
    • April 19, 2017 at 7:50 PM

    Have anyone tried to use the tool in Base Frame mode (not in Tool Frame mode) while using Externally Guided Motion (EGM)?
    I’m trying to use Base Frame mode of EGM on IRB120 and having “Dynamic load too high” error. The robot tried to go up (+z) for a very short time (less than 1sec or 0.5msec) and stopped with the error.

    What I tried was just to send the current position (translation position = 400, 0, 125, rotation = 0, 1, 0, 0) as a destination. The followings are a snippet of RAPID code I used. If you notice any mistakes, please let me know. When I used Tool Frame mode with the tool or Base Frame mode without the tool, they worked as expected.


    Code
    TASK PERS tooldata myTool:=[TRUE,[[0,0,275],[1,0,0,0]],[1.0,[0,0,60],[1,0,0,0],0,0,0]];
    
    
    MoveJ p1, v100, fine, myTool;
    
    
    EGMActPose egmID1\Tool:= myTool, corr_frame_offs, EGM_FRAME_WORLD, myTool.tframe, EGM_FRAME_BASE \x:=egm_minmax_lin1 \y:=egm_minmax_lin1 \z:=egm_minmax_lin1 \rx:=egm_minmax_rot1 \ry:=egm_minmax_rot1 \rz:=egm_minmax_rot1 \LpFilter:=4, \MaxPosDeviation:=1000 \MaxSpeedDeviation:=1000; 
    
    
    EGMRunPose egmID1, EGM_STOP_HOLD \x \y \z \Rx \Ry \Rz \CondTime:=300 \RampInTime:=0.05 \PosCorrGain:=1.0;


    :help:

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download