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:
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:
- The Initial Design
- Building the 2-wheel Differential Drive Base
- Teleoperation to Obstacle Sensing
- Initial Autonomous Driving
- Rethinking the Design
- Moving to Docker
- I finally came to my RealSense(s)
- SLAM with Google Cartographer
- Tuning Cartographer
- Navigation with move_base
- 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:
otto-engine
- https://github.com/sheaffej/otto-engine
- Python rules engine using asyncio
otto-ui
- https://github.com/sheaffej/otto-ui
- Angular 2+ Web UI for buiding and managing rules