sheaffej's Projects

My personal technology projects

Follow me on GitHub

Design Goals - Recovery Robot B2 (aka R2B2)

October 2020


(Artist’s concept created by my daughter)

Having accomplished a lot working on the B2 robot, I decided to take what I learned and build upon it. The next robot would navigate around the downstairs using all of the sensing and nav built for B2, apply computer vision to detect cat toys scattered around the floor, pick them up using a robotic arm, and then return them to a central spot.

This is a task I find myself doing this a lot as our cat leaves toys all over the place. So why not create a robot to perform this task for me?

R2B2 will need a new chassis to hold a robotic arm, and a bunch of more software for the robot vision and arm control.

Let’s define the goals of the robot:

Key Goals:

  1. Perform its task in an autonomous manner.
    • That is, not have to be supervised or controlled by any human.
  2. Find cat toys laying on the floor.
    • Cat toys come in various types and sizes (fuzzy balls, fake mice, springs, crinkly toys, etc) so the robot must be able to identify multiple candidate objects.
    • I will have to train the robot on what the candidate toys look like. So if we buy a new toy, I do not expect the robot to recognize that toy until it has been trained (bonus points if it does anyways).
    • I do not expect it to find cat toys on the stairs, or on furniture, nor in spots the robot cannot access such as under the refigerator.
  3. Pick up the cat toy.
    • The robot must be able to collect the toy. I expect to use a robotic arm to do this, but I’ll leave that open as I may find a better way to do this like a scoop. I do want to work with some sort of multiple DOF articulator, so an arm seems like a logical solution at this stage of the project.
  4. Return the toy to a designated toy repository.
    • We have a spot already where we put all of the cat toys we pick up around the house, but it’s too high for a floor-based robot to reach. Therefore I’ll pick another location and use this as the “designated toy repository”.

Stretch Goals:

A. Determine when it has completed its task. And return to a defined location and then shutdown to conserve its battery.

With these goals in mind, it’s time to start designing the R2B2 robot.

Next: Arming the robot