A collection of ROS 2 packages to support Altera FPGA products.
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.
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.
It is highly recommended to use Docker if you wish to run any of the examples.
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 .
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.
- 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
- Install dependencies
rosdep update
rosdep install -y \
--from-paths . \
--ignore-src
- Build packages
cd $HOME/ros_ws
colcon build
- Source the environment setup script
source install/setup.bash
Check the documentation in the individual package directories to understand how they can be used.
docker run -it --rm --network host altera-ros2
docker run -it --rm --network host altera-ros2:arm64
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 --x11 --devices /dev/dri --network host altera-ros2