Skip to content

altera-fpga/altera-ros2

Repository files navigation

Altera ROS 2 Packages

A collection of ROS 2 packages to support Altera FPGA products.

Packages

ROS Control hardware interface for Altera Drive-on-Chip.

Configuration for controlling Yaskawa Motoman MH24 (simulated) robot arm with MoveIt 2.

Robot description (URDF) and 3D model files for Yaskawa Motoman MH24.

Examples

A MoveIt2 C++ client which can plan and execute to random or provided pose goals. The client makes use of the MoveGroupInterface class making it compatible with various robot arms.

A pick & place demo supporting the UFactory Lite6 robot arm. The demo utilizes MoveIt2 to create patterns with blocks.

Building

It is highly recommended to use Docker if you wish to run any of the examples.

Docker Build

A Docker build file is provided for ease of deployment. The resulting Docker image includes the ROS 2 packages and examples provided by this repository pre-installed and ready to use.

Before continuing ensure Docker is installed on your device.

Build the Docker image from the root of this repository with the following command (remove buildx from the command if not available):

docker buildx build -f .docker/Dockerfile -t altera-ros2 .

To cross-compile for a different architecture (such as arm64 to support the Hard Processor System on Altera FPGA SoC platforms) run the following commands:

docker run --privileged --rm tonistiigi/binfmt --install all
docker buildx build -f .docker/Dockerfile -t altera-ros2:arm64 --platform linux/arm64 .

Native Build

To build the packages natively please ensure the correct version of ROS 2 is installed on your device based on the branch of this repository you have checked out.

  1. Create a workspace directory if you don't yet have one
mkdir -p $HOME/ros_ws/src
cd $HOME/ros_ws/src

2a. Clone this repository into $HOME/ros_ws/src

2b. (Optional) Clone the xArm ROS 2 repository into your source directory if you need need UFACTORY Lite 6 support

git clone https://github.com/xArm-Developer/xarm_ros2.git --recursive -b $ROS_DISTRO
  1. Install dependencies
rosdep update
rosdep install -y \
    --from-paths . \
    --ignore-src
  1. Build packages
cd $HOME/ros_ws
colcon build
  1. Source the environment setup script
source install/setup.bash

Usage

Check the documentation in the individual package directories to understand how they can be used.

Docker

Headless (x86)

docker run -it --rm --network host altera-ros2

Headless (arm64)

docker run -it --rm --network host altera-ros2:arm64

HPS with Drive-on-Chip support

docker run -it --rm --network host --device /dev/uio0 --device /dev/uio1 --device /dev/uio2 altera-ros2:arm64

For graphical output such as running RViz in a container it is recommended to use Rocker. See the official documentation for installation instructions.

Rocker (Intel x86)

rocker --x11 --devices /dev/dri --network host altera-ros2

About

A repository of Robotic OS (ROS 2) packages to support Altera FPGA products.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published