Skip to content

Commit 580953e

Browse files
originale
1 parent 18e4603 commit 580953e

File tree

185 files changed

+31965
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

185 files changed

+31965
-0
lines changed

Doriot_04.pdf

683 KB
Binary file not shown.

HorseVaulting.pdf

483 KB
Binary file not shown.

INSTALL_matlab.TXT

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
--------------------------------------------------------------------
2+
version 2.2a October 2009 tested with matlab matlab 7.6.0.324 R2008a
3+
--------------------------------------------------------------------
4+
5+
To install SPACELIB follows the instruction contained in the manual section 2.1
6+
7+
As an alternative unzip the files in a directory of your choice, for instance
8+
9+
c:\users\spacelib_m
10+
11+
and you can add the following two lines to file startup.m contained in the matlab directory:
12+
13+
addpath c:\users\spacelib_m
14+
spacelib
15+
16+
the string 'c:\users\spacelib_m' should be replaced with the pathname of the directory where you install spacelib in your computer.
17+
18+
see information in README.TXT
19+
20+
21+
--------------------------------------------------------------------
22+
alternative installation procedure
23+
24+
1) Copy all the files in a directory of your choice
25+
2) Run matlab, and from the main menu choose "File>Set Path..."
26+
3) Select the directory in which SpaceLib is installed and press "add with subfolders"
27+
4) Press "save"
28+
5) press "Close"

README_matlab.TXT

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
--------------------------------------------------------------------
2+
version 2.2a October 2009 tested with matlab matlab 7.6.0.324 R2008a
3+
--------------------------------------------------------------------
4+
Information on the last patches at the end of this file
5+
--------------------------------------------------------------------
6+
What is SPACELIB(c)?
7+
SPACELIB is a software library useful
8+
for the realization of programs for the kinematic and dynamic
9+
analysis of systems of rigid bodies.
10+
This library is currently used in ROBOTICS and BIOMECHANICS.
11+
It has been developed at the Mechanical Engineering Department
12+
of the University of Brescia.
13+
14+
Two versions of the library are currently available
15+
(see http://bsing.ing.unibs/~glegnani for code, description and user's manual):
16+
17+
* c language (numerical computetion)
18+
* matlab (numerical computation)
19+
* MAPLEV (symbolic manipulation)
20+
21+
The library is offered with:
22+
23+
* full source code
24+
* a full reference manual
25+
* commented application examples
26+
* papers describing the mathematic theory which
27+
is at the base of spacelib
28+
29+
The functions contained in the library are devoted to:
30+
31+
* basis operations on matrices
32+
sum, product, (pseudo)inversion, ...
33+
* basic operation on points, lines and planes
34+
line between two points
35+
plane defined by three points
36+
intersection / projection of point, lines on planes
37+
...
38+
* basic operation on vectors
39+
module, dot product, cross product, ...
40+
* tranformation matrices (rototranslations)
41+
* velocity and acceleration matrices
42+
* Cardan/Euler angles
43+
tranformation of angles to/from rotation matrices
44+
derivative of angles to/from angular velocity and acceleration
45+
* linear systems
46+
47+
The library is intended as an aid in writing programs for the
48+
analysis of systems of rigid bodies following a particular
49+
methodology based on 4*4 matrices. This approach can be
50+
considered a powerful generalization of the Transformation
51+
Matrix Approach proposed by Denavit and Hartenberg.
52+
Shortly: the position and the orientation of each body is
53+
represented by 4*4 transformation matrices.
54+
Two others matrices called W and H are utilized for the velocity
55+
and the acceleration (linear and angular).
56+
Additional matrices are used for the momentum, forces, torques,
57+
inertia.
58+
59+
The main feature of this methodology is that it allows the
60+
development of the analysis of systems of rigid bodies in a
61+
systematic way simplifying the symbolic manipulation of equations
62+
as well as the realization of efficient numerical programs.
63+
64+
--------------------------------------------------------------------
65+
patch NOVEMBER 2001
66+
67+
the function mod() has been renamed modulus() to avoid conflict with the
68+
function mod() contained in the new MATLAB versions
69+
--------------------------------------------------------------------
70+
patch FEBRUARY 2003
71+
72+
Some bugs fixed.
73+
74+
And also improved compatibility with release 12.
75+
Some functions worked well with previous versions but failed with version 12 (e.g. functions dist() and mod() had to be renamed to avoid conflics, some vector converted to row to column, logical operator precedence checked, etc...)
76+
77+
Some minor bugs have been also corrected.
78+
--------------------------------------------------------------------
79+
patch OCTOBER 2003
80+
81+
Some bugs fixed.
82+
Improved documentation
83+
--------------------------------------------------------------------
84+
patch JANUARY 2004
85+
86+
Manual improved and supplied in PDF format.
87+
88+
Some bugs fixed.
89+
Functions normal, normal_g and psedot added.
90+
Functions solve renamed to ovid conflicts with Matlab version 12.
91+
92+
--------------------------------------------------------------------
93+
patch november 2005
94+
95+
manual restyled and extended
96+
minor bugs fixed
97+
few new funtions added (dhtomstd, psedot, crosstom, translat, translat2, translat24)
98+
99+
--------------------------------------------------------------------
100+
patch October 2009
101+
102+
minor bugs fixed
103+
eliminated problems with lower/upper case mismatching
104+
simplified installation
105+
--------------------------------------------------------------------
106+
107+
The library is free avalailable for non-profit activities including
108+
scientific and educational purposes.
109+
See also the "disclaimer warranties" statment in the manual.
110+
111+
For commercial activities please contact:
112+
Giovanni Legnani
113+
Universita di Brescia
114+
Dip. Ing. Meccanica
115+
Via Branze 38
116+
25123 Brescia, Italy.
117+
118+
phone +39/030 3715425
119+
fax +39/030 3702448
120+
121+
e-mail: giovanni.legnani @ ing.unibs.it
122+
www: http://bsing.ing.unibs/~glegnani
123+
www: http://spacelib.ing.unibs.it

SPACELIB.asv

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
2+
%___________________________________________________________________________
3+
%
4+
% HEADER FILE SPACELIB.M (November 2005)
5+
%
6+
% In this file are defined all the constants that are used by the
7+
% SPACELIB functions. These constants are memorized in global variables.
8+
%
9+
% HEADER FILE USAGE:
10+
%
11+
% 1) If this M-file is invoked by the matlab command window or by the
12+
% matlabrc.m file, all the global variables are automatically loaded
13+
% in memory (see user's manual).
14+
%
15+
% Typing the istruction "who global", MATLAB displays the list of the global
16+
% variables loaded in memory.
17+
%
18+
% 2) Every function that uses the global variables, must include the header
19+
% file 'spheader' in the first line of the program (see chapter 2.1 of the
20+
% user manual).
21+
%
22+
% 3) The directories containig SPACELIB are assigned to global variables
23+
% and the default directory is set accordingly.
24+
%
25+
% WARNING 1: The global variables defined in this of the constants defined in
26+
% the header file have special meaning for many SPACELIB functions.
27+
% Their value MUST NOT changed at any time.
28+
%
29+
% WARNING 2: there is a line similar to this
30+
%
31+
% spc_lib_dir='c:\users\spacelib_m' % spacelib directory
32+
%
33+
% that MUST be updated to match your installation!!!
34+
%________________________________________________________________________________
35+
36+
37+
clc
38+
39+
%___________________________________________________________________________
40+
%
41+
% GLOBAL VARIABLES DECLARATION:
42+
%___________________________________________________________________________
43+
44+
spheader % declare global variables
45+
46+
%___________________________________________________________________________
47+
%
48+
% GLOBAL VARIABLES INITIALIZATION:
49+
%___________________________________________________________________________
50+
51+
X=1; Y=2; Z=3; U=4;
52+
53+
Xaxis = [1 0 0]';
54+
Yaxis = [0 1 0]';
55+
Zaxis = [0 0 1]';
56+
57+
Xaxis_n = [-1 0 0]';
58+
Yaxis_n = [0 -1 0]';
59+
Zaxis_n = [0 0 -1]';
60+
61+
ORIGIN=[0 0 0 1]';
62+
63+
Rev =0; Pri = 1;
64+
Tor =0; For = 1;
65+
SYMM_ =1; SKEW_ =-1;
66+
Row =0; Col = 1;
67+
68+
OK=1; NOTOK=0;
69+
70+
PIG=pi;
71+
PIG_2=pi/2;
72+
PIG2=2*pi;
73+
74+
NULL3=zeros(3);
75+
NULL4=zeros(4);
76+
UNIT3=eye(3);
77+
UNIT4=eye(4);
78+
79+
%___________________________________________________________________________
80+
%
81+
% GLOBAL DIRECTORIES DECLARATION:
82+
%___________________________________________________________________________
83+
84+
% ***-----> the following line MUST be updated to match your installation!!!
85+
%spc_lib_dir='C:\Users\Utente\Documents\Spacelib\SpaceLib_Matlab_v2.2' % spacelib directory
86+
% *** the update of the string is no longer necessary in this new version
87+
% (october 2009)
88+
89+
90+
p = mfilename('fullpath'); % name of the m-file
91+
[spc_lib_dir, name, ext, versn] = fileparts(p); %automatically update the string
92+
93+
spc_lib_dir_f=[spc_lib_dir,'\function'] % functions
94+
spc_lib_dir_s=[spc_lib_dir,'\shortexa'] % short examples
95+
spc_lib_dir_b=[spc_lib_dir,'\bigexa'] % big examples
96+
97+
tmp0=strfind(matlabpath,spc_lib_dir);
98+
tmp1=strfind(matlabpath,spc_lib_dir_f);
99+
tmp2=strfind(matlabpath,spc_lib_dir_s);
100+
tmp3=strfind(matlabpath,spc_lib_dir_b);
101+
102+
if (isempty(tmp1) |...
103+
isempty(tmp2) |...
104+
isempty(tmp3))
105+
matlabpath([matlabpath,';', spc_lib_dir,';', spc_lib_dir_f, ';',spc_lib_dir_s,';', spc_lib_dir_b]);
106+
end
107+
108+
clear tmp1 tmp2 tmp3
109+
%tmp= ['cd ',spc_lib_dir]; % patch November 2005
110+
%eval(tmp);
111+
%clear tmp;
112+
113+
%___________________________________________________________________________
114+
%
115+
% PRINT "HEADER":
116+
%___________________________________________________________________________
117+
118+
119+
fprintf('\n___________________________ SPACELIB ___________________________\n')
120+
fprintf(' VERSION 2.2\n')
121+
fprintf(' A software library for\n')
122+
fprintf(' the kinematic and dynamic analysis\n')
123+
fprintf(' of systems of rigid bodies.\n\n')
124+
fprintf(' Includes general functions for vectors, matrices,\n')
125+
fprintf(' kinematics, dynamics, Euler angles and linear systems\n\n')
126+
fprintf(' (c) G.LEGNANI B.ZAPPA R.ADAMINI 1990 - 2005\n\n')
127+
fprintf(' MATLAB� version with the cooperation of C.MOIOLA and D.MANARA\n')
128+
fprintf(' University of Brescia - Mechanical Engineering Department\n')
129+
fprintf(' Via Branze 38, 25123 BRESCIA, Italy\n')
130+
fprintf(' e-mail: giovanni. legnani @ ing.unibs.it\n')
131+
fprintf(' www:http://bsing.ing.unibs.it/~glegnani\n\n')
132+
fprintf(' SPACELIB� loaded in workspace\n')
133+
fprintf('\n');
134+
fprintf(' bug fixed January 2004 and November 2005 (tested wih matlab 6.0.0.88 release 12)\n');
135+
fprintf(' see readme.txt and user''s manual for release notes\n');
136+
fprintf('___________________________________________________________________________\n')
137+
138+
cd
139+
who global

SpaceLib-BASES.PDF

47.7 KB
Binary file not shown.

SpaceLib-Bases-MATRIX-1.PDF

107 KB
Binary file not shown.

SpaceLib-Bases-MATRIX-2.PDF

117 KB
Binary file not shown.

SpaceLib_MatLab_manual.pdf

1.41 MB
Binary file not shown.

bigexa/ELBOW.DAT

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
1.5
2+
0.8
3+
0.8
4+
0.2
5+
0.0
6+
0.2

0 commit comments

Comments
 (0)