{"id":13755218,"url":"https://github.com/PilzDE/pilz_robots","last_synced_at":"2025-05-10T00:31:42.966Z","repository":{"id":48533456,"uuid":"140571618","full_name":"PilzDE/pilz_robots","owner":"PilzDE","description":"PILZ robot manipulator module PRBT 6 in ROS","archived":true,"fork":false,"pushed_at":"2023-11-22T12:33:46.000Z","size":6666,"stargazers_count":52,"open_issues_count":0,"forks_count":25,"subscribers_count":7,"default_branch":"noetic-devel","last_synced_at":"2024-11-16T09:33:58.441Z","etag":null,"topics":["moveit","pilz","prbt","robotics","ros"],"latest_commit_sha":null,"homepage":"https://wiki.ros.org/pilz_robots","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PilzDE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-07-11T12:24:56.000Z","updated_at":"2024-10-11T01:58:25.000Z","dependencies_parsed_at":"2024-01-17T15:04:18.278Z","dependency_job_id":"7a63d52a-a0d4-4e95-a43c-76e326f76f88","html_url":"https://github.com/PilzDE/pilz_robots","commit_stats":null,"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PilzDE%2Fpilz_robots","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PilzDE%2Fpilz_robots/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PilzDE%2Fpilz_robots/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PilzDE%2Fpilz_robots/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PilzDE","download_url":"https://codeload.github.com/PilzDE/pilz_robots/tar.gz/refs/heads/noetic-devel","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253346490,"owners_count":21894264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["moveit","pilz","prbt","robotics","ros"],"created_at":"2024-08-03T10:00:49.068Z","updated_at":"2025-05-10T00:31:40.754Z","avatar_url":"https://github.com/PilzDE.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"[![PILZ](prbt_support/img/pilz-logo.png)](https://www.pilz.com)\n# PILZ robot manipulator module PRBT 6 in ROS\n\n## Package: pilz_robots\nThe meta package for the PILZ manipulator PRBT 6. Here you can find documentation of the individual packages. For a general overview and link collection we refer to the [wiki page](http://wiki.ros.org/pilz_robots).\n\n![PRBT manipulator](prbt_support/img/prbt.jpg)\n\n### Installation\nTo use the packages, you can install prebuilt packages with\n```\nsudo apt install ros-$ROS_DISTRO-pilz-robots\n```\n\n### Build Status\n\n|   | Kinetic | Melodic | Noetic\n| ----| --------|-------- |-------- |\n| Travis/Github CI  | [![Build Status](https://travis-ci.org/PilzDE/pilz_robots.svg?branch=kinetic-devel)](https://travis-ci.org/PilzDE/pilz_robots) | [![CI-Melodic](https://github.com/PilzDE/pilz_robots/workflows/CI-Melodic/badge.svg?branch=melodic-devel\u0026event=push)](https://github.com/PilzDE/pilz_robots/actions?query=event%3Apush+workflow%3ACI-Melodic+branch%3Amelodic-devel) | [![CI-Noetic](https://github.com/PilzDE/pilz_robots/workflows/CI-Noetic/badge.svg?event=push)](https://github.com/PilzDE/pilz_robots/actions?query=event%3Apush+workflow%3ACI-Noetic+branch%3Anoetic-devel) |\n| Buildfarm src | [![buildfarm](http://build.ros.org/buildStatus/icon?job=Ksrc_uX__pilz_robots__ubuntu_xenial__source)](http://build.ros.org/view/Ksrc_uX/job/Ksrc_uX__pilz_robots__ubuntu_xenial__source/) | [![buildfarm](http://build.ros.org/buildStatus/icon?job=Msrc_uB__pilz_robots__ubuntu_bionic__source)](http://build.ros.org/view/Msrc_uB/job/Msrc_uB__pilz_robots__ubuntu_bionic__source/) | [![buildfarm](http://build.ros.org/buildStatus/icon?job=Nsrc_uF__pilz_robots__ubuntu_focal__source)](http://build.ros.org/view/Nsrc_uF/job/Nsrc_uF__pilz_robots__ubuntu_focal__source/) |\n| Buildfarm bin | [![buildfarm](http://build.ros.org/buildStatus/icon?job=Kbin_uX64__pilz_robots__ubuntu_xenial_amd64__binary)](http://build.ros.org/view/Kbin_uX64/job/Kbin_uX64__pilz_robots__ubuntu_xenial_amd64__binary/) | [![buildfarm](http://build.ros.org/buildStatus/icon?job=Mbin_uB64__pilz_robots__ubuntu_bionic_amd64__binary)](http://build.ros.org/view/Mbin_uB64/job/Mbin_uB64__pilz_robots__ubuntu_bionic_amd64__binary/)| [![buildfarm](http://build.ros.org/buildStatus/icon?job=Nbin_uF64__pilz_robots__ubuntu_focal_amd64__binary)](http://build.ros.org/view/Nbin_uF64/job/Nbin_uF64__pilz_robots__ubuntu_focal_amd64__binary/) |\n\n\n#### Branching model\n`noetic-devel` is considered to be the active development branch.\nRelevant changes are cherry-picked into `melodic-devel` or `kinetic-devel` on a case-by-case basis.\n\n\n### Supported hardware versions\nPRBT firmware version 1.1.0\n\nIf you want to update your PRBT firmware please contact our [repair center](https://www.pilz.com/en-INT/support/repair-service).\n\n\n## Package: prbt_support\nThe package contains the robot description of the PRBT manipulator.\n- `urdf/` contains the xacros for generating the urdf descriptions of the PILZ robot PRBT.\n- `meshes/` contains the stl files for visualization\n- `test/` contains test files for urdf\n  - build tests: `catkin_make tests`\n  - build and run tests: `catkin_make run_tests`\n- `config/` defines the controllers and drivers. Loads the specialized `PilzTrajectoryController`.\n\n### Pilz Coordinate Frames\nTo see the robot in rviz you can use\n``roslaunch prbt_support test_urdf.launch``\n\nThe joint directions are illustrated in the following image:\n![Joints](prbt_support/img/joints.png)\n\n### Configure the tcp\nYou can easily adjust the tool center point frame with an offset and rotation in the xacro file.\n\n1. Open prbt_support/urdf/prbt.xacro\n2. Edit the lines to your desired offset\n\n```\n  \u003cxacro:unless value=\"$(arg gripper)\"\u003e\n    \u003cxacro:arg name=\"tcp_offset_xyz\" default=\"0 0 0\"/\u003e\n    \u003cxacro:arg name=\"tcp_offset_rpy\" default=\"0 0 0\"/\u003e\n  \u003c/xacro:unless\u003e\n```\n\nNote: You can set a different default if you have a gripper attached.\n\n## Package: prbt\\_moveit\\_config\nThe package is generated by moveit setup assistant. It contains configuration files and launch files needed\nto start up the robot including planning and execution.\n\n![PRBT with MotionPlanningPlugin in rviz](prbt_moveit_config/img/prbt_rviz_planning_screenshot.png)\n\n### Configuring the robot\nUse the launch file `moveit_planning_execution.launch` to bring up the robot controllers\nwith the complete moveit pipeline.\nThe launch file allows to set optional parameters\n* `sim` (default: True) \u003cbr\u003e\n    true: Use fake execution and display emulated robot position in RViz\u003cbr\u003e\n    false: connect to real robot using `ros_canopen`\n* `pipeline` (default: ompl) \u003cbr\u003e\n    Planning pipeline to use with moveit\n* `load_robot_description` (default: True)\u003cbr\u003e\n    Load robot description to parameter server. Can be set to false to let someone else load the model\n* `rviz_config` (default: prbt_moveit_config/launch/moveit.rviz)\u003cbr\u003e\n    Start RViz with default configuration settings. Once you have changed the configuration and have saved\n       it inside your package folder, set the path and file name here.\n* `gripper` (default: None) \u003cbr\u003e\n    See [Running the prbt with a gripper](#running-the-prbt-with-a-gripper)\n* `safety_hw` (default: pss4000)\u003cbr\u003e\n    Connect to the safety controller that handles the safe-torque-off signal.\n\tOnly relevant for `sim:=False` to issue a Safe stop 1.\n\tSee [prbt_hardware_support package](prbt_hardware_support/README.md).\n\n### Running the simulation\n1. Run `roslaunch prbt_moveit_config moveit_planning_execution.launch sim:=true pipeline:=ompl`\n2. Use the moveit Motion Planning rviz plugin to plan and execute\n   (see e.g. [ROS-I training exercise 3.4](https://industrial-training-master.readthedocs.io/en/melodic/_source/session3/Motion-Planning-RVIZ.html))\n\n### Running on the real robot\n1. Activate can interface: `sudo ip link set can0 up type can bitrate 1000000` (after every reboot or reconnect of the CAN hardware).\n   For persistent configuration append the following to the file `/etc/network/interfaces`\n\n```\nauto can0\niface can0 can static\n        bitrate 1000000\n```\n\n2. Run `roslaunch prbt_moveit_config moveit_planning_execution.launch sim:=false pipeline:=ompl`\n3. Use the moveit Motion Planning rviz plugin to plan and execute (see simulation section; set `Velocity Scaling` to 0.1 first)\n\nInstead of OMPL use the industrial motion planners of Pilz for executing industrial robot commands like PTP, LIN, etc. For this install the\npackage [pilz_industrial_motion_planner](http://wiki.ros.org/pilz_industrial_motion_planner):\n```\nsudo apt install ros-kinetic-pilz-trajectory-generation\nor\nsudo apt install ros-melodic-pilz-trajectory-generation\nor\nsudo apt install ros-noetic-pilz-industrial-motion-planner\n```\n\nthen replace the pipeline in the above command by `pipeline:=pilz_industrial_motion_planner`.\n\n### Adjust expert parameters\nIf you've created an application package with your own launch file as described in the\n[tutorials](https://wiki.ros.org/pilz_robots/Tutorials/ModelYourApplicationWithPRBT#Create_your_application_ROS_package),\nyou can easily adjust many other configuration parameters.\nSee the comments in the [pilz_tutorials package](https://github.com/PilzDE/pilz_tutorials) and templates in the [pilz_templates repo](https://github.com/PilzDE/pilz_templates).\n\n### Running the prbt with a gripper\nCurrently only the Schunk pg70 is supported. To run it, first install the package:\n```\nsudo apt install ros-$ROS_DISTRO-prbt-pg70-support\n```\n\nthen start the robot like before but with the `gripper:=pg70` set. Both simulation and real robot work.\n\n## Package: prbt_ikfast_manipulator_plugin\nThe package contains a moveit plugin for inverse kinematics of the manipulator, which is a\nwrapper of `ikfast.cpp` to the kinematics base interface of moveit.\n\n## Package: pilz_control\nContains a specialized version of `ros_controllers::JointTrajectoryController` which can be put into a holding mode.\nA controlled stop using a hold trajectory is performed thus stopping the manipulator without the mechanical stress of a hard brake.\nFurther, the controller monitors cartesian speed and joint accelerations to fulfill the requirements of the selected operation mode.\n\n**Topic interface deprecated:**\nSee [here](pilz_control/README.md)\n\n## Package: prbt_hardware_support\nThis package provides support for the Pilz hardware PNOZmulti and PSS4000. A configurable modbus connection is set up via\n`roslaunch prbt_hardware_support modbus_client.launch`. Particular features (detailed description [here](prbt_hardware_support/README.md)):\n- Stop1 functionality\n- Safe Brake Control functionality\n- Operation modes T1 (reduced speed) and AUTOMATIC\n\n## Package: prbt_gazebo\nProvides a launch file to run the prbt manipulator inside gazebo.\n\n## Package: pilz_status_indicator_rqt\nThis package defines an rqt-plugin to display information about the robots state to the user.\nIt will show:\n* Current operation mode\n* Operation state of the robot (PRBT)\n* Operation state of the ROS system\n* Current speed override\n\n![The Status Indicator Widget](pilz_status_indicator_rqt/doc/widget_screenshot.png)\n\nIt can be launched with `rosrun pilz_status_indicator_rqt pilz_status_indicator_rqt` in a floating, standalone rqt instance. Alternatively it can be integrated in an existing rqt environment next to other widgets, if required.\n\n## You need further information?\nOur international hotline staff will support you individually about our ROS packages at\nros@pilz.de\n\nFind more information about the Pilz manipulator module on the [product website](https://www.pilz.com/en-INT/eshop/00108002327111/PRBT-manipulator-modules).\n\n## Visit us at [pilz.com](https://www.pilz.com)\nPilz is an international-scale, innovative automation technology company.\nPilz uses its solutions to create safety for man, machine and the environment.\nIn addition to head office in Ostfildern near Stuttgart,\nthe family business is represented over 2,400\nemployees at 42 subsidiaries and branches on all\ncontinents.\n\nThe company’s products include sensor technology, electronic monitoring relays, safety\nrelays, configurable and programmable control systems, automation solutions with motion\ncontrol, systems for industrial communication as well as visualization solutions and\noperator terminals.\n\nPilz solutions can be used in all areas of mechanical engineering, including the packaging\nand automotive sector, plus the railway technology, press and wind energy sectors.\nThese solutions ensure that baggage handling systems run safely at airports and\nfuniculars or roller coasters travel safely; they also guarantee fire protection and energy\nsupply in buildings.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPilzDE%2Fpilz_robots","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPilzDE%2Fpilz_robots","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPilzDE%2Fpilz_robots/lists"}