Skip to main content

Modeling - simulation - design - Control a Robot Arm

After finishing the blog "Control a Dynamixel Motor from Matlab", I'm going to make a project : Robot Arm, My plan is:
1. Modeling a Robot base on Denavit–Hartenberg parameters
2. Solve the kinematic and invert kinematic equation.
3. Simulate the kinematic and kinematic equation
4. Design the model on Solidwork and export the model to simulink model.
5. Trajectory design, test on real robot.



1.Modeling a Robot base on Denavit–Hartenberg parameters
- I'm going to design a 4-DOF robot arm.

- Now we will put the coordinator to each link base on Denavit–Hartenberg method.

- Now we have the D-H table
2. Solve the kinematic and invert kinematic equation.
       2.1 Kinematic equation.
  • Transform matrix from coordinates(n) to coordinates(n+1)          

  • Transform matrix from coordinates(0) to coordinates (n).


  • We will use roll-pitch-yaw angle to illustrate  the orientation of coordinates(n) to the coordinates(0)
.RPY (Φa, Φo, Φn) = Rot (a, Φa). Rot (o,Φo). Rot (n,Φn)

with:

  • For clearly we have:
     2.2 Invert kinematic equation.
    • Assume that we have a 2 links 2 joints robot

2 links 2 joints robot
    • Coordinates of point B:

    • The derivative:


=


  • From above equation we have the Jacobi matrix:
  • Now we can calculate the changing of joints variable from the changing of position 



  • the J matrix is not always a square matrix, so we cannot calculate the invert matrix J^-1. So we use Levenberg-Marquardt method to get the invert matrix of non-square matrix.
  • We have solved the kinematic/invert kinematic equation of the 4-DOF robot. Now let go to code and simulate on Matlab.
3. Simulate the kinematic and kinematic equation

  • Simulate the kinematic of  4-DOF robot arm


  • Simulate the invert kinematic of 4-DOF robot arm


4. Design the model on Solidwork and export the model to simulink model.

  • I'm going to create a 3D model on solidwork and export to Matlab simulink
Design 3D model on Solidwork

  • Export to *.xml file and import to matlab
3D model in Matab

5. Trajectory design, test on real robot.

Comments

  1. get me your documents. My mail: ngocthinh2194@hotmail.com; thanks you!

    ReplyDelete

Post a Comment

Popular posts from this blog

Mô Hình Hóa Và Điều Khiển Mô Hình Xe - Con lắc ngược (Cart and Pole)

Thông số của mô hình: 1.       Khối lượng thân xe : M=2.0 (kg) 2.       Khối lượng con lắc : m=0.1 (kg) 3.       Chiều dài con lắc : l=0.5( m) 4.         là góc lệch của con lắc theo phương thẳng đứng 5.       x : là chuyển vị của xe. 6.       u : input ngoại lực tác động lên xe. 7.       g=9,81 (m/s 2 )  gia tốc trọng trường . 8.       Hệ thống hoạt động trong môi trường tuyến tính. 9.       Chỉ đo được góc lệch con lắc và vị trí xe. 10. Có nhiễu tác động vào hệ thống. Nhiễu đo vị trí xe có phương sai là 0.01, nhiễu góc lệch con lắc có phương sai 0.001. 11. Sử dụng bộ lọc Kalman để ước lượng trạng thái và lọc nhiễu. Bài toán đặt ra: Bài toán đặt ra là thiết kế bộ điều khiển cho (U ) để con lắc luôn ở vị trí thẳng đứng.  Giải bài toán động lực học. -          Giải phóng liên kết, phân tích lực tác động vào hệ: (Nguồn

Make Raspberry Pi3 as an emulator bluetooth keyboard

IIntroduction Step 1: update and upgrade your system sudo apt-get update sudo apt-get upgrade Step 2: Install Git tool sudo apt-get install git-core Step 3: Clone My Repo git clone https://github.com/quangthanh010290/BL_keyboard_RPI Sep 4: Install cd B L_keyboard_RPI sudo ./setup.sh Step 5: Change the bluetooth name (Optional) open the boot.sh file and find the line ./updateName.sh ThanhLe_Keyboard Change the name you want, example ./updateName.sh Mlabviet_Keyboard Step 6: Reboot then Run the app sudo reboot ./boot.sh Step 7: Modify some bluetooth setting. - Open tmux and switch to Bluetooth Console tmux a - Input these params to the console agent on default-agent scan on discoverable on II. Video Comming soon: - Make RPI as a racing wheel Buy the prebuild image Code and images

Remove boot messages (all texts) in Raspberry Pi Jessie

1. Demo 2. Change rainbow splash screen sudo nano /boot/config.txt add this line to the end of file  disable_splash=1 check if this config take effect (optional) sudo reboot 3. Hide the Raspberry logo sudo nano /boot/cmdline.txt Add this line to end of file  logo.nologo check if this config take effect (optional) sudo reboot 4. Hide boot messages sudo nano /boot/cmdline.txt Add this line to end of file  quiet change console  console=tty1 --> console=tty3 check if this config take effect (optional) sudo reboot 5. Change splash screen copy your custom splash to home directory and replace raspberry's splash.png  sudo cp ~/splash.png /usr/share/plymouth/themes/pix/splash.png check if this config take effect (optional) sudo reboot 6. Hide the cursor Add this line to the file /boot/cmdline.txt vt.global_cursor_default=0 check if this config take effect (optional) sudo reboot 7. Advances and disadvances With this setup, almost logs are hidden, but there is some log that