Defines | Functions | Variables
omnilib.c File Reference
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <math.h>
#include "omnilib.h"
#include "realtime.h"
Include dependency graph for omnilib.c:

Go to the source code of this file.

Defines

#define alpha   (0.3425 + 0.24)
#define alpha   (0.3425 + 0.24)
#define INT16   2
#define INT8   0
#define UINT16   3
#define UINT8   1

Functions

void drive_status (char *drive, int index)
void jac_forward (double *in, double *out)
void jac_inverse (double *in, double *out)
commstatus_t omnidrive_commstatus ()
int omnidrive_drive (double x, double y, double a)
int omnidrive_init (void)
int omnidrive_odometry (double *x, double *y, double *a)
void omnidrive_poweroff ()
void omnidrive_poweron ()
void omnidrive_recover ()
void omnidrive_set_correction (double drift)
int omnidrive_shutdown (void)
void omnidrive_speedcontrol ()
void omnidrive_status (char *drive0, char *drive1, char *drive2, char *drive3, int *estop)
int readSDO (int device, int objectNum)
int writeSDO (int device, int objectNum, int value, int type)

Variables

commstatus_t commstatus
int drive_constant = 3663
uint32_t last_odometry_position [4] = {0, 0, 0, 0}
double odometry [3] = {0, 0, 0}
int odometry_constant = 3998394
double odometry_correction = 1.0
int odometry_initialized = 0
int status [4]

Define Documentation

#define alpha   (0.3425 + 0.24)
#define alpha   (0.3425 + 0.24)
#define INT16   2

Definition at line 295 of file omnilib.c.

#define INT8   0

Definition at line 293 of file omnilib.c.

#define UINT16   3

Definition at line 296 of file omnilib.c.

#define UINT8   1

Definition at line 294 of file omnilib.c.


Function Documentation

void drive_status ( char *  drive,
int  index 
)

Definition at line 306 of file omnilib.c.

void jac_forward ( double *  in,
double *  out 
)

Jacobians for a mecanum wheels based omnidirectional platform. The functions jac_forward and jac_inverse convert cartesian velocities into wheel velocities and vice versa. For our motors, the order and signs are changed. The matrix C accounts for this.

Definition at line 106 of file omnilib.c.

void jac_inverse ( double *  in,
double *  out 
)

Definition at line 139 of file omnilib.c.

Definition at line 318 of file omnilib.c.

int omnidrive_drive ( double  x,
double  y,
double  a 
)

Definition at line 171 of file omnilib.c.

int omnidrive_init ( void  )

Definition at line 57 of file omnilib.c.

int omnidrive_odometry ( double *  x,
double *  y,
double *  a 
)

Definition at line 221 of file omnilib.c.

Definition at line 360 of file omnilib.c.

Definition at line 342 of file omnilib.c.

Definition at line 334 of file omnilib.c.

void omnidrive_set_correction ( double  drift)

Definition at line 216 of file omnilib.c.

int omnidrive_shutdown ( void  )

Definition at line 87 of file omnilib.c.

Definition at line 368 of file omnilib.c.

void omnidrive_status ( char *  drive0,
char *  drive1,
char *  drive2,
char *  drive3,
int *  estop 
)

Definition at line 323 of file omnilib.c.

int readSDO ( int  device,
int  objectNum 
)

Definition at line 279 of file omnilib.c.

int writeSDO ( int  device,
int  objectNum,
int  value,
int  type 
)

Definition at line 298 of file omnilib.c.


Variable Documentation

Definition at line 53 of file omnilib.c.

int drive_constant = 3663

Definition at line 44 of file omnilib.c.

uint32_t last_odometry_position[4] = {0, 0, 0, 0}

Definition at line 49 of file omnilib.c.

double odometry[3] = {0, 0, 0}

Definition at line 50 of file omnilib.c.

int odometry_constant = 3998394

Definition at line 45 of file omnilib.c.

double odometry_correction = 1.0

Definition at line 46 of file omnilib.c.

Definition at line 48 of file omnilib.c.

int status[4]

Definition at line 52 of file omnilib.c.



omni_ethercat
Author(s): Ingo Kresse
autogenerated on Mon Oct 6 2014 08:39:05