Transition to Hardware#

Obviously their are multiple differences between controlling a simulated and a real Franka Emika Panda. Here we briefly look at how hardware programming differs from simulation.

Configuration of MoveIt

First of all, we are using for the simulation a special panda_moveit_config, which binds our application code to controllers, which in turn are connected to the simulator. Thus, we are using the official panda_moveit_config here.

Secondly, we are using a modified version of the offical franka_description, which can be found here. Several modifications are included in the repository to make sure that the robot operates safely and no motion plans are created by MoveIt which may reach the joint limits of the robot.

Making the robot grasp

Making the robot grasp safely based on MoveIts grasping pipeline required us to fork several packages of the MoveIt framework.

Firstly, we forked (see GitLab) MoveIts manipulation package to allow the manipulation of velocity and acceleration for grasping operations (the arm motion, not the finger motion). Based on this, the configuration of four parameters in the parameter-server allows to control velocity and acceleration:

  • max_grasp_approach_velocity (max velocity from start-pose to pre-approach pose and starting from pre-place-approach pose)

  • max_grasp_approach_acceleration (max acceleration from start-pose to pre-approach pose and starting from pre-place-approach pose)

  • max_grasp_transition_velocity (max velocity from post-grasp pose to pre-place-approach pose)

  • max_grasp_transition_acceleration (max acceleration from post-grasp pose to pre-place-approach pose)

Secondly, we forked the official franka_gripper package to allow us to adjust the grasping force, which did not work out with the version which was provided by Franka Emika, when using MoveIt. The result can be found here. You can do this by the configuration of one parameter in the parameter-server of ROS. The parameter tud_grasp_force, which accepts the force in Newton as parameter. Optimal parameter range is tested from 5 N to 14 N.