Using Cruise’s Webviz Tool to Visualize Autonomous RC Car System Data

In June of 2019, Cruise announced their data visualization web application, Webviz, in a blog post entitled, “Webviz: An Open Source Platform for Robotics Data Visualization.” This follows previous announcements to open source Worldview, a library to translate the data-rich worlds our cars navigate into clear and intuitive 3D scenes, and rosbag.js, a JavaScript library for reading ROS bag files.

The goal of the Webviz project was to streamline the data visualization workflow by presenting data in a more cohesive way, making layout customization much easier and maintaining backwards compatibility. What started as a Cruise hackathon project is now one of the most widely used data analysis tools at Cruise.

The web application contains configurable panels that can be used to visualize data including logs, camera feeds, 2D plots, and 3D scenes. This functionality is similar to native ROS tools such as RViz, rqt_runtime_monitor, rqt_plot, rqt_image_view, rostopic echo, and rqt_console but it doesn’t require the user to install ROS on the host machine. The configuration can be exported as JSON and shared with other users.

To visualize data, users have two options. By default, the Webviz tool tries to connect to a rosbridge_server using a WebSocket on ws://localhost:9090. For historical data, users can drag ROS .bag files directly into Webviz via the browser. All the data is processed and visualized locally, not sent to any server.

RC ML Inference Data in Cruise Webviz
RC ML Inference Data in Cruise Webviz

Continue reading

RC Car Lidar-based ML Model Deployment

RC Car ML Model Development with an Ouster OS1 Lidar

The purpose of this project was to develop a Machine Learning model to enable an RC car to autonomously navigate a race track using an Ouster OS1 lidar sensor as the primary sensor input. The model is an end-to-end Convolutional Neural Network (CNN) that processes intensity image data from the lidar and outputs a steering command for the RC car.

This is inspired by the Udacity Self Driving Car “behavior cloning” module as well as the DIY Robocars races. This project builds upon earlier work developing a similar model using color camera images from a webcam to autonomously navigate the RC car.

This post covers the development of a data pipeline for collecting and processing training data, the compilation and training of the ML model using Google Colab, and the integration and deployment of the model on the RC car using ROS.

RC Car Lidar-based ML Model Deployment
RC Car Lidar-based ML Model Deployment

Continue reading