Program Listing for File vacuum_gripper.h
↰ Return to documentation for file (include/franka/vacuum_gripper.h
)
// Copyright (c) 2023 Franka Robotics GmbH
// Use of this source code is governed by the Apache-2.0 license, see LICENSE
#pragma once
#include <chrono>
#include <cstdint>
#include <memory>
#include <string>
#include <franka/vacuum_gripper_state.h>
namespace franka {
class Network;
class VacuumGripper {
public:
using ServerVersion = uint16_t;
enum class ProductionSetupProfile { kP0, kP1, kP2, kP3 };
explicit VacuumGripper(const std::string& franka_address);
VacuumGripper(VacuumGripper&& vacuum_gripper) noexcept;
VacuumGripper& operator=(VacuumGripper&& vacuum_gripper) noexcept;
~VacuumGripper() noexcept;
bool vacuum(uint8_t vacuum,
std::chrono::milliseconds timeout,
ProductionSetupProfile profile = ProductionSetupProfile::kP0) const;
bool dropOff(std::chrono::milliseconds timeout) const;
bool stop() const;
VacuumGripperState readOnce() const;
ServerVersion serverVersion() const noexcept;
VacuumGripper(const VacuumGripper&) = delete;
VacuumGripper& operator=(const VacuumGripper&) = delete;
private:
std::unique_ptr<Network> network_;
uint16_t ri_version_;
};
} // namespace franka