Setting up ROS2

Open a terminal window on your local machine.

GitHub - Tiryoh/docker-ros2-desktop-vnc: 🐳 Dockerfiles to provide HTML5 VNC interface to access Ubuntu Desktop + ROS 2

docker run -p 6080:80 --security-opt seccomp=unconfined --shm-size=512m tiryoh/ros2-desktop-vnc:humble

Navigate to localhost:6080 in your browser to access the container. Open a terminal window inside.

Using colcon to build packages — ROS 2 Documentation: Humble documentation

sudo apt update -y
sudo apt upgrade -y
sudo apt install python3-colcon-common-extensions
pip3 install --force-reinstall numpy==1.26.3
pip3 install --force-reinstall PYPOWER==5.1.16
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
git clone <https://github.com/ros2/examples> src/examples -b humble
colcon build --symlink-install
source install/setup.bash
ros2 run examples_rclcpp_minimal_subscriber subscriber_member_function

Open up a second terminal window.

cd ~/ros2_ws
source install/setup.bash
ros2 run examples_rclcpp_minimal_publisher publisher_member_function

You should get the following output:

Screenshot 2024-05-08 at 11.20.18 AM.png

Building HELICS

Open a terminal window in the container.

sudo apt-get install libboost-dev
sudo apt-get install libzmq5-dev -y
sudo apt-get install git
sudo apt install cmake-curses-gui
mkdir software
cd software
git clone <https://github.com/GMLC-TDC/HELICS>
cd HELICS
mkdir build
cd build
git checkout v3.5.1
cmake -DHELICS_BUILD_CXX_SHARED_LIB=ON -DCMAKE_INSTALL_PREFIX=~/software/HELICS ../
make
sudo make install
sudo pip3 install helics==3.5.1
sudo pip3 install helics[cli]==3.5.1

To link HELICS to ROS2, type the following commands:

vim ~/.bashrc
// scroll to the bottom of the file and press 'i' on your keyboard to edit the file
export PATH=~/software/HELICS/build/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/software/HELICS/build/lib
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:~/software/HELICS/include
// press 'esc' on your keyboard and then type 'wq' to save and exit the file
source ~/.bashrc

To validate the installation, the following command should yield a 3.5.1 version number.

helics_player --version