Optical pick and place robot arm with ArUco markers: part 2

Sdílet
Vložit
  • čas přidán 2. 04. 2022
  • I extended the functionality of my Python controlled robot arm. With the use of ArUco markers, I was able to eliminate entering the coordinates of the position of the object. The pick and place robot arm now works based on optical feedback from my phone camera.
    Check out the first video on how I controlled the robot arm with Python.
    • Python controlled robo...
    Code:
    github.com/NNaert/Python-cont...
    Tinkerkit Braccio robot arm:
    store-usa.arduino.cc/products...

Komentáře • 22

  • @BenKohn2004
    @BenKohn2004 Před 2 lety +2

    Very well done. Excellent work.

  • @abhishekcr1312
    @abhishekcr1312 Před 2 lety +2

    Very nice!!!

  • @Gorec-Magic
    @Gorec-Magic Před rokem

    🌈 Very well done. Great job. I say too❗
    Continue... 🙂🙈

  • @jairjuliocc
    @jairjuliocc Před rokem

    Good video!. I have a similar robot arm, but I don't know how to start with inverse kinematics

  • @jaymondal1806
    @jaymondal1806 Před rokem

    🔥🔥

  • @ashikfahmin2776
    @ashikfahmin2776 Před rokem

    Can i use regular 6 dof robotic arm...??

  • @TECH-PLAYS975
    @TECH-PLAYS975 Před 6 měsíci

    how did you do the inverse kinematic to the arm?

  • @Qwassont-
    @Qwassont- Před rokem

    I found an aruco cube 4x each side Is it worth anything?

  • @art2314
    @art2314 Před rokem +1

    Hi, I’m working in a project with April tags for a robot, I’m in a FRC team and I’m interested if we can get some of your help, because the use of Aruco markers and Apriltags is a very new topic for us.
    Thank you so much!

    • @NathanNaerts
      @NathanNaerts  Před rokem

      Sure, take a look at my code in the comment section. If you have any questions, please ask :)

  • @abhishekcr1312
    @abhishekcr1312 Před 2 lety +2

    Is there a way i can get in touch with you??

  • @saberhossian7405
    @saberhossian7405 Před rokem

    "prev_teta.txt" file are missing i can't complete the project without this file.. please can you provide the file

    • @NathanNaerts
      @NathanNaerts  Před rokem

      You can just create an empty text file with the same name

  • @enzoflores6868
    @enzoflores6868 Před 3 měsíci

    how do you deal with the height of the object? Or did you just set a Z coordinate to make sure to get the piece?

    • @NathanNaerts
      @NathanNaerts  Před 3 měsíci +1

      Indeed, the Z-coordinate is a parameter in the code.

    • @enzoflores6868
      @enzoflores6868 Před 3 měsíci +1

      @@NathanNaerts Thanks you, i am working in a project where I need to get the XYZ coordinates in real world from a single camera. I didnt know about arUco markers... something interesting

  • @m.rben0006
    @m.rben0006 Před rokem

    I want to learn programming
    Which language is better C++ or Python

    • @NathanNaerts
      @NathanNaerts  Před rokem

      I like python more. You can find many courses online and don't need any hardware to program something cool.

  • @llOvercraftll
    @llOvercraftll Před rokem +1

    There are some important mistakes, that I saw you on your first video and still present several months later. Going further than using an arduino to send gcode to move servos or testing opencv, probably people here expect some work on the arm itself. The first section of the arm has to move in the opposite direction of the object to keep the center of mass near the base. The maximun distance is not what you get with all arms in line unless you add some counter weight, this is so wrong for that poor toy. You are making the arm even worse than the construction of the toy is itself. Second the movement need to have a PID control of the speed to avoid that shaking at the end of the move. The backslash can be correct if the last move of the 3 sections are possitive in direction of the object (not the joint to the arm), and not just moving all at the same time and don't calculate the finish time. Also when lifting an object, you cannot rotate just the base and lift it. You have to split the movements at least in 2 joins to lift and use more in the joins closer to the object than the base or better to spread the movement in the 3 joins with some weight calculation to avoid the shake even more. No excuses it's just foam. Also you are not lifting the object, just rotating it, and the object should lift straight and land straight witch is really easy to program. Instead of playing with opencv with cards that we are boring to see, use it to calculate if the finish move of the arm before dropping the object is correct. This is also done in the industry a lot, to have cameras to center with precision. After that adjust, check again and drop the object. This is the kind of things you probably need to figure out instead of running code fast and record a video to youtube. The 4:07 optical compensation is also wrong, it is just to calculate the height of the object, not a "optical issuse". Maybe you tried to talk about perspective but nothing in the drawing aims for that. Optical issue are related to the distorsion of the lens witch you didn't calculare, and probably doesn't matter for the precision it has. The poor code its even present when running the arm in the same loop that camera uses to refresh that makes it stop working, use threads instead that are also 2 lines in python. Get the ABC of robot arms before showing yours "move". Pretty much all you saw on the video it's useless in real scenario. Most of the people will say, oh you are a genius because they dont even know how to address it, but you have to focus more on the work itself than uploading videos of nothing. At least make the 300$ cost of the arm get some return in usufull concepts, otherwise you will learn the same with just a regular 2$ clone arduino, a 3$ pair of servos more spair foam, and a bot in a videogame with opencv. Sorry for the comment, i hope it helps more than it hurts.