arm_messages.h

Go to the documentation of this file.
00001 /*********************************************************
00002  *
00003  * This source code is part of the Carnegie Mellon Robot
00004  * Navigation Toolkit (CARMEN)
00005  *
00006  * CARMEN Copyright (c) 2002 Michael Montemerlo, Nicholas
00007  * Roy, and Sebastian Thrun
00008  *
00009  * CARMEN is free software; you can redistribute it and/or 
00010  * modify it under the terms of the GNU General Public 
00011  * License as published by the Free Software Foundation; 
00012  * either version 2 of the License, or (at your option)
00013  * any later version.
00014  *
00015  * CARMEN is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied 
00017  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00018  * PURPOSE.  See the GNU General Public License for more 
00019  * details.
00020  *
00021  * You should have received a copy of the GNU General 
00022  * Public License along with CARMEN; if not, write to the
00023  * Free Software Foundation, Inc., 59 Temple Place, 
00024  * Suite 330, Boston, MA  02111-1307 USA
00025  *
00026  ********************************************************/
00027 
00029 // @{
00030 
00039 #ifndef CARMEN_ARM_MESSAGES_H
00040 #define CARMEN_ARM_MESSAGES_H
00041 
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045 
00046 
00047 //arm type defines
00048 #define CARMEN_ARM_HAS_ANGULAR_VEL_STATES      1
00049 #define CARMEN_ARM_HAS_CURRENT_STATES          2
00050 #define CARMEN_ARM_HAS_GRIPPER                 4
00051 
00052 #define CARMEN_ARM_QUERY_NAME "carmen_arm_query"
00053 typedef carmen_default_message carmen_arm_query_message;
00054 #define CARMEN_ARM_RESET_OCCURRED_NAME "carmen_arm_reset_occurred"
00055 typedef carmen_default_message carmen_arm_reset_occurred_message;
00056 #define CARMEN_ARM_RESET_COMMAND_NAME "carmen_arm_reset_command"
00057 typedef carmen_default_message carmen_arm_reset_command_message;
00058 
00059 typedef struct {
00060   int num_joints;
00061   double* joint_angles;
00062   double timestamp;
00063   char *host;
00064 } carmen_arm_command_message;
00065 
00066 #define CARMEN_ARM_COMMAND_NAME  "carmen_arm_command"
00067 #define CARMEN_ARM_COMMAND_FMT "{int,<double:1>,double,string}"
00068 
00069 typedef struct {
00070   int flags;
00071   int num_joints;
00072   double* joint_angles;
00073   int num_currents;
00074   double* joint_currents;
00075   int num_vels;
00076   double* joint_angular_vels;
00077   int gripper_closed;
00078   double timestamp;
00079   char *host;
00080 } carmen_arm_state_message;
00081 
00082 #define CARMEN_ARM_STATE_NAME "carmen_arm_state"
00083 #define CARMEN_ARM_STATE_FMT "{int,int,<double:2>,int,<double:4>,int,<double:6>,int,double,string}"
00084 
00085 #ifdef __cplusplus
00086 }
00087 #endif
00088 
00089 #endif
00090 
00091 // @}

Generated on Wed Apr 5 18:34:17 2006 for CARMEN by  doxygen 1.4.4