Repo symbol

reconros repository

communication hardware ros2 fpga-board ros2-fpga
Repo symbol

reconros repository

communication hardware ros2 fpga-board ros2-fpga
Repo symbol

reconros repository

communication hardware ros2 fpga-board ros2-fpga
Repo symbol

reconros repository

communication hardware ros2 fpga-board ros2-fpga
Repo symbol

reconros repository

communication hardware ros2 fpga-board ros2-fpga sorter_msgs sorter_client

Repository Summary

Description Easy to use framework for ROS2 FPGA-based hardware acceleration; Supports Pub/Sub communication, Actions and Services and costum ROS Messages
Checkout URI https://github.com/lien182/reconros.git
VCS Type git
VCS Version master
Last Updated 2023-08-25
Dev Status UNKNOWN
Released UNRELEASED
Tags communication hardware ros2 fpga-board ros2-fpga
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sorter_msgs 0.0.0
sorter_client 0.0.0

README

ReconROS

Easy to use framework for ROS2 FPGA-based hardware acceleration

based on ReconOS

Prepare the FPGA board

You have to install ROS2 and ReconOS on your FPGA board. For getting started faster, there are preinstalled images:

ZCU104-Board

Pynq-Board

MiniITX-Board non-rt kernel

MiniITX-Board rt kernel

The easiest way to burn the image on the sd card would be to use balena etcher. You can also use linux dd tool eg e.g.

dd if=/image.img of=/dev/<<yoursdcard>> bs=4M

you will also need an ethernet cable, and would need to configure your terminal to have a local ip in the range of 192.168.2.xx(Netmask 255.255.255.0) except 99; This is the ip of pynq board.

Configure the board to boot using SD card, using the jumper J4.

configure a serial terminal program. The COM port usually will be configured as

/dev/ttyUSB1 -serial -sercfg 115200,8,n,1,N

If everything works fine, you will see the device boot, and it will then automatically log you in as xilinx.

Initialize repository

Since the generation of the hardware-mapped topics rely on raw message definition files, the mandatory submodules have to be updated after clone.

$ git submodule init && git submodule update

Knows Issues

The naming of standard message types is not consistant for ROS 2. Therefore, the naming of the message definition file must be changed for some cases (e.g. for the ReconROS Turtlebot 3 example, the UINT64 definition file (UInt64.msg to U_Int64.msg))

Installing

ReconROS uses an emulated docker container for the compilation of the application and building costum ROS message packages.

The first step for building ReconROS application is sourcing the environment by using the following command:

sudo apt install python3-colcon-common-extensions

This step is not only necessary for the installation process but also before compiling an application.

At the first time using ReconROS, the following command installs needed packages and builds the docker container for cross compiling.

$ bash tools/install.sh

Additionaly you might have to source

$ source /opt/ros/dashing/setup.bash

$ source /opt/Xilinx/Vivado/2017.1/settings64.sh

$ source <<ReconROSdir>>/tools/settings.sh

also, there might be some packages missing, you might have to enter the following command

$ sudo apt-get install g++-multilib

Build and run the ROS demo

There are three sort demos available. The demo used in the following are based on pub/sub communication. The other two demos use ROS2 actions and services for the client server communication. Both demos require a preceding command for building the costum ROS2 message package.

$ rdk export_msg && rdk build_msg

ROS sort demo

ROS sort demo is based on pub/sub communication, and follows the same procedure as ROS sort demo services to build and run server and client applications. After client application is build, it will continually send unsorted data, and will receive sorted data back.

ROS sort demo services

The other two demos use ROS2 actions and services for the client server communication. Both demos require a preceding command for building the custom ROS2 message package.

Navigate to /demos/ros_sort_demo_services/server_app/ and enter following commands

$ rdk export_msg && rdk build_msg

First Step: Server Application

Building Server Application

Navigate to the server demo folder. It contains the build.cfg file which is used by ReconROS. Before you can compile the application, you have to export the project:

File truncated at 100 lines see the full file

Repo symbol

reconros repository

communication hardware ros2 fpga-board ros2-fpga
Repo symbol

reconros repository

communication hardware ros2 fpga-board ros2-fpga
Repo symbol

reconros repository

communication hardware ros2 fpga-board ros2-fpga
Repo symbol

reconros repository

communication hardware ros2 fpga-board ros2-fpga