Flexiv RDK APIs  1.5.1
gripper.hpp
Go to the documentation of this file.
1 
6 #ifndef FLEXIV_RDK_GRIPPER_HPP_
7 #define FLEXIV_RDK_GRIPPER_HPP_
8 
9 #include "robot.hpp"
10 #include <memory>
11 
12 namespace flexiv {
13 namespace rdk {
14 
19 class Gripper
20 {
21 public:
27  Gripper(const Robot& robot);
28  virtual ~Gripper();
29 
38  void Init();
39 
49  void Grasp(double force);
50 
62  void Move(double width, double velocity, double force_limit = 0);
63 
69  void Stop();
70 
75  bool moving() const;
76 
82  const GripperStates states() const;
83 
84 private:
85  class Impl;
86  std::unique_ptr<Impl> pimpl_;
87 };
88 
89 } /* namespace rdk */
90 } /* namespace flexiv */
91 
92 #endif /* FLEXIV_RDK_GRIPPER_HPP_ */
Interface with the robot gripper.
Definition: gripper.hpp:20
const GripperStates states() const
[Non-blocking] Access the current gripper states.
void Stop()
[Blocking] Stop the gripper.
bool moving() const
[Non-blocking] Whether the gripper fingers are moving.
void Move(double width, double velocity, double force_limit=0)
[Non-blocking] Move the gripper fingers with position control.
void Init()
[Blocking] Manually trigger the initialization of the connected gripper. This step is not needed for ...
void Grasp(double force)
[Non-blocking] Grasp with direct force control. Requires the mounted gripper to support direct force ...
Gripper(const Robot &robot)
[Non-blocking] Create an instance and initialize gripper control interface.
Main interface with the robot, containing several function categories and background services.
Definition: robot.hpp:25
Data structure containing the gripper states.
Definition: data.hpp:305