Skip to content

Ar-Ray-code/rclshark

Repository files navigation

rclshark​ 🐢🦈

rclshark2 is released.

latest : v1.0.3

解説(Zenn)

紹介ページ(github.io)

Monitor the status of computers on a network using the DDS function of ROS2.

rclshark-title

Documents

Requirements

  • ROS2 foxy-base Installation
  • python3-colcon-common-extensions
  • python3-psutil
  • build-essential

Support

  • Ubuntu 20.04 (x86_64, Armv8) (Full support)
  • Raspberry Pi OS (aarch64) (Full support)
  • Windows 11 (x86_64) (rclshark-smi only)

1. rclshark​ 🐢 🦈

Repository : https://github.com/Ar-Ray-code/rclshark

rclshark is an IP address display system that takes advantage of the DDS publishing nature of the ros2 node to the local network, and can recognize any device with ROS2 installed. rclshark is also a service server, and has a function to Repositoryrt computer status using psutil.

See rclshark-smi for details.


Installation

ROS-Foxy Installation

If you want to know how to install ROS-Foxy , please check ROS2-Foxy-Installation.

# ROS-Foxy & depends Installation
sudo apt update && sudo apt install curl gnupg2 lsb-release python3-psutil python3-colcon-common-extensions build-essential git

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

sudo apt install ros-foxy-base

rclshark backend installtion

After installation, rclshark will start automatically.

#rclshark installation
git clone https://github.com/Ar-Ray-code/rclshark.git
sudo bash rclshark/rclshark/install.bash /opt/ros/foxy

If you want to enable rclshark immediately, run $ sudo systemctl start rclshark.service.

Stop rclshark

sudo systemctl stop rclshark.service

Disable rclshark

sudo systemctl disable rclshark.service

uninstall

sudo bash ~/ros2_ws/src/rclshark/rclshark/install.bash uninstall

Docker

Docker container is used for viewer testing and communication load testing, but can also be used as a Raspberry Pi replacement for trial purposes.

docker pull ray255ar/rclshark

RUN docker container

docker run -it --rm rclshark

Quick check of rclshark

Since rclshark is an application that uses the basic functions of ROS2, you can find it with the ros2 command.

## Confirmation rclshark 1
ros2 node list | grep ip_
> /ip_192.168.11.10_end
> /ip_192.168.11.22_end
## Confirmation rclshark 2
ros2 service list | grep endcb
> /ip_192.168.11.10_endcb
> /ip_192.168.11.22_endcb

Now you can safely forget your IP address.:wink:

2. rclshark-smi (v1.0.0)​ 🐢 🦈

Repository : https://github.com/Ar-Ray-code/rclshark-smi

You can use rclshark to check the hardware status of multiple computers. You don't even need to bother opening htop. Good for you! 😊

IP addresses are sorted in ascending order and are dynamically added and removed.

rclshark-smi-docker

Installation

rclshark-smi is installed with rclshark. It can also be built and used as a regular ROS2 package. ros2 run rclshark_smi rclshark_smi

## Install
git clone --recursive https://github.com/Ar-Ray-code/rclshark.git
sudo bash rclshark/rclshark/install.bash /opt/ros/foxy
## Run rclshark-smi
rclshark-smi

Demo (v1.0.0)

YouTube

  • rclshark-smi v1.0.2 limits the display to only one time.

Extended packages 🦈🐍

3. rclshark-bridge

Repository : https://github.com/Ar-Ray-code/rclshark-bridge

rclshark-bridge performs CSV conversion of data in order to use rclshark on other platforms.

4. rclshark-Web

Repository : https://github.com/Ar-Ray-code/rclshark-web

rclshark-web is data viewer

Installation

Before creating the web server, please set up the Python dependency module and ROS2 environment.

git clone https://github.com/Ar-Ray-code/rclshark-web.git
git clone https://github.com/Ar-Ray-code/rclshark-bridge.git
pip3 install -r rclshark-web/requirements.txt

source /opt/ros/foxy/setup.bash
python3 rclshark-bridge/rclshark_bridge/rclshark_bridge.py &
python3 rclshark-web/flask_main.py

Access http://localhost:5000

Web-GUI Demo Page

rclshark-web-gui

About author