/pilz_robots

PILZ robot manipulator module PRBT in ROS

Primary LanguageC++

ROS_PRBT

Package: pilz_robots

The meta package for the PILZ robot manipulator PRBT.

PRBT manipulator

Build Status

Kinetic + Melodic
Build Status

We use the same source branch kinetic-devel for binary releases to ROS Kinetic and to ROS Melodic.

Package: prbt_support

The package contains the robot description of the PRBT manipulator.

  • urdf/ contains the xacros for generating the urdf descriptions of the PILZ robot PRBT.
  • meshes/ contains the stl files for visualization
  • test/ contains test files for urdf
    • build tests: catkin_make tests
    • build and run tests: catkin_make run_tests

Pilz Coordinate Frames

To see the robot in rviz you can use roslaunch prbt_support test_urdf.launch

The joint directions are illustrated in the following image: Joints

Configure the tcp

You can easily adjust the tool center point frame with an offset and rotation in the xacro file.

  1. Open prbt_support/urdf/prbt.xacro
  2. Edit the lines to your desired offset
  <xacro:unless value="$(arg gripper)">
    <xacro:arg name="tcp_offset_xyz" default="0 0 0"/>
    <xacro:arg name="tcp_offset_rpy" default="0 0 0"/>
  </xacro:unless>

Note: You can set a different default if you have a gripper attached.

Package: prbt_moveit_config

The package is generated by moveit setup assistant. It contains configuration files and launch files needed to start up the robot including planning and execution.

PRBT with MotionPlanningPlugin in rviz

Configuring the robot

Use the launch file moveit_planning_execution.launch to bringup the robot controllers with the complete moveit pipeline. The launch file allows to set optional parameters

  • sim (default: True)
    true: Use fake execution and display emulated robot position in RViz
    false: connect to real robot using ros_canopen
  • pipeline (default: ompl)
    Planning pipeline to use with moveit
  • gripper (default: None)
    See Running the prbt with a gripper

Running the simulation

  1. Run roslaunch prbt_moveit_config moveit_planning_execution.launch sim:=true pipeline:=ompl
  2. Use the moveit Motion Planning rviz plugin to plan and execute (see e.g. ROS-I training exercise 3.4)

Running on the real robot

  1. Bringup can: sudo ip link set can0 up type can bitrate 1000000 (after every reboot or reconnect of the CAN hardware). For persistent configuration append the following to the file /etc/network/interfaces
auto can0
iface can0 can static
        bitrate 1000000
  1. Run roslaunch prbt_moveit_config moveit_planning_execution.launch sim:=false pipeline:=ompl
  2. Use the moveit Motion Planning rviz plugin to plan and execute (see simulation section; set Velocity Scaling to 0.1 first)

Running the prbt with a gripper

Currently only the Schunk pg70 is supported. To run it, first install the package:

  • sudo apt-get install ros-kinetic-prbt-pg70-support

then start the robot like before but with the gripper:=pg70 set. Both simulation and real robot work.

Package: prbt_ikfast_manipulator_plugin

The package contains a moveit plugin for inverse kinematics of the manipulator, which is a wrapper of ikfast.cpp to the kinematics base interface of moveit.