1.) Modified macro system as to use only Sicsunknown for resolving unknown
Tcl commands. Removed the broken obTcl object system and replaced it by the object.tcl system from sntl. Redid the scan command with this. The end of this is that SICS is now independent of the tcl version and works with tcl 8.0 thus giving a factor of up to 10 in script execution speed. 2.) Added driving an angle through a translation table (object lin2ang)
This commit is contained in:
57
lin2ang.w
Normal file
57
lin2ang.w
Normal file
@ -0,0 +1,57 @@
|
||||
\subsection{lin2ang}
|
||||
lin2ang is a virtual motor object which allows to drive an angle
|
||||
through a translation table. In ist first incarnation this is meant
|
||||
for TOPSI but this may be useful in other places as well. The
|
||||
displacement x is calculated from the formula: $ x = L sin 2\theta $
|
||||
with L being the length of the arm around which the angle
|
||||
pivots. This must be a configurable parameter.
|
||||
|
||||
lin2ang's datastructure is quite simple:
|
||||
\begin{verbatim}
|
||||
typedef struct __LIN2ANG {
|
||||
pObjectDescriptor pDes;
|
||||
pIDrivable pDriv;
|
||||
pMotor lin;
|
||||
float length;
|
||||
}Lin2Ang;
|
||||
\end{verbatim}
|
||||
The fields are:
|
||||
\begin{description}
|
||||
\item[pDes] The standard SICS object descriptor.
|
||||
\item[pDriv] The drivable interface which hides most of the
|
||||
functionality of this object.
|
||||
\item[lin] The translation table motor to use for driving the angle.
|
||||
\item[length] The length of the arm around which the angle pivots.
|
||||
\end{description}
|
||||
|
||||
The interface to this is quite simple, most of the functionality is
|
||||
hidden in the drivable interface. Basically there are only the
|
||||
interpreter interface functions.
|
||||
|
||||
@d lin2angint @{
|
||||
int MakeLin2Ang(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]);
|
||||
int Lin2AngAction(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]);
|
||||
|
||||
@}
|
||||
|
||||
@o lin2ang.h @{
|
||||
/*-------------------------------------------------------------------------
|
||||
L I N 2 A N G
|
||||
|
||||
Drive an angle through a translation table. As of now only for
|
||||
TOPSI.
|
||||
|
||||
copyright: see copyright.h
|
||||
|
||||
Mark Koennecke, February 2000
|
||||
--------------------------------------------------------------------------*/
|
||||
#ifndef LIN2ANG
|
||||
#define LIN2ANG
|
||||
#include "motor.h"
|
||||
@<lin2angint@>
|
||||
#endif
|
||||
|
||||
@}
|
||||
|
Reference in New Issue
Block a user