AuboCaps  0.4.1
system_api.h
Go to the documentation of this file.
1 #ifndef AUBO_SCOPE_SYSTEM_API_H
2 #define AUBO_SCOPE_SYSTEM_API_H
3 
4 #include <string>
5 #include <vector>
6 #include <unordered_map>
8 
9 namespace arcs {
10 namespace aubo_scope {
11 
12 enum class UnitType
13 {
14  METRIC, ///< 公制 mm Kg
15  IMPERIAL ///< 英制
16 };
17 
19 {
20  std::string label;
21  int num;
22  std::vector<std::string> names;
23  std::vector<std::string> functions;
24 };
25 
28 {
29 public:
30  SystemApi(SystemApi &f);
31  SystemApi(SystemApi &&f);
32  virtual ~SystemApi();
33 
34  /**
35  *
36  * @return the major version of Software.
37  */
38  int getMajorVersion();
39 
40  /**
41  *
42  * @return the minor version of Software.
43  */
44  int getMinorVersion();
45 
46  /**
47  *
48  * @return the bug fix version of Software.
49  */
50  int getBugfixVersion();
51 
52  /**
53  *
54  * @return the build number of Software.
55  */
56  int getBuildNumber();
57 
58  /**
59  * Returns the {@link Locale} for the system.
60  *
61  * @return Locale.
62  */
63  std::string getLocale();
64 
65  /**
66  * Returns the {@link Locale} for the programming language used in the
67  * system.
68  *
69  * @return Locale.
70  */
71  std::string getLocaleForProgrammingLanguage();
72 
73  /**
74  * Returns the UnitType of the system as an enum.
75  *
76  * @return UnitType.
77  */
78  UnitType getUnitType();
79 
80  /**
81  *
82  * @return the serial number of the robot
83  */
84  std::string getSerialNumber();
85 
86  /**
87  * @return <code>true</code> if controlling the real, physical robot and
88  * <code>false</code> if in simulation mode.
89  */
90  bool isRealRobot();
91 
92  /**
93  * @return Max Positions of robot joints in radian
94  */
95  std::vector<double> getJointMaxPositions();
96  std::vector<double> getJointMinPositions();
97  double getJointDefaultVelocity();
98  double getJointDefaultAcceleration();
99  std::vector<double> getJointMaxVelocity();
100  std::vector<double> getJointMaxAcceleration();
101 
102  double getTcpDefaultVelocity();
103  double getTcpDefaultAcceleration();
104  double getTcpMaxVelocity();
105  double getTcpMaxAcceleration();
106  double getTcpMaxDistance();
107 
108  double getMaxPayloadMass();
109  double getMaxPayloadDistance();
110 
111  std::vector<double> getHomeDefaultPosition();
112  std::vector<double> getHomePackagePosition();
113 
114  std::unordered_map<std::string, std::vector<double>> getRobotDhParams(
115  bool is_real);
116 
117  double getMaxPower();
118  double getMinPower();
119  double getMaxMomentum();
120  double getMinMomentum();
121  double getMaxStoppingTime();
122  double getMinStoppingTime();
123  double getMaxStoppingDistance();
124  double getMinStoppingDistance();
125  double getMaxToolForce();
126  double getMinToolForce();
127  double getMaxElbowSpeed();
128  double getMaxElbowForce();
129  double getMinElbowForce();
130 
131  IoConfigure getToolDigitalIOConfigure();
132 
133  IoConfigure getStandardDigitalInputConfigure();
134  IoConfigure getConfigurableDigitalInputConfigure();
135 
136  IoConfigure getStandardDigitalOutputConfigure();
137  IoConfigure getConfigurableDigitalOutputConfigure();
138 
139  IoConfigure getStandardAnalogInputConfigure();
140  IoConfigure getToolAnalogInputConfigure();
141 
142  IoConfigure getStandardAnalogOutputConfigure();
143  IoConfigure getToolAnalogOutputConfigure();
144 
145  IoConfigure getStaticSafetyInputConfigure();
146  IoConfigure getStaticSafetyOutputConfigure();
147 
148  IoConfigure getStaticLinkInputConfigure();
149  IoConfigure getStaticLinkOutputConfigure();
150 
151 private:
152  friend class DataSwitch;
153  SystemApi();
154  void *d_{ nullptr };
155 };
156 
157 } // namespace aubo_scope
158 } // namespace arcs
159 
160 #endif // SYSTEMAPI_H
ARCS_CLASS_FORWARD(GripForceCapability)
std::vector< std::string > names
Definition: system_api.h:22
std::vector< std::string > functions
Definition: system_api.h:23
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16