-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
18e4603
commit 580953e
Showing
185 changed files
with
31,965 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
-------------------------------------------------------------------- | ||
version 2.2a October 2009 tested with matlab matlab 7.6.0.324 R2008a | ||
-------------------------------------------------------------------- | ||
|
||
To install SPACELIB follows the instruction contained in the manual section 2.1 | ||
|
||
As an alternative unzip the files in a directory of your choice, for instance | ||
|
||
c:\users\spacelib_m | ||
|
||
and you can add the following two lines to file startup.m contained in the matlab directory: | ||
|
||
addpath c:\users\spacelib_m | ||
spacelib | ||
|
||
the string 'c:\users\spacelib_m' should be replaced with the pathname of the directory where you install spacelib in your computer. | ||
|
||
see information in README.TXT | ||
|
||
|
||
-------------------------------------------------------------------- | ||
alternative installation procedure | ||
|
||
1) Copy all the files in a directory of your choice | ||
2) Run matlab, and from the main menu choose "File>Set Path..." | ||
3) Select the directory in which SpaceLib is installed and press "add with subfolders" | ||
4) Press "save" | ||
5) press "Close" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
-------------------------------------------------------------------- | ||
version 2.2a October 2009 tested with matlab matlab 7.6.0.324 R2008a | ||
-------------------------------------------------------------------- | ||
Information on the last patches at the end of this file | ||
-------------------------------------------------------------------- | ||
What is SPACELIB(c)? | ||
SPACELIB is a software library useful | ||
for the realization of programs for the kinematic and dynamic | ||
analysis of systems of rigid bodies. | ||
This library is currently used in ROBOTICS and BIOMECHANICS. | ||
It has been developed at the Mechanical Engineering Department | ||
of the University of Brescia. | ||
|
||
Two versions of the library are currently available | ||
(see http://bsing.ing.unibs/~glegnani for code, description and user's manual): | ||
|
||
* c language (numerical computetion) | ||
* matlab (numerical computation) | ||
* MAPLEV (symbolic manipulation) | ||
|
||
The library is offered with: | ||
|
||
* full source code | ||
* a full reference manual | ||
* commented application examples | ||
* papers describing the mathematic theory which | ||
is at the base of spacelib | ||
|
||
The functions contained in the library are devoted to: | ||
|
||
* basis operations on matrices | ||
sum, product, (pseudo)inversion, ... | ||
* basic operation on points, lines and planes | ||
line between two points | ||
plane defined by three points | ||
intersection / projection of point, lines on planes | ||
... | ||
* basic operation on vectors | ||
module, dot product, cross product, ... | ||
* tranformation matrices (rototranslations) | ||
* velocity and acceleration matrices | ||
* Cardan/Euler angles | ||
tranformation of angles to/from rotation matrices | ||
derivative of angles to/from angular velocity and acceleration | ||
* linear systems | ||
|
||
The library is intended as an aid in writing programs for the | ||
analysis of systems of rigid bodies following a particular | ||
methodology based on 4*4 matrices. This approach can be | ||
considered a powerful generalization of the Transformation | ||
Matrix Approach proposed by Denavit and Hartenberg. | ||
Shortly: the position and the orientation of each body is | ||
represented by 4*4 transformation matrices. | ||
Two others matrices called W and H are utilized for the velocity | ||
and the acceleration (linear and angular). | ||
Additional matrices are used for the momentum, forces, torques, | ||
inertia. | ||
|
||
The main feature of this methodology is that it allows the | ||
development of the analysis of systems of rigid bodies in a | ||
systematic way simplifying the symbolic manipulation of equations | ||
as well as the realization of efficient numerical programs. | ||
|
||
-------------------------------------------------------------------- | ||
patch NOVEMBER 2001 | ||
|
||
the function mod() has been renamed modulus() to avoid conflict with the | ||
function mod() contained in the new MATLAB versions | ||
-------------------------------------------------------------------- | ||
patch FEBRUARY 2003 | ||
|
||
Some bugs fixed. | ||
|
||
And also improved compatibility with release 12. | ||
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...) | ||
|
||
Some minor bugs have been also corrected. | ||
-------------------------------------------------------------------- | ||
patch OCTOBER 2003 | ||
|
||
Some bugs fixed. | ||
Improved documentation | ||
-------------------------------------------------------------------- | ||
patch JANUARY 2004 | ||
|
||
Manual improved and supplied in PDF format. | ||
|
||
Some bugs fixed. | ||
Functions normal, normal_g and psedot added. | ||
Functions solve renamed to ovid conflicts with Matlab version 12. | ||
|
||
-------------------------------------------------------------------- | ||
patch november 2005 | ||
|
||
manual restyled and extended | ||
minor bugs fixed | ||
few new funtions added (dhtomstd, psedot, crosstom, translat, translat2, translat24) | ||
|
||
-------------------------------------------------------------------- | ||
patch October 2009 | ||
|
||
minor bugs fixed | ||
eliminated problems with lower/upper case mismatching | ||
simplified installation | ||
-------------------------------------------------------------------- | ||
|
||
The library is free avalailable for non-profit activities including | ||
scientific and educational purposes. | ||
See also the "disclaimer warranties" statment in the manual. | ||
|
||
For commercial activities please contact: | ||
Giovanni Legnani | ||
Universita di Brescia | ||
Dip. Ing. Meccanica | ||
Via Branze 38 | ||
25123 Brescia, Italy. | ||
|
||
phone +39/030 3715425 | ||
fax +39/030 3702448 | ||
|
||
e-mail: giovanni.legnani @ ing.unibs.it | ||
www: http://bsing.ing.unibs/~glegnani | ||
www: http://spacelib.ing.unibs.it |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
|
||
%___________________________________________________________________________ | ||
% | ||
% HEADER FILE SPACELIB.M (November 2005) | ||
% | ||
% In this file are defined all the constants that are used by the | ||
% SPACELIB functions. These constants are memorized in global variables. | ||
% | ||
% HEADER FILE USAGE: | ||
% | ||
% 1) If this M-file is invoked by the matlab command window or by the | ||
% matlabrc.m file, all the global variables are automatically loaded | ||
% in memory (see user's manual). | ||
% | ||
% Typing the istruction "who global", MATLAB displays the list of the global | ||
% variables loaded in memory. | ||
% | ||
% 2) Every function that uses the global variables, must include the header | ||
% file 'spheader' in the first line of the program (see chapter 2.1 of the | ||
% user manual). | ||
% | ||
% 3) The directories containig SPACELIB are assigned to global variables | ||
% and the default directory is set accordingly. | ||
% | ||
% WARNING 1: The global variables defined in this of the constants defined in | ||
% the header file have special meaning for many SPACELIB functions. | ||
% Their value MUST NOT changed at any time. | ||
% | ||
% WARNING 2: there is a line similar to this | ||
% | ||
% spc_lib_dir='c:\users\spacelib_m' % spacelib directory | ||
% | ||
% that MUST be updated to match your installation!!! | ||
%________________________________________________________________________________ | ||
|
||
|
||
clc | ||
|
||
%___________________________________________________________________________ | ||
% | ||
% GLOBAL VARIABLES DECLARATION: | ||
%___________________________________________________________________________ | ||
|
||
spheader % declare global variables | ||
|
||
%___________________________________________________________________________ | ||
% | ||
% GLOBAL VARIABLES INITIALIZATION: | ||
%___________________________________________________________________________ | ||
|
||
X=1; Y=2; Z=3; U=4; | ||
|
||
Xaxis = [1 0 0]'; | ||
Yaxis = [0 1 0]'; | ||
Zaxis = [0 0 1]'; | ||
|
||
Xaxis_n = [-1 0 0]'; | ||
Yaxis_n = [0 -1 0]'; | ||
Zaxis_n = [0 0 -1]'; | ||
|
||
ORIGIN=[0 0 0 1]'; | ||
|
||
Rev =0; Pri = 1; | ||
Tor =0; For = 1; | ||
SYMM_ =1; SKEW_ =-1; | ||
Row =0; Col = 1; | ||
|
||
OK=1; NOTOK=0; | ||
|
||
PIG=pi; | ||
PIG_2=pi/2; | ||
PIG2=2*pi; | ||
|
||
NULL3=zeros(3); | ||
NULL4=zeros(4); | ||
UNIT3=eye(3); | ||
UNIT4=eye(4); | ||
|
||
%___________________________________________________________________________ | ||
% | ||
% GLOBAL DIRECTORIES DECLARATION: | ||
%___________________________________________________________________________ | ||
|
||
% ***-----> the following line MUST be updated to match your installation!!! | ||
%spc_lib_dir='C:\Users\Utente\Documents\Spacelib\SpaceLib_Matlab_v2.2' % spacelib directory | ||
% *** the update of the string is no longer necessary in this new version | ||
% (october 2009) | ||
|
||
|
||
p = mfilename('fullpath'); % name of the m-file | ||
[spc_lib_dir, name, ext, versn] = fileparts(p); %automatically update the string | ||
|
||
spc_lib_dir_f=[spc_lib_dir,'\function'] % functions | ||
spc_lib_dir_s=[spc_lib_dir,'\shortexa'] % short examples | ||
spc_lib_dir_b=[spc_lib_dir,'\bigexa'] % big examples | ||
|
||
tmp0=strfind(matlabpath,spc_lib_dir); | ||
tmp1=strfind(matlabpath,spc_lib_dir_f); | ||
tmp2=strfind(matlabpath,spc_lib_dir_s); | ||
tmp3=strfind(matlabpath,spc_lib_dir_b); | ||
|
||
if (isempty(tmp1) |... | ||
isempty(tmp2) |... | ||
isempty(tmp3)) | ||
matlabpath([matlabpath,';', spc_lib_dir,';', spc_lib_dir_f, ';',spc_lib_dir_s,';', spc_lib_dir_b]); | ||
end | ||
|
||
clear tmp1 tmp2 tmp3 | ||
%tmp= ['cd ',spc_lib_dir]; % patch November 2005 | ||
%eval(tmp); | ||
%clear tmp; | ||
|
||
%___________________________________________________________________________ | ||
% | ||
% PRINT "HEADER": | ||
%___________________________________________________________________________ | ||
|
||
|
||
fprintf('\n___________________________ SPACELIB ___________________________\n') | ||
fprintf(' VERSION 2.2\n') | ||
fprintf(' A software library for\n') | ||
fprintf(' the kinematic and dynamic analysis\n') | ||
fprintf(' of systems of rigid bodies.\n\n') | ||
fprintf(' Includes general functions for vectors, matrices,\n') | ||
fprintf(' kinematics, dynamics, Euler angles and linear systems\n\n') | ||
fprintf(' (c) G.LEGNANI B.ZAPPA R.ADAMINI 1990 - 2005\n\n') | ||
fprintf(' MATLAB� version with the cooperation of C.MOIOLA and D.MANARA\n') | ||
fprintf(' University of Brescia - Mechanical Engineering Department\n') | ||
fprintf(' Via Branze 38, 25123 BRESCIA, Italy\n') | ||
fprintf(' e-mail: giovanni. legnani @ ing.unibs.it\n') | ||
fprintf(' www:http://bsing.ing.unibs.it/~glegnani\n\n') | ||
fprintf(' SPACELIB� loaded in workspace\n') | ||
fprintf('\n'); | ||
fprintf(' bug fixed January 2004 and November 2005 (tested wih matlab 6.0.0.88 release 12)\n'); | ||
fprintf(' see readme.txt and user''s manual for release notes\n'); | ||
fprintf('___________________________________________________________________________\n') | ||
|
||
cd | ||
who global |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
1.5 | ||
0.8 | ||
0.8 | ||
0.2 | ||
0.0 | ||
0.2 |
Oops, something went wrong.