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 t...

Setup hotspots for raspberry pi 3

RPI3_HOTSPOTS 1. Features: Can install while wlan0 is connected to network. easy to switch betwwen stattion mode and hotspot mode. can share internet between eth0 and wlan0, can be config to share with wlan1 or ... 2. Introduction: This tutorial will guide you steps to setup the Wifi module of raspberry pi 3 work with Station and Access Point mode, you can easily switch between station mode and AP mode. Setup: git clone https://github.com/quangthanh010290/RPI3_HOTSPOTS.git sudo ./install.sh 3. Test: Station mode: sudo sta [SSID] [password] - Connect to a network with specific ssid name and password ,example: sudo sta mySSID myPass Station mode: sudo sta - Connect to a network with saved ssid name and password ,example: sudo sta AP mode: sudo ap [SSID] [pass] - Create an wifi hotspot with specific ssid and pass ,example: sudo ap my_ssid 12345678 AP mode: sudo ap [SSID] - Create an wifi hotspot with specific ssid and no pass ,example: sudo...

Native Dynamixel Library for Matlab

Hi everyone, In order to use the powerful of Matlab Toolboxes  and Simulink . I'm going to build a native library to control the Dynamixel Motors from Matlab directly. Dynamixel Motor My Source Code:  https://github.com/quangthanh010290/Dynamixel I. Using Dynamixel SDK     - Step 1: Create Class            o  = MyDynamixel();     - Step 2: Initialize the serial port            o.portNum = 16;            o.baudNum = 1;            o.init()     - Step 3: Add dynamixel motor base on their IDs            o.addDevice(5);            o.addDevice(16);     - Step 4: Set Speed for dynamixel (optimal, can use default setup)           ...