PID Controller for a Robot Manipulator in MATLAB 2021 | RST | SimScape

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

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

  • @EliGanji-f4y
    @EliGanji-f4y Месяц назад

    I've watched your videos, they have been amazing and a great help to me. In controlling the SCARA robot that I have designed, I want to input a step signal into the input of my 3-signal system, but I'm not exactly sure what data to enter in the signal editor under the time and data sections. Do I need to perform any specific calculations to apply a step input?
    these are my data:

    x=[1.412,0.8696,1.412,1.412,1.821,1.545,1.8312.382,1.412]
    y=[-3.142,-2.088,-3.142.-3.142,-3.142,-2.31,-3.142,-3.142,-3.142]
    z=[-0.086,-0.086,-0.086,-0.186,-0.186,-0.186,-0.186,-0.386,-0.086]
    t=[0,1,1.5,2,3,4,4.5,5,6]

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

    Thank you! Many videos of you help me so much.

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

    Amazing! I´m watching righ now the second video about inverse kinematics. The first one was awesome! For two years I´ve trying to understand RST and I couldn´t, but with your videos it makes so easy! I´ll hope I can keep imprpving my skills, but I´m so gratefull with you!🦾🤖

  • @OmS-m4g
    @OmS-m4g 2 месяца назад

    Firstly Thank you so much for such detailed videos!!!
    And Second, I am Facing a lot of errors in the movement of the arm can you please help me?

    • @LearningOrbis
      @LearningOrbis  2 месяца назад

      Thank you. Kindly contact us through email and we will try to help you out.

  • @memr8814
    @memr8814 6 месяцев назад +2

    Thank you so much!

  • @merdanozkahraman5577
    @merdanozkahraman5577 Год назад +1

    Thank you for your videos, I find them very useful. There is one point in this video that puzzled me. In the PID block, while the reference and inputs seem to be angular positions, the output appears to be torque as there is a 't' in the subsystem input. Could the output of the PID block also be an angular position?

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

      The output of the controller depends on the system that is attached after it. Currently, the robot after the PID block requires torque input that is why the controller has been tuned to produce torque, whereas if the robot required position commands the controller would have been tuned to give angular position output.

  • @zewdalemabebaw6771
    @zewdalemabebaw6771 Год назад +1

    An amazing video, keep it up. I have a question, If I want to apply an SMC controller for a dynamically modeled robot manipulator in MATLAB simscape what will I do to design the controller? Can I control only the joint motors through SMC or must I bring the mathematical equations of the robot dynamics to control the modeled robot in simscape?

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

      You don't need dynamic equations of the robot if you have robot's model in simscape. You only need to implement the SMC.

  • @sampreetimazumdar9595
    @sampreetimazumdar9595 5 месяцев назад +1

    Sir, can you share the simulink files you're using in this video? Because my trapezoidal velocity generation block is showing some error along with the matlab code. It would be helpful if I could compare with the actual files .

    • @LearningOrbis
      @LearningOrbis  5 месяцев назад

      You can find the files here: www.mathworks.com/matlabcentral/fileexchange/114195-autotuning-of-pid-controller-for-a-non-planar-manipulator

    • @sampreetimazumdar9595
      @sampreetimazumdar9595 5 месяцев назад

      Thank you

  • @AbdulRahman-jz3px
    @AbdulRahman-jz3px 2 года назад

    Your video is very interesting! thank you for making this. I have a question, if I want to apply it to Robot in real, is the mathematical modeling of the actuator also considered or only dynamic modeling of the robot to design the PID? and how do I get the real value of joint velocity and acceleration on the robot?

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

      It depends on the motor controller you are using. For real robots motor controllers can control robot through kinematics and/or dynamics, yo just have to configure it. As for the real vales of joint velocity and acceleration, you have to use a feedback sensor, mostly an encoder.

    • @AbdulRahman-jz3px
      @AbdulRahman-jz3px 2 года назад

      @@LearningOrbis Thank you, Looking forward to another interesting video from you

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

    Thank you for your video sir, i would like to like is that the Ziegler-Nichols method can be used on finding Kp, Ki, Kd for 2 link manipulator?

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

      Yes it can be used but for that you have model the robot on your own.

  • @wp5075
    @wp5075 10 месяцев назад

    Thanks for the video. When I try this auto-tuning on my planar 2 DoF robot arm, I get very large value for controller parameters and the result is also not following the reference signal. How can I fix this issue?

    • @LearningOrbis
      @LearningOrbis  10 месяцев назад

      Try to change the initial conditions and stability criteria of the slTuner.

  • @anikbiswas9875
    @anikbiswas9875 8 месяцев назад

    how to use mpc block same to same ?can u plz help me ?

  • @anikbiswas9875
    @anikbiswas9875 8 месяцев назад

    sir how to use model predective control ?

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

    Sir it will be helpful if you can upload the computer torque method video this week

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

      I will try my best, but because of my busy schedule it may take 4 to 5 days.

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

      @@LearningOrbis Can you share the github link for that if you have already done that.

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

    Would you like to see our school project about this topic? I think that together we can optimize some commands.🤞🏼

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

      I would be happy to. You may email me the details.

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

    OK. Cool, very good. How do we proceed to control a manipulator robot with fuzzy logic please ?

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

      That is a completely different topic and shall be covered in some future video.

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

      @@LearningOrbis Ok ok. In fact I would really like to learn how to command a manipulator robot using artificial intelligence. For example fuzzy logic. I am very eager to see your next video... Thanks 🙏🙏🙏

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

      @@LearningOrbis we are patiently waiting for such future videos Sir, may Allah bless you make ur life easy and happy

    • @زينعلي-ي8ط
      @زينعلي-ي8ط Год назад

      1+

  • @postgenomicera2097
    @postgenomicera2097 9 месяцев назад

    Hello Sir. You didn't show the inside of the subsystem "Robot" also in the previous videos. How can I get the qdm and tm outputs?

    • @LearningOrbis
      @LearningOrbis  9 месяцев назад

      Yes there is a complete playlist. In previous videos I have explained how to create robot and other blocks and then in later videos I have shown things related to trajectory generation and robot control

  • @anikbiswas9875
    @anikbiswas9875 8 месяцев назад

    sir ,i write same code but a error is creating.what is the solution ?

  • @ryidgilani8987
    @ryidgilani8987 11 месяцев назад

    Hi Sir, does this method show time history of joint positions and torques and of tip position error? I watched the video but i want to make sure.

    • @LearningOrbis
      @LearningOrbis  10 месяцев назад

      Yes the graphs being generated are the ones you are asking.

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

    Thanks for the video
    We're working on something similar but with 4DOF robot
    We tried to do the PID control optimization similar to what we saw in the video
    Yet it's not working for us
    Also, we would like to know how we get tau for the tuning goal
    Waiting for your response
    God bless you

    • @LearningOrbis
      @LearningOrbis  2 года назад +2

      I've used the same thing for my 5DOF manipulator and a 7 DOF manipulator as well. Tau is the time constant in case of a step response. You should be using step input to all joints, but if you want a varying trajectory control, then unfortunately PID cannot give you the desired response. For that you have to implement a feedforward block as well. I'll describe that thing in my next video.

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

      Can you share your work pls

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

    Can you please do a video about impedance control (with external force, I mean ) with these manipulators?

  • @AP-ig5pi
    @AP-ig5pi Год назад

    When I try to run the simulation it gives me an error related to the inputs, I have my joint inputs individually as(Q1, Q2, etc.) for my 4 joints on the robot, but when I make the sub system with the PD controller and signal maker, it gives me that error. Are your robot inputs set up differently from your previous tutorial videos? I've been kind of stuck on this part.

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

      If number of inputs or type of the inputs doesn't match your robot then it will give the error related to the inputs. If you can share the exact error, then I might be able to help you concretely.

  • @Manwithanax112
    @Manwithanax112 8 дней назад

    Is this PID nonlinear model ?

    • @LearningOrbis
      @LearningOrbis  2 дня назад +1

      The attached robot is nonlinear, PID is being used to control the nonlinear system

  • @anikbiswas9875
    @anikbiswas9875 8 месяцев назад

    is code is applicable to polynomial trajectory block?

    • @LearningOrbis
      @LearningOrbis  8 месяцев назад

      Yes, it has nothing to do with how you are providing the trajectory.

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

    If I make PID controller model after inverse kinematics model for 4 DOF robot, will be that ok. Or I have to apply all previous model before this video. I will be waiting for your response. Thank you

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

      You can make PID controller and Inverse Kinematics block.

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

      Can you share what u did?

  • @khalidkarra8679
    @khalidkarra8679 10 месяцев назад

    Hello Sir ; thank you a lot for this instructing videos ; I tried to reproduce the same work and it gave me two problems:
    + the first one when I begin simulation (I have set some values of the PID), The robotic arm behaved crazy unstable with random motion ;
    + The second problem ; when I tried to use the optimization algorithm you've presented It gives me an error :" Error using slTuner/looptune
    In "looptune(sllin,...)" command, the point specified by
    "Robotic_arm4_at_zeropositions/Robotic_arm_4_PID/Thetasreal" does not match any of the existing ones:
    Robotic_arm4_at_zeropositions/PID 1/1
    Robotic_arm4_at_zeropositions/PID 2/1
    Robotic_arm4_at_zeropositions/Robotic_arm_4_PID/1
    Robotic_arm4_at_zeropositions/Inverse kinematics equations of the robotic arm1/ SFunction /2[Theta1d]
    Robotic_arm4_at_zeropositions/Inverse kinematics equations of the robotic arm1/ SFunction /3[Theta2d]

    • @ahmedhisham6467
      @ahmedhisham6467 9 месяцев назад

      I got the same error too, have you managed to fix it?

    • @LHannah-in7hi
      @LHannah-in7hi 6 месяцев назад

      This is because those signal lines are not named, they are the default 1 2 3.

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

    I have a doubt,how to give torque to robot arm

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

      You have to change the Actuation method from the settings of all the joints. Moreover, you should change the signal of Simulink-to-PS converter to give N.m as output.

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

    Can i use different controller instead of PID ( example : sliding mode controller)

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

      Yes, of course you can.

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

      @@LearningOrbis HOW ?

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

      There is no built-in block for implementing Sliding Mode Control in MATLAB. You have to implement it from scratch, on your own.

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

    Awesome, Thanks can you share the code link ?

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

      All the files and codes are available at Mathworks.
      www.mathworks.com/matlabcentral/fileexchange/114195-autotuning-of-pid-controller-for-a-non-planar-manipulator

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

    Can you share the code for autotuning PID gains?

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

      I've given it in the video. If you still can't figure it out, kindly drop me an email at learningorbis@gmail.com. I'll reply you there.

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

    Can you help me
    When i try to tuned code
    This message appeare
    Creating sltuner and configuring it
    Create sltuner interface

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

      Go through the PID tuner code again. You might be missing the initial lines that create the sltuner.

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

      %% creating sltuner and configuring it
      % create sltuner interface
      TunedBlocks = {'PD1','PD2'};
      ST0= slTuner('sm_test1_PID',TunedBlocks);
      %mark outputs of pid block as plant input
      addpoint(ST0,TunedBlocks);
      %mark joint angle as plant outputs
      addpoint(ST0,'robot/qm');
      %mark reference signals
      RefSignals ={...
      'sm_test1_PID/Signal Builder/q1', 'sm_test1_PID/Signal Builder/q2'};
      addpoint(ST0,RefSignals)
      %% defining input and output and tunning the system
      Controls =TunedBlocks; %auctator commands
      Measurements = 'sm_test1_PID/qm'; %joint angle measurements
      Options = looptuneOptions('RandomStart',80,'UseParallel',false);
      TR = TuningGoal.StepTracking(RefSignals,Measurements,0.05,0);
      ST1 = looptune(ST0,Controls,Measurements,TR,Options);
      %% update pid block
      WriteBlockValve(ST1)

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

      This is my code idon't know where is the problem

    • @anikbiswas9875
      @anikbiswas9875 8 месяцев назад

      @@remonremon1234 my problem is same .can u give any proper solution ?

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

    Is it a non linear system? I can not tune pid why is this problem creating??

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

      Yes it is a non-linear system. We haven't linearized it.

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

      @@LearningOrbis but my main focus is to controller design what can i do brother?

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

      @@LearningOrbis is there any option to linearize it?

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

      Yes. Kindly view my video on Computed Torque Control, present in the same playlist. In that we use forward dynamics to linearize the system and then using a simple PD controller we can control the robot.

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

      @@LearningOrbis but is there any option to tuning this??just like using pid tuning app?

  • @anikbiswas9875
    @anikbiswas9875 11 месяцев назад

    Code is creating error any solution ?

    • @LearningOrbis
      @LearningOrbis  11 месяцев назад

      If you can share the error then I may be able to help you.

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

    can i find this code ?

  • @anikbiswas9875
    @anikbiswas9875 8 месяцев назад

    plz can u reply?