Python controlled robot arm: part 1

Поділитися
Вставка
  • Опубліковано 25 сер 2024
  • With the help of inverse kinematics, I was able to make a simple pick and place machine. In this version of the software, it's still necessary to define the coordinates of the piece of foam manually. I am planning to eliminate this and use video images to define the exact location.
    Code:
    github.com/NNa...
    Tinkerkit Braccio robot arm:
    store-usa.ardu...

КОМЕНТАРІ • 63

  • @SYNAPSEdwl
    @SYNAPSEdwl Рік тому +14

    Great job! I am currently working on a project of my own robot, I started with the simplest thing, I programmed forward kinematics. The next step is inverse kinematics.

    • @tombackhouse9121
      @tombackhouse9121 Рік тому +1

      Keep at it pal, IK is a satisfying nut to crack. You'll never be happier to see something move in a straight line!

    • @seginim9576
      @seginim9576 Рік тому

      @@tombackhouse9121 power of maths

    • @kingsleyekechukwu8229
      @kingsleyekechukwu8229 Рік тому

      is it possible to link the coding u used i am stuck in the coding of my robot
      @BoGu

  • @rockman1942
    @rockman1942 Рік тому +1

    ARMS:whats the purpose of my life? Me: you move stuff

  • @LEBJJ
    @LEBJJ 23 дні тому

    I need a high perform laptop for it ?

  • @crazylongjumper95
    @crazylongjumper95 Рік тому +3

    A question: is there a way to know the value of the force that the gripper should exert in order to correctly grasp the object?

    • @NathanNaerts
      @NathanNaerts  Рік тому +3

      Yeah it's possible, but not with this setup. The gripper is actuated by a cheap servo which can't be force controlled.
      A robot arm with such actuators, sensors and accuracy gets expensive real quick.
      You should look up: closed loop force control robot arm

    • @handlesarefeckinstupid
      @handlesarefeckinstupid Рік тому +1

      You could use pressure switches/ sensors on a feedback loop on the fingers the robots I have used had them to ensure correct grip. Some of the simpler ones had microswitches and servos set to torque.

  • @filbertfuraha
    @filbertfuraha 2 місяці тому

    please where can we find prev_teta.txt it's not linked in the repository

  • @davidegrasso3480
    @davidegrasso3480 Рік тому +1

    Hi Natan, can you please tell me where to find the "prev_teta.txt" file? I'm having some problems running the code due to this file, that apparently my pc cannot find.

  • @kaloanneichev3353
    @kaloanneichev3353 Рік тому +1

    Worked , thanks a lot!

  • @PhG1961
    @PhG1961 Рік тому

    Waw, dit is echt schitterend !!

  • @jichen6516
    @jichen6516 Рік тому +1

    This is a great project. I love it. I would like to integrate it into a robotics course. May I know the dimension of the wood board and also the measurements of grid you set it up. are 100, 200 and 300 marked on the board 100mm, 200mm, 300mm?

  • @abdelmajedmuktar3015
    @abdelmajedmuktar3015 2 роки тому +5

    It's one of my dreams to create my own robot, not just a robot arm but a really robot

  • @qtuan4070
    @qtuan4070 3 місяці тому

    Can you let me know what is the list hardware is used in this project, thanks sir

  • @llbrandoxgtll6811
    @llbrandoxgtll6811 2 роки тому +2

    I would like to learn how to do that compensation thing to get to exactly the same point... that's with the Control Theory course, right?... programming in python would also be part of this course?... or how come is that achieved? Excellent project friend, success.

    • @NathanNaerts
      @NathanNaerts  2 роки тому +1

      Thanks!
      The baclash compensation is actually quite simple. You just need to log previous operations of the arm. E.g. when the previous operation was CCW for the base servo, i now that the play is 3 degrees. So my next rotation that is CW, I just need to add an extra 3 degrees to the motor command. Try looking up backlash compensation.

  • @REALVIBESTV
    @REALVIBESTV Рік тому

    Why do the servo motors make so much loud noise?

  • @muhammadmohidfarooq456
    @muhammadmohidfarooq456 2 місяці тому

    Can i get the code??

  • @williamhuang5329
    @williamhuang5329 2 роки тому +1

    Hanzhen harmonic drive gear , robot joint , strain wave reducer, over 30 years experience

  • @carlliljedahl3499
    @carlliljedahl3499 2 роки тому +1

    How did you compensate the play in the components? Are you able te get encoder data from the servos? Any other compensations done? Thanks :)

    • @NathanNaerts
      @NathanNaerts  2 роки тому +2

      No, i did an 'optical calibration' since the servo closed feedback postioning loop was off. I tried to match my positiong command to real servo angle that was created. E.g. o motor position of 93 degrees resulted in an effective arm position of 90 degrees. So, each time i needed an angle of 90 degrees, i write 93 to the motor.

    • @NitinSharma-so9hg
      @NitinSharma-so9hg Рік тому +1

      @@NathanNaerts Did you use optical encoder .

    • @unaivirtolapitz7701
      @unaivirtolapitz7701 Рік тому +1

      @@NitinSharma-so9hg Not exactly. In this case, "optical calibration" means doing it aproximately by eye.

  • @chakerbellili2441
    @chakerbellili2441 6 місяців тому

    I am working on my graduation project: “automation of fusible insertions by a robot.” When I follow this work, can I control the robot automatically to know each piece and place it in its appropriate place?

    • @NathanNaerts
      @NathanNaerts  6 місяців тому

      It should work

    • @chakerbellili2441
      @chakerbellili2441 6 місяців тому

      Plz where i find the description of this code

    • @NathanNaerts
      @NathanNaerts  6 місяців тому

      @@chakerbellili2441 There is no full documentation for the code. There is some explanation in the code itself. See description for the code.

  • @waveboardteamturkey
    @waveboardteamturkey 3 місяці тому +2

    hi man, We are from Turkey.
    We are doing our Senior design project. We confused a lot and stucked in so many. If you would help us about our project. We would be so thankfull. We are waiting for your response.
    ps: Our topic is the exactly what you did in the video.

    • @NathanNaerts
      @NathanNaerts  3 місяці тому

      What is the problem?

    • @waveboardteamturkey
      @waveboardteamturkey 3 місяці тому

      @@NathanNaerts can ı add you on discord sir?

    • @NathanNaerts
      @NathanNaerts  3 місяці тому

      @@waveboardteamturkey sorry i'm not on discord

    • @waveboardteamturkey
      @waveboardteamturkey 3 місяці тому

      If you have any communication app or social media, I can add you. We need help and would like to accept your assistance.

    • @waveboardteamturkey
      @waveboardteamturkey 3 місяці тому

      @@NathanNaerts if you have any communication app or social media we would like to meet up with you. We need very much help.

  • @chrishofland264
    @chrishofland264 2 роки тому +2

    Hi, nice work, do you have a code to share...

    • @NathanNaerts
      @NathanNaerts  2 роки тому +1

      I uploaded the code to Git. Link in description.

  • @judsondunne4075
    @judsondunne4075 2 роки тому

    Currently having this issue when running any inverse kinematic function ("go to" or move vertically":
    AttributeError: module 'solverNNA' has no attribute 'move_to_position_cart'
    Any idea of what I should do

    • @judsondunne4075
      @judsondunne4075 2 роки тому

      I believe it is an issue with the get previous teta as it darkened up where I imported it. I am not sure what to do from here

  • @junaidmalik7140
    @junaidmalik7140 Рік тому

    how should i run the code?

  • @neonicblader
    @neonicblader Рік тому

    What type of micro controller are you using and what programming ide

    • @NathanNaerts
      @NathanNaerts  Рік тому

      I write the code in Python (VScode). The microcontroller is an Arduino.

  • @tag_of_frank
    @tag_of_frank Рік тому

    Have you used ROS? Do you recommend pure python over ROS?

    • @NathanNaerts
      @NathanNaerts  Рік тому +1

      No I haven't. It's on my to do list to try it out.

  • @oldrepublic7251
    @oldrepublic7251 Рік тому

    Great project. Do you think in use opencv?

  • @user-pl5yj1gs6u
    @user-pl5yj1gs6u Рік тому

    Brother I want to get why have you written one-twentieth of code using C++?

    • @NathanNaerts
      @NathanNaerts  Рік тому

      Just to communicate with the Arduino. The arduino receives input from the python script to send the motor commmands.

    • @user-pl5yj1gs6u
      @user-pl5yj1gs6u Рік тому

      @@NathanNaerts are there nice courses explaining how to program in this field?

    • @NathanNaerts
      @NathanNaerts  Рік тому

      I recently used DatacCamp to learn a bit more about using Pandas. I can recommend the platform, it is really good!

  • @Pyramid1501
    @Pyramid1501 Рік тому

    Code is linked but missing BraccioRobot.h and Position.h?

    • @NathanNaerts
      @NathanNaerts  Рік тому

      I don't think you need this in order to make it work? Or where do you see this?

    • @Pyramid1501
      @Pyramid1501 Рік тому

      @@NathanNaerts in your github you linked, in the folder with the .ino file that you upload to the arduino. It includes these files but they are not in the github?

    • @NathanNaerts
      @NathanNaerts  Рік тому

      @@Pyramid1501 Ah sorry, yes indeed. You can add these libraries through the 'library manager' of your python IDE.
      docs.arduino.cc/software/ide-v1/tutorials/installing-libraries

    • @Pyramid1501
      @Pyramid1501 Рік тому

      @@NathanNaerts yeah thanks for the tutorial but where can I download these libraries

  • @judsondunne4075
    @judsondunne4075 2 роки тому

    Could you maybe link code.

    • @NathanNaerts
      @NathanNaerts  2 роки тому

      I uploaded the code to Git. Link in description.

  • @muhriddintashlanov4538
    @muhriddintashlanov4538 Рік тому

    👌👏👏👏👏

  • @ritikadiwekar8670
    @ritikadiwekar8670 Рік тому

    Plz share me code 🥺🥺 tell me where I find code of this???