TY - JOUR
T1 - Establishing remote networks for ROS applications via Port Forwarding
T2 - A detailed tutorial
AU - Hajjaj, Sami Salama Hussen
AU - Sahari, Khairul Saleh Mohamed
N1 - Funding Information:
This work was supported by the College of Engineering, the Innovative and Research Management Centre (iRMC), UNITEN and the Ministry of Higher Education, Malaysia through research grant (20140127/FRGS/V3500).
Publisher Copyright:
© The Author(s) 2017.
PY - 2017/5
Y1 - 2017/5
N2 - In a Robot Operating System (ROS) application, robot software is often distributed across multiple networked components, forming the ROS network, where every component acts as server and/or a client, and publishing and/or receiving robot data simultaneously. For indoor robots, a local ROS network, through a Wi-Fi hotspot, is sufficient. But for outdoor robots, a remote ROS network is needed to connect the ROS application to the cloud. Although a number of cloud-based solutions support this, implementing them is challenging, as they need to be configured to facilitate ROS’s unique, multidirectional, and simultaneous flow of robot data. This article presents Port Forwarding as an alternative approach, which offers a private, secured, and a direct ROS-to-ROS, eliminating the need for a dedicated middleware and its configuration and setup complexities. But Port Forwarding has its own challenges; chiefly, the beforehand knowledge of Internet addresses of all networked components and the need to update port forwarding settings when these addresses change, which they often do. This article addresses this issue (and others) and presents a detailed procedure for setting Port Forwarding for ROS applications, highlighting configuration, and troubleshooting steps. Also, the article compares between Port Forwarding and cloud-based solutions, in terms of setup, performance, and others. Results show that robot performance under Port Forwarding is on par with cloud-based solutions, but it required a fraction of setup time. The authors developed a set of shell scripts that monitor the Internet addresses of all networked components and auto-update Port Forwarding settings when they change, solving this issue. With this, Port Forwarding could be considered a viable option for ROS system networks, on par with cloud-based solutions.
AB - In a Robot Operating System (ROS) application, robot software is often distributed across multiple networked components, forming the ROS network, where every component acts as server and/or a client, and publishing and/or receiving robot data simultaneously. For indoor robots, a local ROS network, through a Wi-Fi hotspot, is sufficient. But for outdoor robots, a remote ROS network is needed to connect the ROS application to the cloud. Although a number of cloud-based solutions support this, implementing them is challenging, as they need to be configured to facilitate ROS’s unique, multidirectional, and simultaneous flow of robot data. This article presents Port Forwarding as an alternative approach, which offers a private, secured, and a direct ROS-to-ROS, eliminating the need for a dedicated middleware and its configuration and setup complexities. But Port Forwarding has its own challenges; chiefly, the beforehand knowledge of Internet addresses of all networked components and the need to update port forwarding settings when these addresses change, which they often do. This article addresses this issue (and others) and presents a detailed procedure for setting Port Forwarding for ROS applications, highlighting configuration, and troubleshooting steps. Also, the article compares between Port Forwarding and cloud-based solutions, in terms of setup, performance, and others. Results show that robot performance under Port Forwarding is on par with cloud-based solutions, but it required a fraction of setup time. The authors developed a set of shell scripts that monitor the Internet addresses of all networked components and auto-update Port Forwarding settings when they change, solving this issue. With this, Port Forwarding could be considered a viable option for ROS system networks, on par with cloud-based solutions.
KW - Agriculture robots
KW - Cloud robotics
KW - Port forwarding
KW - Robot operating system (ROS)
KW - Robot software
UR - http://www.scopus.com/inward/record.url?scp=85020013487&partnerID=8YFLogxK
U2 - 10.1177/1729881417703355
DO - 10.1177/1729881417703355
M3 - Article
AN - SCOPUS:85020013487
SN - 1729-8806
VL - 14
JO - International Journal of Advanced Robotic Systems
JF - International Journal of Advanced Robotic Systems
IS - 3
ER -