RC Car End-to-end ML Model Development

This post describes the process of developing a end-to-end Machine Learning model to steer an RC Car around using a color camera as an input. This is inspired by the Udacity Self Driving Car “behavior cloning” module as well as the DIY Robocars races. The purpose of this project is to create a pipeline for […]

Odometry Estimation with an Ouster OS-1 lidar Sensor

This post describes the process of fusing the IMU and range data from an OS-1 lidar sensor in order to estimate the odometry of a moving vehicle. The position, orientation, and velocity estimates are critical to enabling high levels of automated behavior such as path planning and obstacle avoidance. One of the most fundamental methods […]

Ouster OS-1 lidar and Google Cartographer Integration

This post describes the process of integrating Ouster OS-1 lidar data with Google Cartographer to generate 2D and 3D maps of an environment. Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations. SLAM algorithms combine data from various sensors (e.g. LIDAR, IMU, […]

OpenMV Cam ROS Node Development

This post describes the development of a ROS node that can be used to process images from an OpenMV Cam in a ROS-based robotics system. The goal of the OpenMV Cam project was to create a low-cost, extensible, Python powered, machine vision module to become the “Arduino of Machine Vision“. The OpenMV team wanted to […]

OS-1 ROS Package Deployment with Docker

Docker is an open platform for developing, shipping, and running applications with containers that enables you to separate your applications from your infrastructure. Docker provides the ability to package and run an application in a loosely isolated environment called a container. The container provides a standardized environment for development. This means that we can distribute […]

Ouster ROS Package Continuous Integration with Travis-CI

This post details the process of integrating the Travis-CI tool with the Ouster ROS package. Continuous Integration (CI) is a software development practice where developers integrate code into a shared repository. Each integration can then be verified by an automated build and automated tests. This automated testing allows you to quickly detect errors and locate […]

Ouster OS-1 ROS Gazebo Simulation in MCity and Citysim

In this post, we will adapt OSRF’s car_demo and citysim packages to simulate a Toyota Prius driving around a simulated city environment with an OS-1-64 lidar sensor. During ROSCon 2017, Ian Chen and Carlos Aguero gave a presentation entitled, “Vehicle and city simulation with Gazebo and ROS” (slides here). They developed a URDF model of […]

Simulating an Ouster OS-1 lidar Sensor in ROS Gazebo and RViz

In this post, we will model and simulate an Ouster OS-1-64 in Gazebo, ROS’s simulation environment. Simulating the sensor in Gazebo allows users to experiment with the OS-1 sensor without needing to purchase the physical unit. Users can determine the ideal placement and orientation of the sensor for their specific application and evaluate the sensor’s […]

WordPress & Heroku – Securing Your WordPress Database Connections

This post follows the post Heroku & WordPress Website Deployment which details how to create and publish a website using WordPress and Heroku. This post details how to secure the connections between the website administrator, the website database, and the website application. Securing Your Login Domain Each application also has a free SSL endpoint for […]

WordPress & Heroku – Custom Website Development & Deployment

This post describes a rapid and flexible way to create, deploy, and maintain a website for free. I used WordPress to create and organize the website content, and Heroku to host and run the website. WordPress WordPress is a free and open-source Content Management System which is arguably the easiest and most popular blogging system […]