Flexiv RDK APIs  1.4
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 
35  void Init();
36 
46  void Grasp(double force);
47 
59  void Move(double width, double velocity, double force_limit = 0);
60 
66  void Stop();
67 
72  bool moving() const;
73 
79  const GripperStates states() const;
80 
81 private:
82  class Impl;
83  std::unique_ptr<Impl> pimpl_;
84 };
85 
86 } /* namespace rdk */
87 } /* namespace flexiv */
88 
89 #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] Initialize the gripper.
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:24
Data structure containing the gripper states.
Definition: data.hpp:233