sheaffej's Projects

My personal technology projects

Follow me on GitHub

Recovery Robot B2 (R2B2)

R2B2 is the next phase of my robot project which builds upon the B2 robot.

Its design goal is to autonomously navigate around the floor looking for cat toys of various types, pick them up, and deliver them to a central storage spot (i.e where we continually put them, just so the cat can spread them all over again).


(Artist’s concept created by my daughter)

R2B2 is a ROS2 robot, built upon the autonomous navigation platform that I built as the B2 robot with ROS1. This robot will add computer vision (CV) object detection, some form of arm and end-effector to pick up the cat toys, and control logic to perform its task autonomously.

Read More:

  1. Design goals
  2. Arming the robot
  3. Object detection - Part 1
  4. Converting to ROS2

B2 Robot Project (ROS)

This is my ROS project consisting of the custom code for my robot named B2.

The B2 robot was my first attempt to build a fully ROS robot platform that could navigate around the downstairs of my house autonomously when provided a starting pose and a goal pose. The robot uses SLAM and LIDAR for mapping, AMCL for localization, and ROS move_base for navigational planning. It has a custom base_node and roboclaw_driver node that I implemented using Python and rospy.

Read More:

  1. The Initial Design
  2. Building the 2-wheel Differential Drive Base
  3. Teleoperation to Obstacle Sensing
  4. Initial Autonomous Driving
  5. Rethinking the Design
  6. Moving to Docker
  7. I finally came to my RealSense(s)
  8. SLAM with Google Cartographer
  9. Tuning Cartographer
  10. Navigation with move_base
  11. Wrapping up the B2 project

Otto - Smart Home Automation

Otto is an automation engine for Home Assistant.

This is a general purpose automation engine that integrates with Home Assistant, and provides higher fidelity automation rules and flexibility than Home Assistant’s built-in automation capability.

There are two projects for Otto: