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
-
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=Release
cmake 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_states
We can also call any of the spawned action services to control the robot. To see which action services are available, use the
rostopic list
command. All the topics which contain a/cancel
,/feedback
,/goal
,/result
and/status
suffixes 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.py
tool (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.py
tool: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:=true
command 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_control
package. For this, we can use any of the example launch files in thefranka_example_controllers
package. It contains the following examples:FrankaPoseCartesianInterface
interface.FrankaVelocityCartesianInterface
interface.PositionJointInterface
interface.VelocityJointInterface
interface.FrankaStateInterface
interface.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.launch
launch file.Example launch command
Control the robot using moveit
We can also make use of Moveit to control the Franka robot through the
franka_control
package.To test out Moveit control, after you build and sourced the catkin workspace, you can launch the example included in the
panda_moveit_config
using the following command:Additionally the
real_panda_moveit_control
contains a slightly modified version of this example:Beta Was this translation helpful? Give feedback.
All reactions