AuboCaps  0.6.0
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<int> sequences;
24  std::vector<int> functions;
25  std::vector<int> safety_functions;
26  std::vector<int> safety_functions_fixed;
27  bool function_lock{ false };
28  std::vector<int> types;
29  std::vector<double> mins;
30  std::vector<double> maxs;
31 };
32 
35 {
36 public:
37  SystemApi(SystemApi &f);
38  SystemApi(SystemApi &&f);
39  virtual ~SystemApi();
40 
41  /**
42  *
43  * @return the major version of Software.
44  */
45  int getMajorVersion();
46 
47  /**
48  *
49  * @return the minor version of Software.
50  */
51  int getMinorVersion();
52 
53  /**
54  *
55  * @return the bug fix version of Software.
56  */
57  int getBugfixVersion();
58 
59  /**
60  *
61  * @return the build number of Software.
62  */
63  int getBuildNumber();
64 
65  /**
66  * Returns the {@link Locale} for the system.
67  *
68  * @return Locale.
69  */
70  std::string getLocale();
71 
72  /**
73  * Returns the {@link Locale} for the programming language used in the
74  * system.
75  *
76  * @return Locale.
77  */
78  std::string getLocaleForProgrammingLanguage();
79 
80  /**
81  * Returns the UnitType of the system as an enum.
82  *
83  * @return UnitType.
84  */
85  UnitType getUnitType();
86 
87  /**
88  *
89  * @return the serial number of the robot
90  */
91  std::string getSerialNumber();
92 
93  /**
94  * @return <code>true</code> if controlling the real, physical robot and
95  * <code>false</code> if in simulation mode.
96  */
97  bool isRealRobot();
98 
99  /**
100  * @return Max Positions of robot joints in radian
101  */
102  std::vector<double> getJointMaxPositions();
103  std::vector<double> getJointMinPositions();
104  double getJointDefaultVelocity();
105  double getJointDefaultAcceleration();
106  std::vector<double> getJointMaxVelocity();
107  std::vector<double> getJointMaxAcceleration();
108 
109  double getTcpDefaultVelocity();
110  double getTcpDefaultAcceleration();
111  double getTcpMaxVelocity();
112  double getTcpMaxAcceleration();
113  double getTcpMaxDistance();
114 
115  double getMaxPayloadMass();
116  double getMaxPayloadDistance();
117 
118  std::vector<double> getHomeDefaultPosition();
119  std::vector<double> getHomePackagePosition();
120 
121  std::unordered_map<std::string, std::vector<double>> getRobotDhParams(
122  bool is_real);
123 
124  IoConfigure getToolDigitalIOConfigure();
125 
126  IoConfigure getStandardDigitalInputConfigure();
127  IoConfigure getConfigurableDigitalInputConfigure();
128 
129  IoConfigure getStandardDigitalOutputConfigure();
130  IoConfigure getConfigurableDigitalOutputConfigure();
131 
132  IoConfigure getStandardAnalogInputConfigure();
133  IoConfigure getToolAnalogInputConfigure();
134 
135  IoConfigure getStandardAnalogOutputConfigure();
136  IoConfigure getToolAnalogOutputConfigure();
137 
138  IoConfigure getStaticLinkInputConfigure();
139  IoConfigure getStaticLinkOutputConfigure();
140 
141 private:
142  friend class DataSwitch;
143  SystemApi();
144  void *d_{ nullptr };
145 };
146 
147 } // namespace aubo_scope
148 } // namespace arcs
149 
150 #endif // SYSTEMAPI_H
ARCS_CLASS_FORWARD(GripForceCapability)
std::vector< int > sequences
Definition: system_api.h:23
std::vector< double > mins
Definition: system_api.h:29
std::vector< int > types
Definition: system_api.h:28
std::vector< int > safety_functions_fixed
Definition: system_api.h:26
std::vector< std::string > names
Definition: system_api.h:22
std::vector< int > functions
Definition: system_api.h:24
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16
std::vector< int > safety_functions
Definition: system_api.h:25
std::vector< double > maxs
Definition: system_api.h:30