Robotics Library  0.6.2
Ati.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2009, Markus Rickert
3 // All rights reserved.
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are met:
7 //
8 // * Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright notice,
11 // this list of conditions and the following disclaimer in the documentation
12 // and/or other materials provided with the distribution.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
18 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 // POSSIBILITY OF SUCH DAMAGE.
25 //
26 
27 #ifndef _RL_HAL_ATI_H_
28 #define _RL_HAL_ATI_H_
29 
30 #include <string>
31 #include <atidaq/ftconfig.h>
32 
34 
35 namespace rl
36 {
37  namespace hal
38  {
39  class Comedi;
40 
42  {
43  public:
44  Ati(const ::std::string& calFilePath, const unsigned short int& index = 0, const ::std::string& filename = "/dev/comedi0");
45 
46  virtual ~Ati();
47 
48  void bias();
49 
50  void close();
51 
52  ::std::string getAxisName(const ::std::size_t& i) const;
53 
54  void getForces(::rl::math::Vector& forces) const;
55 
56  ::rl::math::Real getForcesMaximum(const ::std::size_t& i) const;
57 
58  ::rl::math::Real getForcesMinimum(const ::std::size_t& i) const;
59 
60  void getForcesTorques(::rl::math::Vector& forcesTorques) const;
61 
62  ::rl::math::Real getForcesTorquesMaximum(const ::std::size_t& i) const;
63 
64  ::rl::math::Real getForcesTorquesMinimum(const ::std::size_t& i) const;
65 
66  void getTorques(::rl::math::Vector& torques) const;
67 
68  ::rl::math::Real getTorquesMaximum(const ::std::size_t& i) const;
69 
70  ::rl::math::Real getTorquesMinimum(const ::std::size_t& i) const;
71 
72  void open();
73 
74  void resetBias();
75 
76  void start();
77 
78  void step();
79 
80  void stop();
81 
82  protected:
83 
84  private:
85  Calibration* cal;
86 
88  ::std::string calFilePath;
89 
91 
93  unsigned short int index;
94 
95  float values[6];
96 
97  float voltages[6];
98  };
99  }
100 }
101 
102 #endif // _RL_HAL_ATI_H_
rl::hal::SixAxisForceTorqueSensor
Definition: SixAxisForceTorqueSensor.h:40
rl::hal::Ati::start
void start()
Definition: Ati.cpp:188
SixAxisForceTorqueSensor.h
rl::hal::Ati::step
void step()
Definition: Ati.cpp:193
rl::hal::Ati::open
void open()
Definition: Ati.cpp:174
rl::hal::Ati::cal
Calibration * cal
Definition: Ati.h:85
rl::hal::Ati
Definition: Ati.h:42
rl::hal::Ati::Ati
Ati(const ::std::string &calFilePath, const unsigned short int &index=0, const ::std::string &filename="/dev/comedi0")
Definition: Ati.cpp:38
rl::hal::Ati::getForcesMinimum
::rl::math::Real getForcesMinimum(const ::std::size_t &i) const
Definition: Ati.cpp:112
rl::hal::Ati::values
float values[6]
Definition: Ati.h:95
rl::hal::Ati::calFilePath
::std::string calFilePath
The name and path of the calibration file.
Definition: Ati.h:88
rl::hal::Ati::getForcesTorquesMinimum
::rl::math::Real getForcesTorquesMinimum(const ::std::size_t &i) const
Definition: Ati.cpp:139
rl::hal::Ati::getTorques
void getTorques(::rl::math::Vector &torques) const
Definition: Ati.cpp:147
rl::hal::Ati::getTorquesMinimum
::rl::math::Real getTorquesMinimum(const ::std::size_t &i) const
Definition: Ati.cpp:166
rl::hal::Ati::getForces
void getForces(::rl::math::Vector &forces) const
Definition: Ati.cpp:93
rl::hal::Ati::getAxisName
::std::string getAxisName(const ::std::size_t &i) const
Definition: Ati.cpp:85
rl::hal::Comedi
Definition: Comedi.h:40
rl::hal::Ati::~Ati
virtual ~Ati()
Definition: Ati.cpp:61
rl::hal::Ati::voltages
float voltages[6]
Definition: Ati.h:97
rl::hal::Ati::getForcesMaximum
::rl::math::Real getForcesMaximum(const ::std::size_t &i) const
Definition: Ati.cpp:104
rl::hal::Ati::index
unsigned short int index
The number of the calibration within the file (usually 1).
Definition: Ati.h:93
rl::math::Vector
::Eigen::Matrix< Real, ::Eigen::Dynamic, 1 > Vector
Definition: Vector.h:41
rl::hal::Ati::close
void close()
Definition: Ati.cpp:78
rl::hal::Ati::resetBias
void resetBias()
Definition: Ati.cpp:181
rl::hal::Ati::stop
void stop()
Definition: Ati.cpp:204
rl::hal::Ati::comedi
Comedi * comedi
Definition: Ati.h:90
rl::hal::Ati::getForcesTorquesMaximum
::rl::math::Real getForcesTorquesMaximum(const ::std::size_t &i) const
Definition: Ati.cpp:131
rl::math::Real
double Real
Definition: Real.h:34
rl::hal::Ati::getForcesTorques
void getForcesTorques(::rl::math::Vector &forcesTorques) const
Definition: Ati.cpp:120
rl::hal::Ati::getTorquesMaximum
::rl::math::Real getTorquesMaximum(const ::std::size_t &i) const
Definition: Ati.cpp:158
rl::hal::Ati::bias
void bias()
Definition: Ati.cpp:72
rl
Definition: Ati.cpp:35