An example showing how to control FRANKA's vacuum gripper.
#include <iostream>
#include <thread>
int main(int argc, char** argv) {
if (argc != 2) {
std::cerr << "Usage: ./vacuum_object <vacuum-gripper-hostname>" << std::endl;
return -1;
}
try {
std::cout << "Initial vacuum gripper state: " << vacuum_gripper_state << std::endl;
if (!vacuum_gripper.
vacuum(100, std::chrono::milliseconds(1000))) {
std::cout << "Failed to vacuum the object." << std::endl;
return -1;
}
vacuum_gripper_state = vacuum_gripper.
readOnce();
std::cout << "Vacuum gripper state after applying vacuum: " << vacuum_gripper_state
<< std::endl;
std::this_thread::sleep_for(std::chrono::duration<double, std::milli>(3000));
vacuum_gripper_state = vacuum_gripper.
readOnce();
std::cout << "Object lost." << std::endl;
return -1;
}
std::cout << "Vacuumed object, will release it now." << std::endl;
vacuum_gripper.
dropOff(std::chrono::milliseconds(1000));
std::cout << e.what() << std::endl;
return -1;
}
return 0;
}