Panda get started tutorial #4
rickstaa
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This discussion post serves as a quick tutorial on working with the panda robot. For a more comprehensive guide, see the official panda documentation.
Setup instructions
For the instructions on setting up the Franka Control Interface on the workstation see the Franka documentation. If you have problems with building the real-time kernel see this issue on the Libfranka repository.
Control examples
Below you will find several control examples that get you familiar with how to work with the robot.
Control the robot using franka_ros
Let's first try controlling the robot with the examples given in the franka_ros documentation.
Libfranka and franka_ros build instructions
When installing the libfranka and franka_ros according to the panda documentation, make sure you build it from source. When building the franka_ros package you have to point catkin to the path where you compiled the libfranka library
-DFranka_DIR:PATH=~/libfranka/build. Further, you have to make sure you provide the-DCMAKE_BUILD_TYPE=Releasecmake argument.Use the franka_gripper node to control the gripper
Start the franka_gripper node with the following command:
We can then check the joint_states using:
rostopic echo /franka_gripper/joint_statesWe can also call any of the spawned action services to control the robot. To see which action services are available, use the
rostopic listcommand. All the topics which contain a/cancel,/feedback,/goal,/resultand/statussuffixes are action services. We can call these action services by publishing to the goal topic directly, using a python or C++ script or by using theactionlib axclient.pytool (see the docs). We can for example home the gripper using the following command:The right message can be found by using bash tab autocompletion. Alternatively, we can use the
axclient.pytool:Visualize the robot using the franka_visualization node
We can use the
roslaunch franka_visualization franka_visualization.launch robot_ip:=172.16.0.2 load_gripper:=truecommand to show the robot state in rviz.Control the robot using the franka_control_examples
Now let's try to control the whole robot using the
franka_controlpackage. For this, we can use any of the example launch files in thefranka_example_controllerspackage. It contains the following examples:FrankaPoseCartesianInterfaceinterface.FrankaVelocityCartesianInterfaceinterface.PositionJointInterfaceinterface.VelocityJointInterfaceinterface.FrankaStateInterfaceinterface.For more information on all the interfaces available in the libfranka library see the documentation. If you get an error during this examples you can reset the control using the following command:
For several examples, the robot needs to start in the home position. The robot can be moved to this position with the
move_to_start.launchlaunch file.Example launch command
Control the robot using moveit
We can also make use of Moveit to control the Franka robot through the
franka_controlpackage.To test out Moveit control, after you build and sourced the catkin workspace, you can launch the example included in the
panda_moveit_configusing the following command:Additionally the
real_panda_moveit_controlcontains a slightly modified version of this example:Beta Was this translation helpful? Give feedback.
All reactions