- version 1.31
- (2006/12/14)
The project can now use
CMake
or
Bakefile
for automated makefile generation. In future releases,
hand made makefiles and project files will be replaced by the
output of CMake
or
Bakefile.
Corrected bug in irotk (reported by Chris Lightcap).
The program files in this version are the following revisions:
- version 1.30
- (2006/08/17)
Upgraded the matrix library to NEWMAT11 (beta) April 2006
enabling compilation under GNU g++ 4.1.x.
The program files in this version are the following revisions:
- version 1.29
- (2006/05/19)
OpenWatcom support is (temporally) suspended. Fixed gear
ratio bug for viscous friction (reported by Carmine Lia). Fix
set_q, set_qp bug in xdot (reported by
Philip Gruebele)
The following changes have been contributed by Etienne Lachance
- ``Clean up'' of some header files.
- Member functions add and select are now in template form.
- Using Boost shared pointers in gnugraph.
- The inverse kinematics function (inv_kin) should
return the solution without changing the robot position (reported
by J.D. Yamokoski).
- Functions Rhino_DH, Puma_DH,
Schilling_DH, Rhino_mDH, Puma_mDH
and Schilling_mDH use const Robot_basic
reference instead of const Robot_basic pointer.
- Prevent exceptions from leaving Robot_basic destructor.
- Catch exception by reference instead of by value.
- version 1.28
- (2005/12/07)
The following changes have been contributed by Etienne Lachance
- Removing unnecessary copy constructor and the assignment
operator (operator=) in many classes.
- In the Quaternion class, the operator* and operator/
are now non-member functions when one of the operand is a real, it
now supports q2 = c * q1 and > q2 = q1 * c
- version 1.27
- (2005/10/11)
It is now possible to turn off warning messages in the
Config class.
- version 1.26
- (2005/07/05)
- New Class Stewart contributed by Samuel Belanger
(intergated by Etienne Lachance and Richard Gourdeau): new files
stewart.h and stewart.cpp and modified
bench.cpp.
- Fixed max() bug for VC++ 6.0 (utils.cpp).
- Typos in Doxygen documentation.
- version 1.25
- (2005/06/13)
Fixed catch(bad_alloc) in constructors.
The following changes have been contributed by Etienne Lachance
- The desired joint acceleration was missing in the computed
torque method (bug reported by Carmine Lia).
- Added missing file message in trajectory.cpp
The following changes have been contributed by Carmine Lia
- Added defined(__MINGW32__) for temp files in
gnugraph.cpp.
- Added pinv in utils.cpp.
- version 1.24
- (2005/03/18)
The following changes have been contributed by Brian Galardo,
Jean-Pascal Joary, Etienne Lachance:
by Etienne Lachance:
- Some ``clean-up'' in the config.h and
config.cpp files,
and by Stephen Webb :
- minor bug in constructor Robot_basic(const
Robot_basic & x).
- version 1.23
- (2004/09/18)
The following change has been contributed by Etienne Lachance:
- Configuration files can use degrees for the angles with the
option angle_in_degree set to 1.
- version 1.22
- (2004/09/10)
The following change has been contributed by Etienne Lachance:
- In config.cpp: parameter value can now contain space
and fixed print member function.
Carl Glen Henshaw provided a makefile for MAC OS X.
- version 1.21
- (2004/08/16)
The following changes have been contributed by Etienne Lachance
- Fixed some missing use_namespace #define.
- Merge all select_* and add_* functions
into overloaded select() and add() functions.
- made gnuplot.cpp and config.cpp independent
of robot.h and utils.h.
- New constructors for Robot and mRobot based
on input matrices (this change is NOT backward compatible)
The following changes have been contributed by Ethan Tira-Thompson
- Supports for Link::immobile flag so jacobians and
deltas are 0 for immobile joints.
- Jacobians will only contain entries for mobile joints -
otherwise NaNs result in later processing.
- Added parameters to jacobian functions to generate for frames
other than the end effector.
- Can now do inverse kinematics for frames other than end
effector.
- Tolerance in inv_kin based on USING_FLOAT
from newmat's include.h
The program files in this version are the following revisions:
- version 1.20
- (2004/07/02)
The following changes have been contributed by Ethan Tira-Thompson
- Added support for newmat's use_namespace
#define, using ROBOOP namespace.
- Fixed some problem using float as Real type.
The following changes have been contributed by Etienne Lachance
- version 1.19
- (2004/05/12) Upgraded the matrix library from
NEWMAT10 to NEWMAT11 (beta). Visual C++
.NET and Borland C++ Builder 6 compilers are now
supported. Updated documentation.
- version 1.18
- (2004/05/05) ROBOOP is relicensed to the
GNU Lesser General Public License. Updated documentation.
The following changes have been contributed by Vincent Drolet and
Etienne Lachance:
- Added the following members function in class Robot:
inv_kin_rhino, inv_kin_puma and
robotType_inv_kin.
- version 1.17
- (2004/04/02) Numerous warning messages were
corrected under VC++. Updated documentation.
The following changes have been contributed by Etienne Lachance:
- Added class Impedance which implements the impedance
controller.
- Added function perturb_robot.
- Added class Resolve_acc which implements the resolve
rate acceleration position controller.
- Added class Computed_torque_method which implements
the computed torque method position controller.
- Class Config can now write data into a configuration
file.
- Fixed bugs in Quaternion class member functions:
exponential and logarithm.
- Added Quaternion class member function
power.
- Added the following Quaternion class non member
functions: Omega, Slerp, Slerp_prime,
Squad and Squad_prime.
- Provided Spl_Quaternion class to generate
quaternions cubic splines.
- Added class Spl_Cubic to generate cubic splines.
- Added class Spl_path to generate 3D cubic splines.
- Provided CLIK class for closed loop inverse
kinematics.
- Added member functions G and C in all robot
classes.
- version 1.16
- (2003/09/24) The
OpenWatcom
C++
compiler is now supported.
Updated documentation.
- version 1.15
- (2003/06/18)
The following changes have been contributed by Etienne Lachance:
- Updated documentation.
- Definitions in file gnugraph.cpp are now in
gnugraph.h.
- Class Plot2d, GNUcurve are now using
STL string instead of char*.
- Added member functions jacobian_dot() and
jacobian_DLS_inv() in all robot classes.
- Added class Config to read configuration file.
- Replaced Robot_basic(const char *filename) by
Robot_basic(const string & filename). The new
constructor uses the class Config.
- Provided Plot_file class to generate graphics from a
data file.
- Added the following Quaternion class member
functions: exponential, logarithm,
dot_product, dot, E.
- Fixed bugs in IO_matrix_file class.
- Developed linearized equations for modified DH notations. The
equations are implemented in dq_torque,
dqp_torque, dtau_dq and dtau_dqp.
- Added examples in demo.cpp related to
IO_matrix_file, Plot_file and
Config.
- version 1.14
- (2003/04/17) Updated documentation. The
Watcom compiler is no longer supported (problems with
STL and streams). The following changes have been
contributed by Etienne Lachance:
- The classes RobotMotor and mRobotMotor no
longer exist and are now integrated in the Robot and
mRobot classes.
- The Robot and mRobot classes are now derived
from the Robot_basic virtual class.
- Removed class mlink. DH and modified DH parameters
are now included in link.
- Added kine_pd().
- Created a new torque member function that allowed to
have load on last link.
- Fixed bug in modified DH dynamics.
- Added a class Quaternion.
- Added the program rtest to compare results with Peter
Corke MATLAB
toolbox.
- Added member function set_plot2d to generate plots
using the Plot2d class.
- Added utility class IO_matrix_file dealing with
data files (not documented yet).
- version 1.13
- (2002/08/09) Moved the arrays of
ColumnVector to the constructors for the dynamics and
linearized dynamics for a
gain in speed (thanks to
Etienne Lachance for the suggestion). Added the mRobot and
mRobotMotor classes using the modified Denavit-Hartenberg
notation. Updated documentation.
- version 1.12
- (2002/02/04) Upgraded the matrix library from
NEWMAT09 to NEWMAT10.
- version 1.11
- (2001/06/06) Fixed bugs for prismatic joints in
the dynamics routines (reported by Hassan Abedi). Updated
documentation.
- version 1.10
- (2001/04/30) Changed the license to GNU General
Public License. Workspace for MS Visual C++ 6.0. New makefiles using
implicit rules. New class RobotMotor that includes motors
parameters (rotor inertia, gear ratio and friction coefficients).
Updated documentation.
- version 1.09
- (98/09/27) Makefile for MS Visual C++ 6.0.
- version 1.08
- (98/06/1) Changes to robot.cpp and robot.h to avoid the
warning messages:
initialization of non-const reference `*' from rvalue `*'
Fixed function ieulzxz in homogen.cpp thanks to Kilian Pohl.
- version 1.07
- (98/05/12) The bench.cpp program is more
portable. Simpler makefile for Borland C++. New targets in
makefiles (clean and veryclean). Removed the CVS Log tags from the sources. Compiler option -O now works
under gcc 2.7.2 thanks to the new newmat.h provided
by Robert Davies.
- version 1.06
- (97/11/21) The function inv_kin modified to
use the Jacobian by default in the iterative procedure (
faster).
Updated documentation.
- version 1.05
- (97/11/17) Added make file for GNU G++
under Windows 95/NT using
Cygnus GNU-Win32
compiler. Added optimization
flags under GNU G++. Updated documentation.
- version 1.04
- (97/11/14) Added make file for GNU G++
and graphic support through gnuplot (2d plots). Updated
documentation.
- version 1.03
- (97/11/01) Added adaptive step size integration.
Changes to the documentation.
- version 1.02
- (97/10/21) Upgraded the matrix library from
NEWMAT08A to NEWMAT09. New directory structure : newmat08 is replaced by newmat. Conditional compilation of
delete [] for pre 2.1 C++ compilers has been removed since
NEWMAT09 no longer supports these compilers. Minor changes
to the documentation.
- version 1.01
- (97/01/17) Conditional compilation of delete [] for pre 2.1 C++ compilers.
Changes to the documentation.
- version 1.0
- (96/12/15) First public release of the package.