Welcome to the Advantech ROS 2 wrapper repository! This repository contains the source code and documentation of a ROS 2 wrapper for the Advantech devices. In our lab we have only the Advantech 4718 but I think the SDK provided by Advantech is the same for all the boards so it should also work in your device.
The Advantech 4718 is a high-performance industrial GPIO board designed for use in harsh environments. This repository contains the software and documentation needed to use and configure the device. The SDK provided by Advantech are supported up to Ubuntu 20.04 but I tested them and they also work in Ubuntu 22.04.
The repo has been tested in with Ubuntu 22.04 and ROS 2 Humble with Cyclone as DDS. Further compatibility with other Linux/ROS Distros is not excluded but it has not been tested.
To install the software and tools required to use the Advantech, follow these steps:
-
Clone the repository to your local machine:
git clone https://github.com/pucciland95/advantech_usb4718.git
-
Navigate to the root directory of the repository.
cd advantech_usb4718
-
Install any required dependencies using the provided instructions here depending on the board you have.
-
Compile the package using:
colcon build
The Advantech 4718 can be used for a wide range of industrial applications. The package is provided with a launch file with just one argument (pay attention that the board should be connected to your computer via USB port):
board_name
: this is the identifier of your board. Change it accordingly to your needs.
Once launched the package provides the user with the following services:
reset_do
: resets all the digital outputs of the board to LOW.set_do_high
: sets HIGH the digital outputs of a specific board port.set_do_low
: sets LOW the digital outputs of a specific board port.print_do_status
: prints on screen the DO status.
and the following topic:
DI_board_status
: provides the user with the digital input status (HIGH/LOW) written in esadecimal form.
We welcome contributions to this repository! If you'd like to contribute, please follow these steps:
- Fork the repository to your own account.
- Make your changes in a new branch.
- Submit a pull request to have your changes reviewed and merged.