Issues Created

  • #6: Create an RViz2 web template for ROS2 RADI; related to #801
  • #7: Split Foxy Dockerfile into base Dockerfile and wrapper Dockerfile

Issues Solved

Progress on the Issues

  • Please find in the Week 4 blog, the progress and demo for Pull Request #1074 (solving Issue #5)
  • Progress on #6 below

Working on Rviz2 Template

Added a responsive RViz button and iframe to the web-template
RViz Button

  • The error message is intentional as no VNC server has been connected to port 6081
  • On changing the websocket port to 6080 (external port corresponding to Gazebo), the gzclient successfully connected to the RViz frame. This is expected behavior.

Connected to all 3 iframes successfully (Console + Gazebo + RViz)
All 3 iframes

Spawned Gzclient from the terminal
Gzclient from terminal

  • Prevented the gzclient to spawn along with the ros2 launch command
  • Executed command in terminal (visible above) and successfully attached to the Gazebo iframe from the terminal
  • DISPLAY:=0 is the xserver display to which the Gazebo iframe is attached

Spawned cartographer in RViz from the terminal
RViz from terminal

  • Using command DISPLAY=:2 ros2 launch turtlebot3_cartographer use_sim_time:=True
  • Teleoperated the bot and verified that the map was being built
  • DISPLAY:=2 is the xserver display to which the RViz iframe is attached

Manipulating Gazebo’s gui.ini from

100px*100px Gazebo window
100x100 Gazebo

Corresponding gui.ini

  • The gui.ini contents are visible in the lower right
  • These were populated programmatically from

Gazebo Quirks

Quirk 1

Quirk 2

Readings, Observations and Design Decisions

Links to my other blogs

  1. How to add a button and iframe to the web template
  2. Research on serving RViz2 on web template