Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #1

Merged
merged 4 commits into from
Oct 4, 2021
Merged

Update README.md #1

merged 4 commits into from
Oct 4, 2021

Conversation

pandeypranav
Copy link
Member

No description provided.

Copy link
Member

@ramviyas ramviyas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ROS Network Analysis Package

This is a ROS package that provide tools to analyze wireless network through four key performance metrics: 1) signal quality (RSSI, LQI); 2) application-level network latency 3) throughput (TCP + UDP), 4) connection error metrics (retransmits), between two ROS nodes/computers/machines.

There are four ROS nodes in this package - one for each network performance metric stated above.

#Installation
To use these packages you will have to install this package into your ROS workspace. Make sure you install ROS Melodic and set up your ROS workspace as per the instructions at http:https://wiki.ros.org/melodic/Installation. Below are the commands which will help you do that, considering you already have a catkin workspace.

cd ~/catkin_ws
cd src
git clone https://github.com/herolab-uga/ros-network-analysis.git
cd ../..
catkin_make
catkin_make install

#Usage Instructions

Network Delay

Apart from network delay node, other two packages need two ROS nodes, One as listener and another as speaker. There are four packages linkUtiliaztion, NetworkErrors, wireless_quality and network_delay. Below are the commands to use them individually.

Network throughput

Network Quality

Network Errors

explain the node
explain what happens in the node including messages (and custom message format)

how to run: rosrun network_analysis node_name

linkUtilization.py
This node study the throughput of the interfaces being used. Change the interface name in linkutilization.py file according to the interface you are using (by default it will be wlan0). This needs two ROS nodes : one for transmitting and one for receiving data. Based on the transfer rate you will get the throughput. This will provide the throughput in mbps along with the bytes and data packets transfered between the two nodes.

Running all nodes together

roslaunch network_analysis

networkerrors.py
This node track the error package being retransmitted along with the other metrics value like retires.

roslaunch network_analysis

wireless_quality.py
This node records the RSSI value along with lqi value for the interface being used.

network_delay.py
This node determines the delay of the interface passed. From this node we can also find out the percentage of temporary disconnection that happened while using the interface. This does not need two nodes as it only gives the delay for the network to which your ROS node is connected.

@ramviyas ramviyas merged commit fa4a5fc into master Oct 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants