Skip to main content

Extension

Following the documentation here

Build The Extension

This directory contains a script create_extension.sh that can be used to create an l4t-based Spot Extension for this example. This will create a file spot_detect_and_follow.spx, which can be uploaded to the CORE I/O. The extension requires that the payload be authorized on the robot admin console to run.

If building on a host system architecture that is not ARM64 based run the following before continuing.

sudo apt-get install qemu binfmt-support qemu-user-static

Installing and running qemu will allow us to build ARM binaries on an x86 machine without needing a cross compiler, see Build Docker Images Documentation for more details.

This directory contains a script create_extension.sh that can be used to build a ARM64 docker image and package all the files into an Extension. From the ros2_driver directory run the script

./create_extension.sh

This will create the spot_ros2_driver.spx extension file that you can upload to the CORE I/O or Scout platform. The script was tested on Ubuntu 22.04 with x86 architecture.


Before you install and run the spot_ros2_driver.spx you need to configure the port range used by a connection in the CORE I/O to be within the allowable port range.

Limit the ports used by a connection in the CORE I/O

SSH into the CORE I/O from the robot’s WiFi

ssh -p 20022 [email protected]

Make a copy of the default port range (not currently working with our CORE io)

cat /proc/sys/net/ipv4/ip_local_port_range > /proc/sys/net/ipv4/ip_local_port_range.bak
The default configuration of the ip_local_port_range
32768  60999

Limit the ports a networking connection can use to those reachable through the CORE I/O's firewall

echo "21000 22000" | sudo tee /proc/sys/net/ipv4/ip_local_port_range

This will force all connections from the CORE I/O to be on the port range 21000 - 22000.