Foxglove

Foxglove is kind of nice. On your local computer, you can download FoxGlove Studio.

Slides for using foxglove on the F1TENTH: https://docs.google.com/presentation/d/1UZ2ejFhRrJlb2t—cSl_ccmg6U-HuHm23xrV3Q09O9k/edit#slide=id.p

Foxglove is actually super widely adopted in the industry, much more adopted that what I thought.

Difference between Foxglove Bridge and Rosbridge?

Learned from Ashwin, though I am still operating at a higher level of abstraction. The Foxglove bridge is maintained by Foxglove, whereas the Foxglove Rosbridge is maintained by OSRF.

Foxglove Bridge (port 8765)

You install the foxglove bridge for ROS by running

sudo apt install ros-$ROS_DISTRO-foxglove-bridge

hmm doesn’t seem to work for foxy, only galactic work

sudo apt install ros-galactic-foxglove-bridge

Then, you can start foxglove by running

ros2 run foxglove_bridge foxglove_bridge
ros2 launch foxglove_bridge foxglove_bridge_launch.xml

Then, on your local computer, you do

lsof -ti:8765 | xargs kill -9
ssh -NfL 8765:localhost:8765 ubuntu@172.20.10.14

For the wato servers

lsof -ti:34400 | xargs kill -9
ssh -NfL 34400:localhost:34400 s36gong@trpro-ubuntu2.cluster.watonomous.ca

The first line ensures that port 8765 is not previously occupied, if so it kills that process.

You can then open up Foxglove on your computer, and then select “Open Connection”.

Use the Websocket URL ws://localhost:8765 and then click “Open”.

Then, in a new terminal, SSH into the Raspberry Pi again, and run the following command to drive the robot around with your keyboard:

ros2 run teleop_twist_keyboard teleop_twist_keyboard

WATonomous

You need to use the vis_tools container. See README.

lsof -ti:8765 | xargs kill -9
ssh -NfL 8765:localhost:8765 s36gong@trpro-ubuntu1.watocluster.local

Foxglove Rosbridge (Port 9090)

Check these commands, since I don’t seem to be able to install foxglove bridge on foxy anymore. https://github.com/JChunX/foxglove-onboard

sudo apt-get install ros-$ROS_DISTRO-rosbridge-suite

For my simulation:

  1. connect to remote
lsof -ti:9090 | xargs kill -9
ssh -NfL 9090:localhost:9090 s36gong@thor-ubuntu1.watocluster.local

For the real physically car

lsof -ti:9090 | xargs kill -9
ssh -NfL 9090:localhost:9090 f1tenth-uw@10.42.0.1
ssh -NfL 9090:localhost:9090 f1tenth-uw@192.168.0.115
  1. launch
ros2 launch rosbridge_server rosbridge_websocket_launch.xml

Didn’t get it quite to work yet.