JointData.hpp
Go to the documentation of this file.
00001 #ifndef YOUBOT_JOINTDATA_H
00002 #define YOUBOT_JOINTDATA_H
00003 
00004 /****************************************************************
00005  *
00006  * Copyright (c) 2011
00007  * All rights reserved.
00008  *
00009  * Hochschule Bonn-Rhein-Sieg
00010  * University of Applied Sciences
00011  * Computer Science Department
00012  *
00013  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00014  *
00015  * Author:
00016  * Jan Paulus, Nico Hochgeschwender, Michael Reckhaus, Azamat Shakhimardanov
00017  * Supervised by:
00018  * Gerhard K. Kraetzschmar
00019  *
00020  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00021  *
00022  * This sofware is published under a dual-license: GNU Lesser General Public 
00023  * License LGPL 2.1 and BSD license. The dual-license implies that users of this
00024  * code may choose which terms they prefer.
00025  *
00026  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00027  *
00028  * Redistribution and use in source and binary forms, with or without
00029  * modification, are permitted provided that the following conditions are met:
00030  *
00031  *     * Redistributions of source code must retain the above copyright
00032  *       notice, this list of conditions and the following disclaimer.
00033  *     * Redistributions in binary form must reproduce the above copyright
00034  *       notice, this list of conditions and the following disclaimer in the
00035  *       documentation and/or other materials provided with the distribution.
00036  *     * Neither the name of the Hochschule Bonn-Rhein-Sieg nor the names of its
00037  *       contributors may be used to endorse or promote products derived from
00038  *       this software without specific prior written permission.
00039  *
00040  * This program is free software: you can redistribute it and/or modify
00041  * it under the terms of the GNU Lesser General Public License LGPL as
00042  * published by the Free Software Foundation, either version 2.1 of the
00043  * License, or (at your option) any later version or the BSD license.
00044  *
00045  * This program is distributed in the hope that it will be useful,
00046  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00047  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00048  * GNU Lesser General Public License LGPL and the BSD license for more details.
00049  *
00050  * You should have received a copy of the GNU Lesser General Public
00051  * License LGPL and BSD license along with this program.
00052  *
00053  ****************************************************************/
00054 #include <youbot_driver/generic/Units.hpp>
00055 
00056 namespace youbot
00057 {
00058 
00062 class JointData
00063 {
00064 };
00068 class JointSensedData : public JointData
00069 {
00070 };
00074 class JointComputedData : public JointSensedData
00075 {
00076 };
00080 class JointSensedPWM : public JointSensedData
00081 {
00082 public:
00083   signed int pwm;
00084 
00085   JointSensedPWM();
00086 
00087   JointSensedPWM(const signed int& value);
00088 
00089 };
00093 class JointSensedAngle : public JointSensedData
00094 {
00095 public:
00096   quantity<plane_angle> angle;
00097 
00098   JointSensedAngle();
00099 
00100   JointSensedAngle(const quantity<plane_angle>& value);
00101 
00102 };
00106 class JointSensedEncoderTicks : public JointSensedData
00107 {
00108 public:
00109   signed int encoderTicks;
00110 
00111   JointSensedEncoderTicks();
00112 
00113   JointSensedEncoderTicks(const signed int& value);
00114 
00115 };
00119 class JointSensedVelocity : public JointSensedData
00120 {
00121 public:
00122   quantity<si::angular_velocity> angularVelocity;
00123 
00124   JointSensedVelocity();
00125 
00126   JointSensedVelocity(const quantity<si::angular_velocity>& value);
00127 
00128 };
00132 class JointSensedRoundsPerMinute : public JointSensedData
00133 {
00134 public:
00135   int rpm;
00136 
00137   JointSensedRoundsPerMinute();
00138 
00139   JointSensedRoundsPerMinute(const int value);
00140 
00141 };
00145 class JointSensedCurrent : public JointSensedData
00146 {
00147 public:
00148   quantity<si::current> current;
00149 
00150   JointSensedCurrent();
00151 
00152   JointSensedCurrent(const quantity<si::current>& value);
00153 
00154 };
00158 class JointSensedTorque : public JointComputedData
00159 {
00160 public:
00161   quantity<si::torque> torque;
00162 
00163   JointSensedTorque();
00164 
00165   JointSensedTorque(const quantity<si::torque>& value);
00166 
00167 };
00171 class JointDataSetpoint : public JointData
00172 {
00173 };
00177 class JointComputedSetpoint : public JointDataSetpoint
00178 {
00179 };
00183 class JointAngleSetpoint : public JointDataSetpoint
00184 {
00185 public:
00186   quantity<plane_angle> angle;
00187 
00188   JointAngleSetpoint();
00189 
00190   JointAngleSetpoint(const quantity<plane_angle>& value);
00191 
00192 };
00196 class JointVelocitySetpoint : public JointDataSetpoint
00197 {
00198 public:
00199   quantity<angular_velocity> angularVelocity;
00200 
00201   JointVelocitySetpoint();
00202 
00203   JointVelocitySetpoint(const quantity<angular_velocity>& value);
00204 
00205 };
00209 class JointRoundsPerMinuteSetpoint : public JointDataSetpoint
00210 {
00211 public:
00212   int rpm;
00213 
00214   JointRoundsPerMinuteSetpoint();
00215 
00216   JointRoundsPerMinuteSetpoint(const int value);
00217 
00218 };
00222 class JointCurrentSetpoint : public JointDataSetpoint
00223 {
00224 public:
00225   quantity<si::current> current;
00226 
00227   JointCurrentSetpoint();
00228 
00229   JointCurrentSetpoint(const quantity<si::current>& value);
00230 
00231 };
00235 class JointTorqueSetpoint : public JointComputedSetpoint
00236 {
00237 public:
00238   quantity<si::torque> torque;
00239 
00240   JointTorqueSetpoint();
00241 
00242   JointTorqueSetpoint(const quantity<si::torque>& value);
00243 
00244 };
00248 class JointPWMSetpoint : public JointDataSetpoint
00249 {
00250 public:
00251   int pwm;
00252 
00253   JointPWMSetpoint();
00254 
00255   JointPWMSetpoint(const int value);
00256 
00257 };
00261 class JointEncoderSetpoint : public JointDataSetpoint
00262 {
00263 public:
00264   signed int encoderTicks;
00265 
00266   JointEncoderSetpoint();
00267 
00268   JointEncoderSetpoint(const signed int& value);
00269 
00270 };
00274 class JointControllerComputedData : public JointSensedData
00275 {
00276 };
00280 class JointRampGeneratorVelocity : public JointControllerComputedData
00281 {
00282 public:
00283   quantity<si::angular_velocity> angularVelocity;
00284 
00285   JointRampGeneratorVelocity();
00286 
00287   JointRampGeneratorVelocity(const quantity<si::angular_velocity>& value);
00288 
00289 };
00290 
00291 } // namespace youbot
00292 #endif


youbot_driver
Author(s): Jan Paulus
autogenerated on Mon Oct 6 2014 09:08:01