Skip to content

husarion/erc2025-setup-description

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

erc2025-setup-description

Connecting to the On‑Site Participant VM from Your Laptop

1. Prepare the On‑Site VM

SSH to the VM from your laptop over Husarnet VPN.

1.1.  Tune the kernel for large DDS packets

# increase socket buffers
sudo sysctl -w net.core.wmem_max=12582912
sudo sysctl -w net.core.rmem_max=12582912
sudo sysctl -w net.core.wmem_default=16384000
sudo sysctl -w net.core.rmem_default=16384000

# avoid IP fragmentation issues
sudo sysctl -w net.ipv4.ipfrag_high_thresh=134217728   # 128 MB
sudo sysctl -w net.ipv4.ipfrag_time=3
sudo sysctl -w net.ipv6.ip6frag_high_thresh=134217728  # 128 MB
sudo sysctl -w net.ipv6.ip6frag_time=3

# adapt Husarnet interface
sudo ip link set dev hnet0 txqueuelen 500
sudo ip link set dev hnet0 mtu 1350

1.2. Start the ROS 2 Router container

Launch the router:

cd vm/
docker compose up -d

The container will start with the default vm/filter_example.yaml configuration that was generated by Husarion team with the following command:

ros2 topic list | xargs vm/create_filter.sh > filter.yaml
# we also modified the "topics" section to tune the QoS settings for the ffmpeg image topics

You need to modify it if you want to include different ROS 2 topics. You can find more information about available options for the filter.yaml file in the 3.3. Topics Configuration guide for the ROS 2 Router.

1.3  Export the Fast DDS “super‑client” profile

docker compose exec ros2router cat /var/tmp/superclient.xml > ~/superclient.xml

You will copy this file to your laptop in the next phase.

2  Prepare Your Laptop

2.1  Apply the same kernel tuning

Repeat the Tune the kernel commands from step 1.1:

# increase socket buffers
sudo sysctl -w net.core.wmem_max=12582912
sudo sysctl -w net.core.rmem_max=12582912
sudo sysctl -w net.core.wmem_default=16384000
sudo sysctl -w net.core.rmem_default=16384000

# avoid IP fragmentation issues
sudo sysctl -w net.ipv4.ipfrag_high_thresh=134217728   # 128 MB
sudo sysctl -w net.ipv4.ipfrag_time=3
sudo sysctl -w net.ipv6.ip6frag_high_thresh=134217728  # 128 MB
sudo sysctl -w net.ipv6.ip6frag_time=3

# adapt Husarnet interface
sudo ip link set dev hnet0 txqueuelen 500
sudo ip link set dev hnet0 mtu 1350

2.2  Enable Fast DDS with the router profile

Copy superclient.xml from the VM to ~/superclient.xml on your laptop, then run:

export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
export FASTRTPS_DEFAULT_PROFILES_FILE=$HOME/superclient.xml
ros2 daemon stop

After a few seconds you should discover every topic that the router exposes, giving you transparent access to Panther and the on‑site VM ROS 2 interface.

2.3  FFMPEG decompression demo

Inside the user_laptop/ directory you can find a Docker based example showing how to decode the FFMPEG stream from the cameras and display them in RViZ (remember to replace the user_laptop/superclient.xml with your own file generated in step 1.3)

cd user_laptop
xhost +
docker compose up

That’s it! You can now launch your local ROS 2 nodes and interact with the on‑site robot over the internet just as if everything were on the same LAN.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published