All Projects → ros-industrial → abb_robot_driver

ros-industrial / abb_robot_driver

Licence: BSD-3-Clause License
The new ROS driver for ABB robots

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to abb robot driver

abb libegm
A C++ library for interfacing with ABB robot controllers supporting Externally Guided Motion (689-1)
Stars: ✭ 71 (+29.09%)
Mutual labels:  ros-industrial, abb, egm
abb librws
A C++ library for interfacing with ABB robot controllers supporting Robot Web Services
Stars: ✭ 54 (-1.82%)
Mutual labels:  ros-industrial, abb, rws
roboteq control
⚙️ Driver for Roboteq devices using ros_control
Stars: ✭ 32 (-41.82%)
Mutual labels:  driver, ros-control
kuka
ROS-Industrial KUKA support (http://wiki.ros.org/kuka)
Stars: ✭ 23 (-58.18%)
Mutual labels:  driver, ros-industrial
staubli
ROS-Industrial Staubli support (http://wiki.ros.org/staubli)
Stars: ✭ 15 (-72.73%)
Mutual labels:  driver, ros-industrial
SkotOS
Open Source version of the SkotOS narrative prose library, using the DGD driver.
Stars: ✭ 21 (-61.82%)
Mutual labels:  driver
rql-scala
RethinkDB Scala Driver
Stars: ✭ 13 (-76.36%)
Mutual labels:  driver
vboxpower
VirtualBox Power Driver for MAAS
Stars: ✭ 107 (+94.55%)
Mutual labels:  driver
Paperino
E-Paper display library for the Particle & Arduino family.
Stars: ✭ 35 (-36.36%)
Mutual labels:  driver
mongodb-go-tutorial
Example using the MongoDB Go Driver
Stars: ✭ 114 (+107.27%)
Mutual labels:  driver
dxx
Windows Kernel Driver with C++ runtime
Stars: ✭ 128 (+132.73%)
Mutual labels:  driver
realtek rtwifi
Realtek RTWIFI - RTL8XXXU mod
Stars: ✭ 32 (-41.82%)
Mutual labels:  driver
mlx90632-library
MLX90632 library for the Melexis 90632 Infra Red temperature sensor.
Stars: ✭ 34 (-38.18%)
Mutual labels:  driver
Driver.NET
Lightweight and flexible library to load and communicate with kernel drivers on Windows.
Stars: ✭ 59 (+7.27%)
Mutual labels:  driver
cdrs-tokio
High-level async Cassandra client written in 100% Rust.
Stars: ✭ 54 (-1.82%)
Mutual labels:  driver
wiasane
Scanner Access Now Easy - WIA Driver
Stars: ✭ 109 (+98.18%)
Mutual labels:  driver
linux nvidia jetson
Allied Vision CSI-2 camera driver for NVIDIA Jetson Systems. Currently supporting Nano, TX2, AGX Xavier, and Xavier NX. Support for TX2 NX coming soon.
Stars: ✭ 68 (+23.64%)
Mutual labels:  driver
swoole-postgresql-doctrine-driver
🔌 A Doctrine DBAL Driver implementation on top of Swoole Coroutine PostgreSQL client
Stars: ✭ 15 (-72.73%)
Mutual labels:  driver
rtl88x2BU WiFi linux v5.2.4.1 22719 COEX20170518-4444.20170613
rtl88x2bu driver updated for modern kernels.
Stars: ✭ 26 (-52.73%)
Mutual labels:  driver
state-farm-distracted-driver-detection
Automatically classification of each driver's behavior given a dataset of 2D dashboard camera images.
Stars: ✭ 32 (-41.82%)
Mutual labels:  driver

abb_robot_driver

CI - Ubuntu Bionic CI - Ubuntu Focal Github Issues

license - bsd 3 clause

support level: vendor

Please note that the included packages have not been productized, and that academia is the intended audience.
The packages are provided "as-is", and as such no more than limited support can be expected.

Overview

ROS packages intended to ease interaction between ABB robot controllers and ROS-based systems, by providing ready-to-run ROS nodes.


Connecting ABB robots, people and ROS systems together.

The included (principal) packages are briefly described in the following table:

Package Description
abb_rws_state_publisher Provides a ROS node that continuously polls an ABB robot controller for system states, which then are parsed into ROS messages and published to the ROS system.
abb_rws_service_provider Provides a ROS node that exposes ROS services, for discrete interaction with an ABB robot controller, like starting/stopping the RAPID program and reading/writing of IO-signals.
abb_egm_hardware_interface Provides ROS nodes for:
  • Running a ros_control-based hardware interface, for direct motion control of ABB robots (via the Externally Guided Motion (EGM) interface).
  • Automatically stopping ros_control controllers when EGM communication sessions ends (a user-provided list can specify controllers that are ok to keep running).
This package is only recommended for advanced users.

Please see each package for more details (e.g. additional requirements, limitations and troubleshooting).

It is recommended to utilize the RobotWare StateMachine Add-In to ease the setup of the ABB robot controller system. The StateMachine Add-In is optional, however, without it, the driver nodes will only be able to provide basic interaction with ABB robots.

Build Instructions

It is assumed that ROS has been installed on the system in question.

Note that the included packages have mainly been tested with ROS Melodic (on both Ubuntu and Windows).

catkin_tools

As some of the dependencies of this driver are plain CMake packages (instead of Catkin packages), they cannot be built using vanilla catkin, but require the use of either catkin_make_isolated or catkin_tools. The instructions in the rest of this section will assume catkin_tools will be used. In case of using catkin_make_isolated, be sure to update commands where necessary.

As workspaces cannot be built with both vanilla catkin and catkin_tools, if you already have a workspace and would like to add the packages of this driver to that workspace, be sure to clean the workspace prior to building it, as you will encounter errors otherwise.

vcstool

The instructions below assume vcstool is installed. Refer to How to install vcstool? in the vcstool readme for more information on how to install it on various OS.

Building the Packages

The following instructions assume that a Catkin workspace has been created at $HOME/catkin_ws and that the source space is at $HOME/catkin_ws/src. Update paths appropriately if they are different on the build machine.

The following instructions should build the main branches of all required repositories on a ROS Melodic system:

# Change to the root of the Catkin workspace.
cd $HOME/catkin_ws
mkdir -p src

# Use vcstool to clone all required repositories into the 'src' space.
vcs import src --input https://github.com/ros-industrial/abb_robot_driver/raw/master/pkgs.repos

# Check build dependencies.
# First update the local rosdep database.
rosdep update

# And then ask rosdep to install any missing dependencies for us.
# NOTE: This may install additional packages, depending on the software installed
#       on the machine. Be sure to check each command rosdep wants to run.
rosdep install --from-paths src --ignore-src --rosdistro melodic

# Finally build the workspace (using catkin_tools).
catkin build

If no errors were reported as part of the catkin build command, the build has succeeded and the driver should now be usable.

Activating the Workspace

Finally, activate the workspace to get access to the packages just built:

$ source $HOME/catkin_ws/devel/setup.bash

At this point all packages should be usable (ie: roslaunch should be able to auto-complete package names starting with abb_..). In case the workspace contains additional packages (i.e.: not from this repository), those should also still be available.

Bringup Examples

See abb_robot_bringup_examples for some basic examples of how to configure, launch and use the included ROS nodes.

Acknowledgements

ROSIN Project

rosin_logo The core development has been made within the European Union's Horizon 2020 project: ROSIN - ROS-Industrial Quality-Assured Robot Software Components (see http://rosin-project.eu for more info).

eu_flag The ROSIN project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement no. 732287.

The opinions expressed here reflects only the author's view and reflects in no way the European Commission's opinions. The European Commission is not responsible for any use that may be made of the contained information.

Special Thanks

Special thanks to gavanderhoorn for guidance with open-source practices and conventions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].