Skip to content
Snippets Groups Projects
Commit 0635e31d authored by Florian Walch's avatar Florian Walch
Browse files

Remove gripper epsilon

parent 4d344895
No related branches found
No related tags found
No related merge requests found
......@@ -3,7 +3,6 @@
## 0.2.0 - UNRELEASED
* Added missing run-time dependencies to `franka_description` and `franka_control`
* Added epsilon to grasp action
* Added `m_ee`, `F_x_Cee`, `I_ee`, `m_total`, `F_x_Ctotal` and `I_total`
to the robot state
* Updated and improved examples
......
......@@ -24,11 +24,6 @@ add_action_files(
Move.action
)
add_message_files(
DIRECTORY msg
FILES GraspEpsilon.msg
)
generate_messages(DEPENDENCIES actionlib_msgs)
catkin_package(
......
float64 width # [m]
GraspEpsilon epsilon
float64 speed # [m/s]
float64 force # [N]
---
......
......@@ -3,6 +3,3 @@ joint_names:
- panda_finger_joint1
- panda_finger_joint2
default_speed: 0.1 # [m/s]
default_grasp_epsilon:
inner: 0.005 # [m]
outer: 0.005 # [m]
\ No newline at end of file
......@@ -35,13 +35,11 @@ bool updateGripperState(const franka::Gripper& gripper, franka::GripperState* st
*
* @param[in] gripper A pointer to a franka gripper
* @param[in] default_speed The default speed for a gripper action
* @param[in] grasp_epsilon The epsilon window of the grasp.
* @param[in] action_server A pointer to a gripper action server
* @param[in] goal A gripper action goal
*/
void gripperCommandExecuteCallback(
const franka::Gripper& gripper,
const GraspEpsilon& grasp_epsilon,
double default_speed,
actionlib::SimpleActionServer<control_msgs::GripperCommandAction>* action_server,
const control_msgs::GripperCommandGoalConstPtr& goal);
......@@ -78,10 +76,9 @@ bool stop(const franka::Gripper& gripper, const StopGoalConstPtr& /*goal*/);
* Calls the libfranka grasp service of the gripper
*
* @param[in] gripper A gripper instance to execute the command
* @param[in] goal A grasp goal with target width, epsilon_inner, epsilon_outer, velocity and effort
* @param[in] goal A grasp goal with target width, velocity and effort
*
* @return True if an object has been grasped, i.e.: the distance between the gripper fingers is
* (width - epsilon_inner) < distance < (width + epsilon_outer), false otherwise.
* @return True if an object has been grasped, false otherwise.
*/
bool grasp(const franka::Gripper& gripper, const GraspGoalConstPtr& goal);
......
float64 inner # [m]
float64 outer # [m]
......@@ -29,7 +29,6 @@ bool updateGripperState(const franka::Gripper& gripper, franka::GripperState* st
void gripperCommandExecuteCallback(
const franka::Gripper& gripper,
const GraspEpsilon& grasp_epsilon,
double default_speed,
actionlib::SimpleActionServer<control_msgs::GripperCommandAction>* action_server,
const control_msgs::GripperCommandGoalConstPtr& goal) {
......@@ -43,8 +42,7 @@ void gripperCommandExecuteCallback(
if (goal->command.position >= state.width) {
return gripper.move(goal->command.position, default_speed);
}
return gripper.grasp(goal->command.position, default_speed, goal->command.max_effort,
grasp_epsilon.inner, grasp_epsilon.outer);
return gripper.grasp(goal->command.position, default_speed, goal->command.max_effort);
};
try {
......@@ -79,8 +77,7 @@ bool stop(const franka::Gripper& gripper, const StopGoalConstPtr& /*goal*/) {
}
bool grasp(const franka::Gripper& gripper, const GraspGoalConstPtr& goal) {
return gripper.grasp(goal->width, goal->speed, goal->force, goal->epsilon.inner,
goal->epsilon.outer);
return gripper.grasp(goal->width, goal->speed, goal->force);
}
} // namespace franka_gripper
......@@ -38,7 +38,6 @@ void handleErrors(actionlib::SimpleActionServer<T_action>* server,
using actionlib::SimpleActionServer;
using control_msgs::GripperCommandAction;
using franka_gripper::GraspAction;
using franka_gripper::GraspEpsilon;
using franka_gripper::GraspGoalConstPtr;
using franka_gripper::GraspResult;
using franka_gripper::HomingAction;
......@@ -71,17 +70,6 @@ int main(int argc, char** argv) {
ROS_INFO_STREAM("franka_gripper_node: Found default_speed " << default_speed);
}
GraspEpsilon default_grasp_epsilon;
default_grasp_epsilon.inner = 0.005;
default_grasp_epsilon.outer = 0.005;
std::map<std::string, double> epsilon_map;
if (node_handle.getParam("default_grasp_epsilon", epsilon_map)) {
ROS_INFO_STREAM("franka_gripper_node: Found default_grasp_epsilon "
<< "inner: " << epsilon_map["inner"] << ", outer: " << epsilon_map["outer"]);
default_grasp_epsilon.inner = epsilon_map["inner"];
default_grasp_epsilon.outer = epsilon_map["outer"];
}
franka::Gripper gripper(robot_ip);
std::function<bool(const HomingGoalConstPtr&)> homing_handler =
......@@ -116,8 +104,8 @@ int main(int argc, char** argv) {
SimpleActionServer<GripperCommandAction> gripper_command_action_server(
node_handle, "gripper_action",
std::bind(&gripperCommandExecuteCallback, std::cref(gripper), default_grasp_epsilon,
default_speed, &gripper_command_action_server, std::placeholders::_1),
std::bind(&gripperCommandExecuteCallback, std::cref(gripper), default_speed,
&gripper_command_action_server, std::placeholders::_1),
false);
homing_action_server_.start();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment