Skip to content

iit-DLSLab/piper-ros2-dls

Repository files navigation

Overview

ROS 2 workspace for controlling AgileX Piper arms from ROS 2 or DLS controllers.

The repository is based on AgileX's new driver stack:

  • pyAgxArm for the Python CAN driver
  • agx_arm_ros for the official ROS 2 control, message, description, and MoveIt packages

The local ROS package named piper_sdk is kept as a thin wrapper around pyAgxArm, so the SDK is installed by colcon build without using pip install --break-system-packages.

Repository Contents

This workspace contains the following packages:

  • piper_sdk: ROS 2 wrapper around the pyAgxArm git submodule, automatically installed by colcon build
  • agx_arm_ros: Official AgileX ROS 2 packages for control, messages, description, and MoveIt
  • dls2_interface: Standard messages definition for DLS2
  • dls2_piper_bridge: DLS2 hardware-abstraction-layer using the pyAgxArm API

Installation

You can follow a readme based on conda here or rosdep here

DLS2 HAL

To control the arm with DLS2 nodes, a single python script is provided to launch the HAL

python3 launch_piper_hal.py

ROS 2 HAL + MoveIt

To control the arm with ROS 2 nodes, the official ROS 2 HAL can be employed.

Before using the arm, CAN-bus communication must be manually enabled

bash ./src/agx_arm_ros/scripts/can_activate.sh

A convenient launch file is provided in agx_arm_ctrl to run the arm control node together with the MoveIt framework

ros2 launch agx_arm_ctrl start_single_agx_arm_moveit.launch.py arm_type:=piper_l effector_type:=agx_gripper follow:=true

Warning

Running this command will move the arm to the zero configuration. Ensure that there are no obstacles nearby and always start from a nearby configuration.

Maintainer

This repository is maintained by Giulio Turrisi and Antonio Langella.

About

A wrapper over piper_sdk repository, that adds a new script for comunicating with DLS controllers

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages