-
Notifications
You must be signed in to change notification settings - Fork 70
/
Copy pathRead Me.txt
165 lines (155 loc) · 9.05 KB
/
Read Me.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# Mohammad SAFEEA 16th-April-2018
-------------------------------
KUKA Sunrise Toolbox for Matlab
--------------------------------------------------------------------------
A Toolbox used to control KUKA iiwa 7/14 R 800/820 robots from an external computer using Matlab.
Such that no knowledge about programming the industrial manipulator is required.
A knowledge of using Matlab is required.
--------------------------------------------------------------------------
Video tutorials are available:
https://www.youtube.com/watch?v=_yTK0Gi0p3g&list=PLz558OYgHuZdVzTaB79iM8Y8u6EjFe0d8
--------------------------------------------------------------------------
Hardware required:
1- The kuka iiwa 7 R 800 robot, or kuka iiwa 14 R 820.
2- External PC
3- An Ethernet network between PC and the robot shall be established.
--------------------------------------------------------------------------
Software required:
A- on the PC side, you need the following:
1- Matlab.
2- The KST Toolbox, provided in the folder ((Matlab_client)) of github.
B- on the controller side, you need:
1- KUKA sunrise project, or its source code, please refer to document
((Import KST to SunriseWorkbench.pdf)) for more info.
--------------------------------------------------------------------------
To utilize the Toolbox:
A- You have to configure the robot controller:
1- Follow the steps listed in ((Import KST to SunriseWorkbench.pdf)).
2- Synchronise the project ((KST_X.XX)) to the robot.
3- After Synchronising, run the ((MatlabToolboxServer)) application from the smart pad,
once run the utilizer can connect to the robot from a remote PC using Matlab.
B- To use the Toolbox from Matlab:
1- Open Matlab
2- From the Command window of Matlab , Navigate to the Toolbox folder,
folder ((Matlab_client)).
3- Run the file, ((kuka0_move_lin.m)), for testing:
Once executed, the robot will go to an initial configuration,
then the end-effector shall move 50 mm in the X direction, starting from the initial configuration
, then it shall return back to the initial configuration
then it will move 50mm up in the Z direction, then it returns back to its initial configuration.
-----------------------------------------------------------------------
The toolbox was used successfully for real time control of collaborative robotic cell
with collision avoidance capacity, video in links:
Collision avoidance with dynamic objects:
https://www.youtube.com/watch?v=s0uUsSoDoxM
Case study, collision avoidance in automobile industry:
https://www.youtube.com/watch?v=mHhYHzWPqCc
https://www.youtube.com/watch?v=xrr78QzLHaU
-----------------------------------------------------------------------
In case you got trouble using the realtime functionality in position control mode,
You can try one of the following solutions:
** Reconfigure your PC, and KST server:
A- PC side: Disable the nagle algorithm and the Throtelling as descriped in the
((Tips and tricks)) folder of the github rpo.
B- Use a blending function inside KST server:
1- Open the KST_x.xx project
2- Go to the class: MatlabToolboxServer.java
3- Change the body of the function
double getTheDisplacment(double dj)
{
return dj;
}
to
double getTheDisplacment(double dj)
{
double a=0.07;
double b=a*0.75;
double exponenet=-Math.pow(dj/b, 2);
return Math.signum(dj)*a*(1-Math.exp(exponenet));
}
** Switch to velocity control mode
You can use KST_1.6 and upper to control iiwa in a velocity control mode.
In such a case you can use a position feed back from the robot, and implement a controller
for position control, this will result in smooth motion, without a need for disabling the
nagle algorithm and the throtelling. An example is provided in the repo please refer to
the matlab script ((Tutorial_softRealTimeJointsVelControl.m))
-----------------------------------------------------------------------
Note: After running the server ((MatlabToolboxServer)) on the controller,
the utilizer has 60 seconds to connect using Matlab, otherwise
the server will turn-off automatically.
-----------------------------------------------------------------------
Other example files are also provided, example scripts are:
kuka0_circles: in this example the manipulator perform circular motions
kuka0_directServo: real-time control of the robot joints from remote PC.
kuka0_directServoCartesian: real-time control of the robot EEF position/orientation
in Cartesian space from remote PC.
kuka0_do_some_stuff: demonstrates how to use the some of the Toolbox functionalities
kuka0_getters: how to acquire data from robot
kuka0_longTest: long test, same as (kuka0_do_some_stuff) repeated over several cycles
kuka0_move_lin: move robot in linear motions, using remote PC
kuka0_move_lin_relative: move robot in linear motion
kuka0_move_ptp: perform point to point motions using remote PC
kuka0_move_sequare: move along a sequare
kuka0_gampade_EEFPosControl: example of integrating external hardware (gamepad)
with the KST for realtime control of the manipulator.
In this example the iiwa robot is controlled in realtime
using a gamepad controller, the example is in the folder
(realtimeControlOfEEFGamePad) of the github
repository.
For this example the robot is controlled at end-effector
level.
kuka0_gampade_jointsPosControl: example of integrating external hardware (gamepad)
with the KST for realtime control of the manipulator.
In this example the iiwa robot is controlled in realtime
using a gamepad controller, the example is in the folder
(realtimeControlOfJointSpaceUsingGamePad) of the github
repository.
For this example the robot is controlled in joint space.
kuka0_handGuidingExample: example on the use of the hand guiding functionality of
the toolbox.
kuka0_preciseHandGuidingExample:an example on using the precise handguiding functionality,
this is not the same as KUKA handguiding. The precise hand guiding
is a dedecated functionality (controller) that was establised to
achieve precise hand guiding at end-effector level.
Using this functionality the user can move the EEF in three groups of motion
1- Linear motion along the X,Y or Z axes of the base.
2- Pivoting motion, for orienting the EEF in space
3- Rotation of the EEF around its axes
This controller offers a smooth/precise motion in Cartesian space, allowing
the user to acheive a pin-point positioning accuracy.
kuka0_iiwa_vrep: This example is used for controlling KUKA iiwa from Vrep simulator.
kuka0_moveOnEllipticalTrajectory:
This example is used to demonstrate how to utilize the point to point
motion functions on an elliptical curve, the functions are able to draw
an entire ellipse or a part of an ellipse.
kuka0_ptpPickPlacePhisicalInteraction:
This example is used to demonstrate the physical interaction functionalities provided by the KST.
The example demonstrates a pick and place cell, where the coworker interacts physically with the robot.
kuka0_realTimeImpedancePlotTOrqueFeedBack:
This prgoram is used to control the robot in real-time at impedence mode, at the same
time, the program acquires the joints torques and plots them in a graph.
-----------------------------------------------------------------------
Important: be sure that the robot is well fixed to the table.
Make sure that there is no one around the robot, and make sure that there is enough space around the robot
And be sure that no collision will occur.
Important: The Toolbox is provided as is, the utilizer can use it under his/her own and total responsibility.
No guarantee is provided.
Note: The Toolbox was tested extensively using KUKA iiwa 7 R 800 manipulator, the Sunrise software version
used is Sunrise.OS 1.11.0.7.
On the PC-MATLAB side, the toolbox was tested successfuly on wide range of MATLAB-versions and PCs.
For more infomrations about the tests perfomed, please refer to the document ((Validity of toolbox.pdf)),
this deocument is provided in the root folder of the github repository of the KST toolbox.
-----------------------------------------------------------------------
Important: When the functions ((sendJointsPositions.p and sendJointsPositionsf.p))
of the direct servo are used, for real time motion servoing,
the utilizer shall take care of proper motion planning generation.
Otherwise, and according to the manufacturer, a high-frequency oscillations
of the robot (whistling, buzzing) may occur this can cause damage to the robot.
-------------------------------------------------------------------------
Important:
The toolbox was tested extensively in the robotics Lab at University of Coimbra.
Even though be careful when using the toolbox functionalities, We can not be held
liable for any collision or for any property damage.
--------------------------------------------------------------------------------
THE SOFTWARE IS PROVIDED AS IS FREE OF CHARGE, THE AUTHOR DOES NOT TAKE ANY LIABILITY WHAT SO EVER
IN CASE OF DAMAGE OR INJURY.