Pick and place application with KUKA KR16 robot using v-rep (CoppeliaSim) and Matlab

Поделиться
HTML-код
  • Опубликовано: 21 авг 2024

Комментарии • 193

  • @2breborn247
    @2breborn247 3 года назад +7

    I used this video to pass one of my final mech engineering courses XD thank you sir

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад +2

      Even if the code is not optimized and there are easier methods, I'm glad to hear that it helps. If you wrote a report for that don't forget to write my name on the references page, hhhh

    • @jasonbustamante884
      @jasonbustamante884 3 года назад +1

      @@mechatronicsninja3806 too late, I already graduated XD hahaha

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад +1

      @@jasonbustamante884 congratulations :)
      tenor.com/view/pakistani-fan-disappointed-gif-17939096

    • @2breborn247
      @2breborn247 3 года назад

      @@mechatronicsninja3806 my apologies, dad

    • @adeliyakyzdarbek7224
      @adeliyakyzdarbek7224 3 года назад

      What iif I don't have folder 64bit in a Windows folder? Please, can you help me!!!

  • @hihihi338
    @hihihi338 4 года назад +1

    Thank you.
    I am a Korean student.
    I didn't know much about coding, so I didn't know how to communicate between the matlab and v-rep. Thanks to this kind and detailed video, I learned a lot.
    I thank you from the bottom of my heart.
    I am not good at English, but I want to thank you through Google Translation.
    Thank you again..

  • @saulbermea9085
    @saulbermea9085 3 года назад +2

    Thanks, I used your tutorial for a final project. Btw, for me it worked much better vrep.simx_opmode_oneshot in the loop of moveL because setting the position took 0.1s and the wait 1e-4s so the velocity hadn't an impact in the simulation with simx_opmode_blocking

    • @kv7656
      @kv7656 3 года назад

      can u please share all matlab code as well as .ttm file pls
      i have many doubts in code

    • @saulbermea9085
      @saulbermea9085 3 года назад

      @@kv7656 github.com/SaulBG99/CoppeliaSim_Dish_washer the code is slightly different to fulfill the requirements of my project, here is what my project does: ruclips.net/video/CNPgJSK4gU0/видео.html some things are a bit hardcoded

    • @dimastrisaptaji4641
      @dimastrisaptaji4641 3 года назад

      hi, i just want to know how do I adjust the speed of the robot arm, can the speed of the robot's movement be accelerated or decelerated? thankyou master ninjaaasss, I really hope you can answer my question

  • @user-wd6mm2zq6f
    @user-wd6mm2zq6f 4 года назад +2

    Thanks to Master Ninja, I also successfully reproduced this project. Although I encountered some problems, it was finally completed. Thanks to the tutor.

    • @hamzahassan6364
      @hamzahassan6364 4 года назад

      can you share the simulation please?

    • @user-ws5ve7kv7q
      @user-ws5ve7kv7q 3 года назад

      你好,我按照顺序做完了仿真,dummy的运动都正确,但是抓取的部分不正确。可以麻烦你分享一下仿真文件,谢谢你!

    • @user-ws5ve7kv7q
      @user-ws5ve7kv7q 3 года назад

      我的邮箱是likai226717@gmail.com 谢谢!

    • @kv7656
      @kv7656 3 года назад

      can u share the code and simulation pls

    • @kv7656
      @kv7656 3 года назад

      @@hamzahassan6364 has he shared the coppelia envirnment and matlab code

  • @khalilzbiss5265
    @khalilzbiss5265 4 года назад +4

    Thank you very much for the tutorial that helped a lot

  • @user-yg2hp1ij4z
    @user-yg2hp1ij4z 2 года назад +2

    Thank you. This is a great video. But I have a question, where should the target be placed? I didn't find the answer in the video. I tried to put the target where the small box stopped, but the manipulator didn't move

    • @mechatronicsninja3806
      @mechatronicsninja3806  2 года назад

      In the first step, the 'target' must be placed in a reachable position.
      *After that, you need to activate the IK configuration of the robot so that the 'tip' dummy will follow the 'target' dummy. if you are using the new version of CoppeliaSim here is the tutorial of how to set up the IK:
      www.coppeliarobotics.com/helpFiles/en/inverseKinematicsTutorial.htm
      if the robot didn't move this means that the IK is not set up correctly.
      *Once the IK is activated, you need to move the robot to the desired pick a place position.
      A useful tool that you can use to quickly get the wanted position is :
      drive.google.com/file/d/1xjCQ6Hkgimtvn9xdH7vlqhxknn_ty3wN/view
      it is used in this tutorial:
      ruclips.net/video/9X8QVcuJvQ4/видео.html
      I hope I answered your question.

  • @muhammadafnankhan5439
    @muhammadafnankhan5439 3 года назад +1

    Thank you sir for the video.
    sir i have two issues:
    1) i am unable to decrease the weight of the cube.
    2) the gripper is not opening and closing automatically.
    can you sir please help me how to resolve these issues

  • @RoboticsWithHrithik
    @RoboticsWithHrithik 4 года назад

    This link contain writing using robotic arm:
    github.com/Hrithik-verma/V-REP-Drawing-with-a-robot-arm

  • @EdgarGarcia-hf8hf
    @EdgarGarcia-hf8hf 3 года назад +3

    Could you please do the same tutorial, but usign python , please.

  • @costel998
    @costel998 3 года назад +1

    Hello Master Ninja, I have done your tutorial step my step and it runs okay, BUT, when the gripper goes towards the cube, it does not pick it, pauses for 2 seconds and goes straight to the table (next point). Could you help me with this situation?

  • @muhammadizzuddin2280
    @muhammadizzuddin2280 4 года назад +1

    hi , thanks for this tutorial video , it help me a lot. just my camera view start moving while simulation is running and i already check for my default camera setting and no tracking , is there anything that might help for my problem ?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      If the camera is not tracking any object (tracked Object > none), in the scene hierarchy, make sure that default camera is not attached to any moving object.
      Or, you can simply copy all objects in a new empty scene (where the camera settings is not modified)
      Note:
      As an exemple of a moving camera (attached to a joint), you can open the default scene :
      C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\scenes\youBotAndHanoiTower

  • @ja_gamer_2401
    @ja_gamer_2401 2 года назад +1

    Sorry this is probably going to sound dumb but how do you place the objects on the conveyor belt

    • @mechatronicsninja3806
      @mechatronicsninja3806  2 года назад

      * In this video, the script is described at 10:15
      if you want to adjust the place position you can change the parameter of the sim.setObjectPosition() function at 11:49
      www.coppeliarobotics.com/helpFiles/en/regularApi/simSetObjectPosition.htm
      * if you want to add an external object defined by the user you can check the minutes 7:12 in this tutorial:
      ruclips.net/video/9X8QVcuJvQ4/видео.html

  • @merondesta3895
    @merondesta3895 2 года назад

    that was so help full. how about a pick and place robot that classifies b/n two classes of boxes(lets say like defected vs non defective) in short to place in two d/nt places . do we have a very d/nt code with the one u use here?

    • @mechatronicsninja3806
      @mechatronicsninja3806  2 года назад +1

      Thank you Meron,
      Here is a more suitable tutorial for your application:
      ruclips.net/video/9X8QVcuJvQ4/видео.html
      - Just you need to add a vision sensor to sort and do the inspection on the conveyor.

  • @RaulGerardoHuertasPaiva
    @RaulGerardoHuertasPaiva 5 лет назад +2

    Hello! First, THANK YOU! I've been following your tutorials and are awesome. I have a little problem whit this one though: when a cube is detected, the robot goes there, grip-close the tip but doesn't pick up the cube. It makes the movement to the table, makes a release move, and gies back over the conveyor. Once the the first cube is detected the conveyor stops, but the cubes just keep stacking over and over. Any suggestion? :(. Thanks again!

    • @mechatronicsninja3806
      @mechatronicsninja3806  5 лет назад +1

      You are welcome
      As I mentioned in the video description: If you have difficulties in gripping the box I recommend :
      - decreasing the weight of the box.
      - increase the gripper joints velocities.
      - increasing the friction coefficient of the gripper fingers.
      - changing the strategy by faking the gripping (13:30). this is more efficient . for more details, read the comment on the script of robotiq 85 gripper

  • @eduarinfante4118
    @eduarinfante4118 5 лет назад +2

    Help, I have a serious problem, the gripper doesn't close. What do I have to do?

    • @eduarinfante4118
      @eduarinfante4118 5 лет назад

      I did each step of the video

    • @mechatronicsninja3806
      @mechatronicsninja3806  5 лет назад +1

      I don't know what you wrote in the code, but you don't have to do the Matlab function for the gripper. you can keep the attached script of the ROBOTIQ 85 and then use the 𝒔𝒊𝒈𝒏𝒂𝒍 instead of "closing" variable to trigger the closing and the opening, similar to this:
      sim.setIntegerSignal('close_open_gripper',0) --
      ...
      if (sim.getIntegerSignal('close_open_gripper')== 1) then
      -- close the gripper
      if (p1

  • @ariefrahman9838
    @ariefrahman9838 3 года назад

    thank you for the knowledge of coppeliasim. But, i have tried build it and i'm failed. My robot simulation can't running successful.
    My robot simulation runs broken, not as smooth as you made.
    Can you explain what happened to my robot simulation?. Thank you!

  • @esteban25806
    @esteban25806 4 года назад

    Hello very useful your tutorial I have a problem with the camera at the time of running the program in matlab the camera moves and I already tried the recommendations in the comments can you help me with the code or with another recommendation

  • @jackyang2868
    @jackyang2868 3 года назад

    Hello, I didn't understand the part of grip control in the video, could you explain it?Did the gripping program in the video decompose the gripper into two joints?

  • @KarinKishimei
    @KarinKishimei 3 года назад

    I tried this but it got stuck until the rectangle reach the proximity sensor. Do you know what caused the problem? The robot wouldn't pick it up after the sensing.

  • @athanasiosloukas9855
    @athanasiosloukas9855 4 года назад

    Thank you so much. It works now. Can I ask you something else though? I tried using a for loop with your moveL function in it, trying to execute a whole path with a UR3 model. But it only executes the first iteration. I also tried the function, it works better but in a discrete way, so not recommended for servoing. Have you tried a for loop for your function?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      I created moveL function because I didn't find a function that can do the same in Matlab. Another solution is to implement an RMLmove function directly in vrep and trigger it in matlab using signals (global variables).

    • @athanasiosloukas9855
      @athanasiosloukas9855 4 года назад

      @@mechatronicsninja3806 I tried using signals but I must have placed/typed them wrong. Can I send you the scene and the matlab script?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      @@athanasiosloukas9855 send me a message on my Facebook page.

  • @dennismartey6325
    @dennismartey6325 5 лет назад +1

    sir my ninja main code is not displaying anything eg."connected to remote API server"

  • @anasgg71
    @anasgg71 4 года назад +1

    Hello, Thanks for this tutorial,
    I am trying to implement your work, so I want to ask you about the code that you use to move the conveyer belt from Matlab. ( where is it )
    Thank you

    • @user-wd6mm2zq6f
      @user-wd6mm2zq6f 4 года назад +1

      child script?

    • @anasgg71
      @anasgg71 4 года назад

      @@user-wd6mm2zq6f i want to control the conveyer belt frim Matlab

  • @SwitJiz
    @SwitJiz 2 года назад

    Good evening sir. I'm a newbie in this. I tried it out and everything worked fine, the only issue is it doesn't grip the box, it follows the path without griping the box.

    • @mechatronicsninja3806
      @mechatronicsninja3806  2 года назад

      Hi, you can fake the gripping (as mentioned in the description)

    • @SwitJiz
      @SwitJiz 2 года назад

      @@mechatronicsninja3806 i followed everything you did sir. Or didn't you do it in the video?

    • @SwitJiz
      @SwitJiz 2 года назад

      @@mechatronicsninja3806 its working now but now it doesn't let go of the cube when it gets to position 6

    • @mechatronicsninja3806
      @mechatronicsninja3806  2 года назад

      @@SwitJiz sim.setObjectParent(BoxHandle, -1, true) will make the box separated from the robot object tree
      www.coppeliarobotics.com/helpFiles/en/regularApi/simSetObjectParent.htm

  • @datphungvan8336
    @datphungvan8336 4 года назад +1

    very helpful video, wish to become a ninjas ^^
    Is this possible to work with PLC ladder code in VREP or via Matlab ?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      As far as I know, there is no direct solution:
      www.coppeliarobotics.com/helpFiles/en/remoteApiClientSide.htm
      But if you want to transfer data between your PLC and VREP, you can create a simple TCP/IP or UDP communication (not tested yet)

  • @yohanlegars9257
    @yohanlegars9257 3 года назад

    Thank you very much for the video.
    Quick question : I would like to re-customize the table size. But the table customizer (3:39) does not appear anymore after I use it once. How can I make it reappear when I select the table?
    Thank you for your help.

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад +1

      if you close the customization interface, the associated script of the table will be deleted automatically. In this case, you need to drag and drop another new table.
      Instead of closing this interface, select another object in the scene, and the interface will disappear without being deleted

  • @anoushkabaidya8889
    @anoushkabaidya8889 Год назад

    Hello, I am unable to locate the inverse kinematic function f(x). Is there some tool bar we need to enable

    • @mechatronicsninja3806
      @mechatronicsninja3806  Год назад

      Hi, Since version 4.2.0 this part changed (more details in the description)

  • @pengweizang3373
    @pengweizang3373 4 года назад

    Thanks for sharing! I have a question that my tip is not following the target dummy. And should I do anything to the default script in Kuka?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      I don't know the exact raisin of your error but here is some points to check:
      - Make sure that your joints are configured to Ik mode.
      - make tip close to Target .
      - avoid starting from a singularity point....

    • @pengweizang3373
      @pengweizang3373 4 года назад

      @@mechatronicsninja3806 Thanks, my problem is solved! But when I run the code, the Kuka robot arm is not moving after the proximity sensor detects the block.

  • @anshulrao2373
    @anshulrao2373 3 года назад +1

    First of all, Thank you for this amazing tutorial ! Helped me understand the tool little better.I had a small question,
    how are you getting the position of the object? I'm trying to do something similar to pick and place, but it is based on the co-ordinates of the object requested! I tried sim.simxGetObjectPosition to get the position of the target but I'm getting a return code of 1. and the co-ordinates [0,0,0] no matter what object it is.

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад +1

      Hi, I don't know why it's showing always [0,0,0] I didn't get this problem before. I suggest:
      -1- [number returnCode,array position]=simxGetObjectPosition(number clientID,number objectHandle,number relativeToObjectHandle,number operationMode)
      Try to change the OperationMode and see if It works. make sure that the object is handled correctly.
      -2- Here is another way to get the position: Create a script In CoppeliaSim like this:
      - pos=sim.getObjectPosition(ObjectHandle, -1)
      for i=1,3,1 do
      sim.setFloatInteger('pos'..i,pos[i])
      end
      - In matlab read the signal values using this function:
      [number returnCode,number signalValue]=vrep.simxGetFloatSignal(clientID,'pos1',number operationMode)
      The second solution is not the proper way to get the object position but it may be the plan B if simxGetObjectPosition is not working for you.

    • @anshulrao2373
      @anshulrao2373 3 года назад +1

      @@mechatronicsninja3806 Thanks alot! Will try this out.. :)

  • @bobinzzzz
    @bobinzzzz 4 года назад +1

    Hi there ninja, thank you for this video. I have one question though, my coppelia sim is not showing the Kuka KR16 Robot, how can i add it?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад +2

      The Coppelia sim doesn't have the KR16 model. In order to add it to your library copy the model below in this folder: C:\Program Files\CoppeliaRobotics\CoppeliaSimPro\models
      obots
      on-mobile
      drive.google.com/file/d/10MJJjJnlsu7tfVybL6a8fKyT05Po1XSX/view?usp=sharing.
      I usually use VREP where I can easily export my robot as models (.ttm). I don't know if this option still exist with Copellia sim or not.
      I would like to remember you also that this model is not provided by Kuka and it is a personal try.

  • @user-id2xr7fh7n
    @user-id2xr7fh7n Год назад

    Hello Sir, can you do a pick and place application in Simulink, please?

  • @dennismartey6325
    @dennismartey6325 5 лет назад +1

    when i run them individually i get this error" Error in moveL (line 4)
    [r,p]=vrep.simxGetObjectPosition(clientID,target,-1,vrep.simx_opmode_blocking);"
    gripper.m error says "Error in gripper (line 3)
    [r,p1]=vrep.simxGetJointPosition(clientID,j1,vrep.simx_opmode_blocking);"
    pick_and_place error says"Error in pick_and_place (line 13)
    if (w

    • @mechatronicsninja3806
      @mechatronicsninja3806  5 лет назад

      Hi Dennis , text me on Facebook :
      facebook.com/Mechatronics-Ninja-1601353846600883/

    • @Unsoiled7
      @Unsoiled7 4 года назад

      @@sergeyramzaev7336 Same problem here. Did you find a solution?

  • @fengkangying4094
    @fengkangying4094 4 года назад +1

    Hello Ninja, thanks for sharing! I've been following your guidance for months and successed to achieve the same work with KR AGILUS, now I'm trying to pick up an object with iiwa, in this process I need to change the orientation of the target dummy, for example, fposition1(1.0,-0.5,0.7,pi,0,0), however it results in strange peformance, do you have any suggestions? Looking forward to your reply!

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      Glad to know it helped someone. The moveL function don't take in consideration the dummy orientation, so some line of codes must be added. If you find difficulties, I recommend using the RMLmove function directly on vrep and trigger the movement on maltlab using signals . Or you can add a path that the dummy can follow.

    • @fengkangying4094
      @fengkangying4094 4 года назад

      @@mechatronicsninja3806 Thanks,no wonder the robot performs strangely. Now it can move to the desired target after I chose the DLS calculation method, however it moves so slowly and trembles. I will try to follow your advice about using RMLmove function. By the way, is it complex to add some needed lines in the moveLfunction?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      I did this project a long time ago and I don't think that it is hard, l think what will bother you the most is shoosing the shortest direction. For example if the angle is at 175 and you want to go to -175 , you have two ways , whether by passing throw 0 degree and making 350 degree or simply by making only 10 degree of orientation if you convert -175 to +185.
      These are only guesses.

  • @hajiraaqeel1091
    @hajiraaqeel1091 4 года назад

    hey, just wanted to ask if wecan change the link lengths or other parameters of our manipulator through vrep code?

  • @PriyaGupta-vm8pj
    @PriyaGupta-vm8pj 3 года назад +1

    Hey I have done same as u did everything..and its working fine but when the gripper comes to the object it's not getting open and not grabbing object...please can you help me...please

    • @PriyaGupta-vm8pj
      @PriyaGupta-vm8pj 3 года назад +1

      I have to do it manually...open and close

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад +1

      Hi Priya, the most effecient way, is faking the gripping (detailed in the description)

    • @PriyaGupta-vm8pj
      @PriyaGupta-vm8pj 3 года назад +1

      Yes Sir...But u have code in vrep via Lua.. can you help me how to do it in matlab i want to do same as you did sir plzz help me if possible...

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад +1

      As far as I know, the same functions exists for Matlab. Or you can write a script in lua and trigger it using signals

    • @PriyaGupta-vm8pj
      @PriyaGupta-vm8pj 3 года назад +1

      @@mechatronicsninja3806 if you have that script can u sent me in mail
      priyagupta9915@gmail.com
      Because i am New to Lua and Matlab..and i am trying to understand both..so if possible please sent

  • @jaisonjoseph9691
    @jaisonjoseph9691 3 года назад

    Hi. How to fake the gripping. The box is falling when the gripper moves the box from postion3 to 5. Does increasing the force of the gripper prevent it from falling? If yes, how to increase the force?

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад

      Hi you can fake the gripping by making the box as a child to the gripper or the robot flange. I used this in this video (at minute 29:24) :
      ruclips.net/video/9X8QVcuJvQ4/видео.html&ab_channel=mechatronicsNinja

    • @jaisonjoseph9691
      @jaisonjoseph9691 3 года назад

      @@mechatronicsninja3806 thank you Ninja for your reply. I would like to know how I can do it from MATLAB using remote API? Or do I have to create a script in coppeliasim and then call that script from MATLAB? If that is the only way, it would be great if you could tell me how to do that. Thanks in advance. Also this video had helped me solve the problem related to combining specialobjectproperty using '+' instead of 'and' 'or'. When I search in their remote API functions, it doesn't mention about using + .

  • @user-kd4zg2kz8f
    @user-kd4zg2kz8f 3 года назад

    Hello! what equation did you use when writing the MATLAB program? Please.

  • @muhammadhaziqzuhdibinsohai7345
    @muhammadhaziqzuhdibinsohai7345 3 года назад

    i followed all steps properly. after completin the main script, then running simulation at vrep, the box stops at the sensor. but the robot does nothing. (it only do the tip to target one only then stopped working). it does not pick up the box and place on table. how to solve this problem?

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад

      if it is not working, you can force the box to be a child of the gripper (parents) (deactivate the dynamic behavior).

  • @azozalshateri5029
    @azozalshateri5029 3 года назад +1

    Thank you so much sir for this amazing work in the video, I appreciate that.
    I have a little problem and I hope you can help me with it. I did all the work the same as you did, but the problem was with the gripper.
    The cube was big for the gripper, and I solved it by decreasing the size of the cube. The second problem that I did not know how to solve it is when the gripper pick up the cube, the cube slips from the gripper and falls down. You said in the comments that I should increase the friction coefficients of the gripper fingers and I do not know how to increase it.
    Could you show me how to edit the friction coefficients of the gripper fingers?

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад +1

      Hi, Thank You. The most efficient way for gripping an object is by faking the gripping.
      When you want to grip a cube, make it static and then make it as a child to the robot flange (or gripper). I used this method in this video at minutes (29:00) :
      ruclips.net/video/9X8QVcuJvQ4/видео.html
      I don't know if these functions exist for MatLab API. If it is not available, you create a similar script in LUA and then trigger it in MatLab using 'SIGNALS' . For more details about signals search for sim.setIntegerSignal , sim.getIntegerSignal etc....

  • @eminagrali6635
    @eminagrali6635 4 года назад

    Very useful work. So how can we send data from V-rep to MATLAB? for example, how to send graphical data.

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      If you have a script that runs in parallel with your Matlab code You can use signals (global variables) to send float, integer, string ...
      This a small example that shows how to get an integer from vrep to Matlab using signals:
      drive.google.com/drive/folders/1WOOFr4BEIm55C8hcHOYAh5VPFcNipK4z?usp=sharing
      For sending graphical data, I have no idea if there are dedicated functions

  • @smitdumore1064
    @smitdumore1064 3 года назад

    can i connect GNU octave to Vrep instead of Matlab ? thank you

  • @fh6169
    @fh6169 4 года назад

    Hii thank you for your video ! is it possible to get the code with the implementation directly on V-rep?
    Do you plan to make a video on this subject?
    Thank you in advance,

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      You're welcome. Yes you can. Choosing whether you want to implement your code directly on vrep(using Lua) or using another language depend on the complexity of what you are trying to accomplish and what language you are familiar with.
      Just keep in mind when using another language that not all vrep functions are available (RMLmove for example), and this may cause a delay.
      If you have any suggestions for animation please tell me so that I can add it to my list.

  • @williamhuang5329
    @williamhuang5329 2 года назад

    Hanzhen harmonic drive gear , robot joint , over 30 years experience

  • @latifabourras7196
    @latifabourras7196 4 года назад +1

    hello! THANK YOU!
    i did all the steps of the video and the other videos but at the end the robot does not take the part

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      If you have difficulties in gripping the box I recommend :
      - decreasing the weight of the box.
      - increase the gripper joints velocities.
      - increasing the friction coefficient of the gripper fingers.
      - fake the gripping (13:30)

  • @jaykumar664
    @jaykumar664 3 года назад

    Hey great video, I was wondering if there is a way to assign colors to the cubes that are being generated. Thanks

  • @saadwaqar7003
    @saadwaqar7003 4 года назад

    Hey, thats an amazing tutorial. I have got a scene which is very similar to this, but the proximity sensor is NOT detecting anything at all. I have made the boxes detectable just like you did. Please respond, thanks!

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад +1

      maybe because of the sensor offset (double click on the sensor>Show Volume Parameters >Offset[m] > 0)

    • @saadwaqar7003
      @saadwaqar7003 4 года назад

      @@mechatronicsninja3806 Thank you for the reply. I changed the offset and tried everything, even it doesnt read the conveyer from side, (it detects it from top/bottom), so I tried literally everything.
      Then I resorted to using a vision sensor! :D

  • @oshoriameolorife420
    @oshoriameolorife420 4 года назад

    Hello, thanks for this tutorial. I followed every step in the video but when I run the simulation it just zooms into the world scene. What can I do about that?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      You're welcome. Make sure in your code that you don't mess up with the default camera (DefaultCamera). Also, verify that it didn't track any object:
      drive.google.com/file/d/1xAdVzizeu12Ju6nPqaHpV-cA1eUSGnqe/view?usp=sharing

  • @Master-vr2hr
    @Master-vr2hr 4 года назад

    Hi ninja....can I place the target dummy anywhere or it should be specific?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад +1

      *The target dummy is the dummy that the robot tip dummy will follow during simulation, it should be inside the workspace of the robot.
      *Also, you should start your simulation from a non-singular position. (starting a simulation where the target dummy is close to tip dummy is recommended ).

  • @martinprinceton9858
    @martinprinceton9858 4 года назад

    Hello Ninja, I tried reproducing the code in Matlab. Everything was right till I ran the code. It doesn't display anything in Matlab and the robot doesn't move at all

    • @martinprinceton9858
      @martinprinceton9858 4 года назад

      I did some fixes and my camera rather moved to a point near the conveyor. But the robot was not moving at all

  • @guibss_
    @guibss_ 2 года назад

    Hi ninja can you help me please, after i've done the part of tip and target and simulated to see the result, the robot does go to the location of the target but the gripper doesn't close, it just kind of opens a little bit more
    The simulation i did was the same you did in 10:06

    • @mechatronicsninja3806
      @mechatronicsninja3806  2 года назад

      As I said in the description, the most efficient way is faking the gripping by making the box as a child to the gripper. When you want to grip a cube, make it static and then make it as a child to the robot flange (or gripper). I used this method in this video at minutes (29:00) :
      ruclips.net/video/9X8QVcuJvQ4/видео.html
      I don't know if these functions exist for MatLab API. If it is not available, you create a similar script in LUA and then trigger it in MatLab using 'SIGNALS' . For more details about signals search for sim.setIntegerSignal , sim.getIntegerSignal etc....

  • @lovrobebic1447
    @lovrobebic1447 4 года назад +1

    Hello Ninja, when I run main_code.m Matlab returns :'Note: always make sure you use the corresponding remoteApi library
    (i.e. 32bit Matlab will not work with 64bit remoteApi, and vice-versa)' , but my version of Matlab is 64bit. Can you give some advice how to solve this problem?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      Hi, I advise you to watch carefully this tutorial:
      ruclips.net/video/7Z01cRw_i5E/видео.html
      I think your problem is at minute 1:00 of that video there are two folders 32Bit and 64Bit. make sure that you copied the remoteApi.dll that exists on the 64Bit folder.

    • @lovrobebic1447
      @lovrobebic1447 4 года назад

      @@mechatronicsninja3806 Thank You very much for help. Now I have another problem, when I start simulation end effector doesn't grab boxes and doesn't move, but my target dummy moves on the fposition 1, 4, 3, 5 and 6.What I am doing wrong? Thanks in advance for Your reply.

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      @@lovrobebic1447 I recommend "faking the gripping " (more details are illustrated on the description of this video (Notes) )

    • @lovrobebic1447
      @lovrobebic1447 4 года назад

      @@mechatronicsninja3806 HI, can Yout tell me in wich group(Scene hierarchy)between 10:00 and 10:21 'target' dummy is moved? Thank you for your patience, I am truely begginer
      .

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      ​@@lovrobebic1447 For this tutorial, the Target dummy is not moved to any group, it is linked to "tip" dummy so that it will follow it 8:51. I hope that I answer your question. If not, please give more details about your problem

  • @jonathanobredor262
    @jonathanobredor262 4 года назад

    hello , would it be posible to embeed the Matlab code into simulink? i'm developing a complex controller and I would like to detect collision, do Dynamic calculations and other things with v-rep(coppeliaSim). hope to hear from you!

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      * Hi Jo o, I think it's possible, but I didn't do any project using simulink.
      Try to add your matlab function in a block like this:
      ruclips.net/video/8gkHCdWAFx4/видео.html
      * For collision detection search for :
      res = sim.checkCollision(partA ,PartB)

  • @athanasiosloukas9855
    @athanasiosloukas9855 4 года назад

    Hi Ninja. Very nice video. Quick question. I used a UR3 and tried the tip-target IK connection as in your video, every step of the way. When I start the simulation though, the tip/end effector does not follow the target, even after I deleted the default child script of UR3. Am I missing something?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      Hi Loukas,
      I don't Know what you are missing because I don't have your file.
      1- did you Linked the two dummies ? changed the joints to the IK mode ? ....
      I made this example for you, it's up to you now to figure out what is missing by comparing the two projects:
      drive.google.com/file/d/1Sph29KFFJp2wlF1CN294NrHAwlmAXShp/view?usp=sharing

    • @athanasiosloukas9855
      @athanasiosloukas9855 4 года назад

      @@mechatronicsninja3806 Thank you so much. It works now. Can I ask you something else though? I tried using a for loop with your moveL function in it, trying to execute a whole path with a UR3 model. But it only executes the first iteration. I also tried the function, it works better but in a discrete way, so not recommended for servoing. Have you tried a for loop for your function?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      @@athanasiosloukas9855 I created moveL function because I didn't find a function that can move the robot smoothly directly from Matlab.
      I personally recommend using RMLmove functions (like sim.rmlMoveToPosition) directly in vrep, and trigger all the moves using signals( search for sim.setIntegerSignal and sim.setIntegerSignal , getFloatSignal ....).

  • @arduinobot932
    @arduinobot932 2 года назад

    Sir how to remove yellow color path when sumulating (not the blue color path )

    • @mechatronicsninja3806
      @mechatronicsninja3806  2 года назад

      You can send me your project in fb or buymeacoffee to see how to disactivate this display

    • @arduinobot932
      @arduinobot932 2 года назад +1

      @@mechatronicsninja3806 thank you for your reply 👌👌, i figured it out how to disable it 👍👍👍

  • @TheCanelator
    @TheCanelator 3 года назад

    Excuse me, I have two problems,
    1) My gripper isn't closing
    2) The Box is maybe too heavy
    How can I solve those two problems (Did every step following the video)

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад +1

      1) delete the gripper script on coppeliasim.
      2) fake the gripping ( Read description)

    • @user-uk5rf5jc8i
      @user-uk5rf5jc8i 3 года назад

      @@mechatronicsninja3806 hello, I met the same problem Alan has just met, can you give me some more details about coping with grippers? how to make it close? thanks a lot!

    • @user-uk5rf5jc8i
      @user-uk5rf5jc8i 3 года назад

      @@mechatronicsninja3806 and can you give some more details about fake the gripping? I read the script, don' t understand it very well, thanks a lot~

  • @renato11xxx
    @renato11xxx 3 года назад

    hi, what version of coppelia did you use in this video?

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад

      Hi, I don't remember, but it's an old version.
      Please note that Coppelia updated The IK configuration for the 4.2.0:
      Now you can add a script to do so :
      -- Simple way:
      local simBase=sim.getObjectHandle('redundantRobot')
      local simTip=sim.getObjectHandle('redundantRob_tip')
      local simTarget=sim.getObjectHandle('redundantRob_target')
      -- create an IK environment:
      ikEnv=simIK.createEnvironment()
      -- create an IK group:
      ikGroup_undamped=simIK.createIkGroup(ikEnv)
      -- set its resolution method to undamped:
      simIK.setIkGroupCalculation(ikEnv,ikGroup_undamped,simIK.method_pseudo_inverse,0,6)
      -- create an IK element based on the scene content:
      simIK.addIkElementFromScene(ikEnv,ikGroup_undamped,simBase,simTip,simTarget,simIK.constraint_pose)
      -- create another IK group:
      ikGroup_damped=simIK.createIkGroup(ikEnv)
      -- set its resolution method to damped:
      simIK.setIkGroupCalculation(ikEnv,ikGroup_damped,simIK.method_damped_least_squares,1,99)
      -- create an IK element based on the scene content:
      simIK.addIkElementFromScene(ikEnv,ikGroup_damped,simBase,simTip,simTarget,simIK.constraint_pose)
      Or simply copy the script of the '7 DOF manipulator that you can find under 'robots > non-mobile. And then, modify the tip, target, and base handles

  • @jaykumar664
    @jaykumar664 3 года назад +1

    Hey I had another question, I tried opening and closing the gripper using a matlab script but when I run the script it does nothing drive.google.com/file/d/1e9dmblrtsP7abl3wL-lW-MLUKR5350eV/view?usp=sharing

    • @eldertomazinho2838
      @eldertomazinho2838 3 года назад +1

      you need to delete the gripper code in copelia script

    • @jaykumar664
      @jaykumar664 3 года назад

      @@eldertomazinho2838 Thank you, that worked.

    • @user-uk5rf5jc8i
      @user-uk5rf5jc8i 3 года назад

      hi, I also delete the gripper code in copelia script and it works now, it can close and open but the shape is strange, I mean it only moves the end of the gripper, didn't work in the same way as it was first added to the scene

  • @Master-vr2hr
    @Master-vr2hr 4 года назад

    Hi ninja if my robot not picking up the cube what should I do?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      then,Fake the gripping by making the box as child to the robot flange or any part of the gripper. I test it directly on vrep and works. More details on the video description.

  • @rafaelestrada7750
    @rafaelestrada7750 3 года назад

    Hi there ninja, mi robot dont take te cube, what is the problem?

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад

      Hi, as descriptible on the description, the best way to grab the cube is by faking the gripper. Try it.

  • @leeping9847
    @leeping9847 4 года назад

    which previous video of your show the matlab and v rep connection ?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      ruclips.net/video/7Z01cRw_i5E/видео.html

    • @leeping9847
      @leeping9847 4 года назад

      @@mechatronicsninja3806 64 bit matlab cannot use ?

  • @kv7656
    @kv7656 3 года назад

    hi ninja you said wiyhout using matlab we can do the same by using only vrep where is tht video can u pls share it?
    the link?

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад

      Yes , you can do all the staff directly on CoeppeliaSim using LUA. I didn't make a video for this.

    • @kv7656
      @kv7656 3 года назад

      @@mechatronicsninja3806 can u please share that

  • @slseeker4738
    @slseeker4738 2 года назад

    how can we make an image on the table ,using those cuboids

    • @mechatronicsninja3806
      @mechatronicsninja3806  2 года назад +1

      I don't know exactly what you mean by that.
      If you want to create an image by arranging cubes close to each other like this :
      ruclips.net/video/Q3970OOxtdk/видео.html
      , you can change the cube texture each time you add it to the conveyor:
      www.coppeliarobotics.com/helpFiles/en/textureDialog.htm

    • @slseeker4738
      @slseeker4738 2 года назад +1

      @@mechatronicsninja3806 thank you so much ❤️

    • @mechatronicsninja3806
      @mechatronicsninja3806  2 года назад

      You're welcome

  • @pengweizang3373
    @pengweizang3373 4 года назад

    Master ninja, I have another question that why my gripper is not facing down after simulation started although it is set to face down in the scene, may I have any suggestions?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      If you set the IK mode, the "tip" dummy (attached to the robot) will follow the "target" dummy. When the simulation start, the "tip" dummy will move to the "target" position and orientation.
      I think your "target" dummy is not well oriented.
      Notes: the tip will not follow the target dummy orientation if at 9:30 Alpha-Beta and Gamma are unchecked.

    • @pengweizang3373
      @pengweizang3373 4 года назад

      mechatronics Ninja Thank you! But now my gripper is only able to close a little bit when it picks up the block, do you know why is this?

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      maybe you should increase "SetjointTargetvelocity". In fact the gripper function is the same fonction made in the default gripper script. So, if you have problem with it, just trigger the gripper using signals. it is more easier and a better way. (this is my school project and as I said in the description it is not optimized but works very well)
      Read the description for more details.

    • @pengweizang3373
      @pengweizang3373 4 года назад

      @@mechatronicsninja3806 I did increase the setjointTarget Velocity and friction coefficient, and decrease the box weight, why my box sometimes slipping down? What could be the thing I was doing wrong?

    • @user-uk5rf5jc8i
      @user-uk5rf5jc8i 3 года назад

      @@pengweizang3373 hello,我也是遇到了这个问题,增大摩擦,减小重量还是会滑,请问你解决了吗

  • @paulsp3358
    @paulsp3358 4 года назад

    Podrian hacer una lista de los videos que hay que seguir para poder hacer la simulacion.

    • @mechatronicsninja3806
      @mechatronicsninja3806  4 года назад

      Before trying to do the simulation, you have to learn how to connect vrep with Matlab :
      ruclips.net/video/7Z01cRw_i5E/видео.html

    • @jaifaral-busaidi3503
      @jaifaral-busaidi3503 4 года назад

      @@mechatronicsninja3806 Can I have ur help please, need to create a robot to pick the objects to two different places ?

  • @dimastrisaptaji4641
    @dimastrisaptaji4641 3 года назад

    helo master, I have a question, how can Matlab read the conveyor speed data set in Coppelia? I hope you can help me to answer the research problem of my final project. thank you very much for your time

    • @dimastrisaptaji4641
      @dimastrisaptaji4641 3 года назад

      please help me. I will make this video tutorial as literature review from my research. May all the goodness and knowledge that you give can be rewarded by God GBU masteeerrrr
      sincerly,
      dimas tri saptaji

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад

      @@dimastrisaptaji4641 you can transfer any data between Matlab and CoppeliaSim using 'signals'.
      In Coppelia, save your variable in a signal sim.setFloatSignal('varName',yourvariable). Save it in a loop if it is not constant.
      In matlab , read it using this function : simxGetFloatSignal()
      I hope I answered your question. Glad to help. Feel free to share with me your project report when you finish it.

    • @dimastrisaptaji4641
      @dimastrisaptaji4641 3 года назад

      @@mechatronicsninja3806 thank you very much for your help, I will report the final results of my research. may I ask for your email, so that I can report my research results to you but I still have a new problem, I think Coppeliasim version 4.1 on my laptop cannot be run. like there is info "leaving"

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад

      Try to re-install it.

    • @dimastrisaptaji4641
      @dimastrisaptaji4641 3 года назад

      @@mechatronicsninja3806 I have tried, but it didn't work. one last question again master, do I have to make a conveyor function in matlab?

  • @mengyu6523
    @mengyu6523 4 года назад +1

    Hi Ninja, thank you for your great tutorial! But I kinda got stuck at the inverse kinematics part, when I set up tip, target, and everything and run the program, the robot just started to move crazy, but it works well when I remove the gripper, do you know what might cause this problem? Please help! Really appreciate it!!

  • @elenimanouskou7512
    @elenimanouskou7512 5 лет назад

    how to insert the box on the conveyor belt?

    • @mechatronicsninja3806
      @mechatronicsninja3806  5 лет назад

      Hi Elena, there are two solutions for that :
      1- If you want to add a few boxes , right click on the scene , and then : add >> primitive shape > cuboid
      2- If you want to generate an infinite number of boxes using a Lua script , take a look at 10:15

  • @sunnyluffy7706
    @sunnyluffy7706 3 года назад +1

    is it possible to provide the whole simulated file?

    • @sunnyluffy7706
      @sunnyluffy7706 3 года назад

      How do you calculate degrees?

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад

      @@sunnyluffy7706 I didn't program the orientation, instead of using this method, I recommend programming all robot paths in CoppeliaSim and triggering it in Matlab using signals. Or simply use the followPath functions.

    • @sunnyluffy7706
      @sunnyluffy7706 3 года назад

      ​@@mechatronicsninja3806
      I am unable to get ROBOTIQ 85 to work automatic ,
      How should I fix it?

  • @Hamzakhan1o
    @Hamzakhan1o 3 года назад

    Which version is it?

    • @mechatronicsninja3806
      @mechatronicsninja3806  3 года назад

      it's an old version. I don't remember exactly which version. If you are using the new version 4.2.0, the IK configuration in 7:20 changed, please refer to the official CoppeliaSim for that:www.coppeliarobotics.com/help...

  • @wellintongsalan1012
    @wellintongsalan1012 4 года назад

    excellent video... can send me the all files of your project please...