YouBotGripper.hpp
Go to the documentation of this file.
1 #ifndef YOUBOT_YOUBOTGRIPPER_H
2 #define YOUBOT_YOUBOTGRIPPER_H
3 
4 /****************************************************************
5  *
6  * Copyright (c) 2011
7  * All rights reserved.
8  *
9  * Hochschule Bonn-Rhein-Sieg
10  * University of Applied Sciences
11  * Computer Science Department
12  *
13  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
14  *
15  * Author:
16  * Jan Paulus, Nico Hochgeschwender, Michael Reckhaus, Azamat Shakhimardanov
17  * Supervised by:
18  * Gerhard K. Kraetzschmar
19  *
20  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
21  *
22  * This sofware is published under a dual-license: GNU Lesser General Public
23  * License LGPL 2.1 and BSD license. The dual-license implies that users of this
24  * code may choose which terms they prefer.
25  *
26  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
27  *
28  * Redistribution and use in source and binary forms, with or without
29  * modification, are permitted provided that the following conditions are met:
30  *
31  * * Redistributions of source code must retain the above copyright
32  * notice, this list of conditions and the following disclaimer.
33  * * Redistributions in binary form must reproduce the above copyright
34  * notice, this list of conditions and the following disclaimer in the
35  * documentation and/or other materials provided with the distribution.
36  * * Neither the name of the Hochschule Bonn-Rhein-Sieg nor the names of its
37  * contributors may be used to endorse or promote products derived from
38  * this software without specific prior written permission.
39  *
40  * This program is free software: you can redistribute it and/or modify
41  * it under the terms of the GNU Lesser General Public License LGPL as
42  * published by the Free Software Foundation, either version 2.1 of the
43  * License, or (at your option) any later version or the BSD license.
44  *
45  * This program is distributed in the hope that it will be useful,
46  * but WITHOUT ANY WARRANTY; without even the implied warranty of
47  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
48  * GNU Lesser General Public License LGPL and the BSD license for more details.
49  *
50  * You should have received a copy of the GNU Lesser General Public
51  * License LGPL and BSD license along with this program.
52  *
53  ****************************************************************/
54 #include <vector>
55 #include <sstream>
69 #include <boost/scoped_ptr.hpp>
70 
71 namespace youbot {
72 
76 class YouBotGripper : public OneDOFGripper {
77  public:
78  YouBotGripper(const unsigned int jointNo, const std::string& configFilePath = "../config/");
79 
80  virtual ~YouBotGripper();
81 
82 
83  protected:
84  virtual void getConfigurationParameter(GripperParameter& parameter) const;
85 
86  virtual void setConfigurationParameter(const GripperParameter& parameter);
87 
88 
89  public:
90  virtual void getConfigurationParameter(GripperFirmwareVersion& parameter) const;
91 
92  virtual void setConfigurationParameter(const CalibrateGripper& parameter);
93 
94  virtual void getConfigurationParameter(YouBotSlaveMailboxMsg& parameter) const;
95 
96 
97  protected:
98  virtual void getData(const GripperData& data) const;
99 
100  virtual void setData(const GripperData& data);
101 
102  virtual void getData(OneDOFGripperData& data) const;
103 
104  virtual void setData(const OneDOFGripperData& data);
105 
106 
107  public:
108  virtual void setData(const GripperBarSpacingSetPoint& barSpacing);
109 
110  virtual void getData(GripperSensedBarSpacing& barSpacing) const;
111 
112  void open();
113 
114  void close();
115 
117 
119 
120 
121  private:
122  YouBotGripper(const YouBotGripper & source);
123 
124  YouBotGripper & operator=(const YouBotGripper & source);
125 
126  void parseMailboxStatusFlags(const YouBotSlaveMailboxMsg& mailboxMsg) const;
127 
128  bool setValueToMotorContoller(const YouBotSlaveMailboxMsg& mailboxMsg) const;
129 
131 
133 
135 
136  unsigned int mailboxMsgRetries;
137 
138  unsigned int jointNumber;
139 
140  boost::scoped_ptr<YouBotGripperBar> bar1;
141 
142  boost::scoped_ptr<YouBotGripperBar> bar2;
143 
144 };
145 
146 } // namespace youbot
147 #endif
unsigned int timeTillNextMailboxUpdate
abstract gripper parameter
YouBotGripper(const unsigned int jointNo, const std::string &configFilePath="../config/")
void parseMailboxStatusFlags(const YouBotSlaveMailboxMsg &mailboxMsg) const
bool retrieveValueFromMotorContoller(YouBotSlaveMailboxMsg &message) const
The sensed bar spacing for a one DOF gripper.
The youBot gripper with one degree of freedom.
virtual void setData(const GripperData &data)
abstract gripper with one degree of freedom
YouBotGripperBar & getGripperBar1()
Setpoint length of the bar spacing for a one DOF gripper.
virtual void setConfigurationParameter(const GripperParameter &parameter)
boost::scoped_ptr< YouBotGripperBar > bar2
EthercatMasterInterface * ethercatMaster
unsigned int mailboxMsgRetries
YouBotGripperBar & getGripperBar2()
EtherCAT mailbox message of the youBot slaves.
The Ethercat Master interface.
One bar of the youBot gripper.
boost::scoped_ptr< YouBotGripperBar > bar1
the firmware version of the gripper
abstract class of gripper data
Definition: GripperData.hpp:59
YouBotGripper & operator=(const YouBotGripper &source)
abstract class of data for gripper with one degree of freedom
virtual void getConfigurationParameter(GripperParameter &parameter) const
virtual void getData(const GripperData &data) const
bool setValueToMotorContoller(const YouBotSlaveMailboxMsg &mailboxMsg) const


youbot_driver
Author(s): Jan Paulus
autogenerated on Mon Jun 10 2019 15:46:25