Robotics have become common place in manufacturing. Recently robotics are starting to be used more and for warehouse management and logistics.
Companies like Amazon and DHL have started using robots to manage their warehouses to pick and transport for shipment. This has increased efficiency and allowed humans to focus on more creative instead of repetitive and potentially dangerous jobs.
At Amazon they look something like this:
And . . . they carry shelves like this :
DHL has a few different Robots but here is a good example:
That gave me an idea to create a similar robot but instead use it for house tasks. Here are a few use cases:
- Taking out the trash and recycle : I live on the third floor of a condo complex and I have to take my trash to a bin on the ground floor. Depending on the amount of trash and recycle this could require multiple trips.
- Laundry : I have a central laundry facility in my complex that I have to go to a few times to wash, dry, and retrieve my clothes.
- Taking items to / from my car : Sometimes I have to make multiple trips to and from my car for groceries or luggage for travel.
Ideally I would like to take only one trip or better still take no trips at all and automate the process.
That said, there are some issues and risks that I must overcome:
- Open Front Door : I can overcome this issue by developing automation for opening / closing my door. However, for the first phase of this project I will most likely not have this in place.
- Call Elevator : There is an elevator on my floor which I don’t have any control over to automate. Therefore, the bot will need an arm to press the elevator button to call the elevator and computer vision would need to know when the elevator has arrived and open to go into it.
- Select ground floor and exit : It would then need to select the first floor and exit once that floor has been reached.
- Exit the Building : It would also need an arm that would push the exit door open and hold it open long enough to exit.
- Stealing or Damaging the Robot : If I leave the robot on its own there is a high probably that it will be damaged and possible stolen. Therefore, if this is my ultimate goal I must have some security cameras which is recorded and stored somewhere that I can easily reference.
- Getting into Trouble : Probably a more likely scenario is that the robot would get stuck somewhere (especially at the beginning), fall down stairs, or run into people.
- Open the Gate to Bins : There is a gate that encloses the garbage bins. The robot will also need to open that gate wide enough to enter without hurting itself or someone else.
- Open the Bin Lids : The bot would need to reach to lift up the garbage can lid far enough to dump the trash in.
Therefore, to overcome these issues at least in the beginning I’ll need to use a remote to test the robot functionality and once I get that down I’ll still need to walk with the robot to watch it transport. Eventually, I will want it to operate completely autonomously but for the first phase I just want it to move and carry the items so it takes the load off of me; an outcome that hopefully reduces my number of trips for each of these tasks to only one.
There are several free CAD software available but I will use software from https://www.freecadweb.org/ . I’ll use this at least to start but I may change depending on how easy to use it is. I will also create a few tutorials for how to use this tool as I get more familiar with it.
Although there are a few requirements listed below that I will need to figure out I don’t categorize them as issues because I have a hypothesis for how to address them.
High Level Design:
- 20 (width) by 30 (length) Wooden Frame. Ideally I would use metal but I don’t have a method to machine it and costs to take it to a company will be expensive. Additionally, I anticipate that I may need to go through a few iterations of this before I get the final design right. Therefore, wood is the best option as it is easy to cut with the tools I have and lower cost. I’m basically aiming at something similar to this : https://www.youtube.com/watch?v=HZudyDwEIJA
- Motorized Caster Wheels : I thought about a few options and feel like four independent motorized casters mounted on stepper motors that can turn independently are the best approach. My options here are to either purchase them directly (albeit they are expensive and somewhat hard to find) or alternatively build them. These seem like they should be metal but I’m considering trying to make this out of wood as well (obviously aside from the wheel). I will need to ensure that the wheel motor that I purchase is powerful enough to carry the weight in the basket.
- Controller Enclosure : I need a box in the middle of the robot to enclose my controller hardware. I’m thinking about using a Raspberry Pi but may start with an Arduino Micro controller to start as that is what I have on hand.
- Basket : I also need a basket that sits on top of the controller enclosure to carry items. I think this can be the same size as the frame. The height should extend up but I’ll need to do some measurements with my use cases to determine how high it should be. Additionally, I need to think about this feature a little as this has the potential to be somewhat top heavy.
- Lift : As I mentioned the basket shouldn’t be too top heavy and needs to be able to easily move around. Therefore, to reach up to the top of the bin I need actuators to push the basket up and depending on how far they can extend I may need to use a few of them stacked on top of eachtoehr. I’m seeing that the max length is 68 inches from an example that I’ve researched. I’ll need to do some measurements for the garbage bin to determine how far I should go. It should lift sufficiently over the top of the trash bin so that I can dump the trash into the bin. Here’s a link to an actuator on Amazon
- Dump the Trash : I need the front side of the basket to open up. I could probably use this with motors that I probably already have as it shouldn’t be too much force required to open and close the front basket wall. Then, I need the basket to tip so that it dumps the trash out. I am thinking that I will add an actuator on the back of the basket and hinges so that the basket and tip and then go back into place. Finally, the front wall of the basket needs to fold back into place.
I will add more details and likely revise the design as I progress further through this. As I create CAD designs and take measurements I’ll add some additional pictures.
I’ll also record video of the design and development process as well so stay tuned for that.
I’m getting the sense that the hardware components here may get somewhat expensive especially as I go through a few iterations of this. Therefore, I’ll probably be in the design phase for a fair amount of time before I get into development so that I don’t go broke with this hobbyist project.
I haven’t even started thinking about sensors and software but that will be the next thing after I design the hardware.
Once I get some basic use cases working I want to create additional top sections that I can plug and play (e.g. an arm so that the robot can move around and pick things up).
2021.11.21 – Project Update
I bought a caster motor for $20 at Lowes. It will hold 330 pounds which should be sufficient for my needs at least to create a POC for the motorized caster wheel.
Looks like this:
Next, figure out how to mount a motor to the wheel
I took apart the rigid caster wheel so that I could brainstorm how to mount a motor into the wheel. It looks like the wheel and the axel are independent of each other so I need to attach something inside of the wheel so that the motor can turn it.
The pieces of a caster are:
- Metal Plate: Metal piece on the top of the fork with four holes in it.
- Fork: Attached to the top plate that holds the wheel.
- Axel: Goes through the wheel and attaches to the fork. Not attached to the wheel or fork but held together by a nut.
- Roller Baring: Allows the wheel to spin along the caster.
- Wheel: self explanatory
One of these are the rubber wheel I think I have:
Read through the wheel material guide.
I hypothesize that a hub I use it has to be physically attached to the caster wheel so that the motor should actually turn the wheel as I observed that there is a small metal piece that allows the wheel to spin around the axel instead of the axel actually turning with the wheel.
The motor will have to be outside the fork and will move the axel.
So, I believe that I will have to weld or solder a hub to the wheel and will likely have to do the same to the motor hub.
Well I guess it is not soldering but more like welding. I could try soldering to start.
What could be used?
- Universal hub, shoehorn hub, or servo shaft hub that can be attached to a stepper motor then welded or soldered into the rubber caster wheel.
- Weld a servo wheel to the outside of the caster wheel. the servo wheel can be attached to the axel and the motor would turn the axel.
- Use a different wheel type that an axel can turn.
The motor will need to be outside of the fork.
Once I merge the universal mounting hub into the wheel here’s an example of how you attach the universal hub to the motor: https://www.youtube.com/watch?v=JxyokNeSTwE
Here’s a universal hub but I believe its too small: Universal Hub
Actually I don’t think that I’ll need to attach the Stepper Motor Mounting Bracket to the Fork directly. Instead I can just add another plate or metal strips and then attach the stepper motor mount or a block that will be attached to the stepper motor mount.
Here’s a stepper motor but it may be too small:
This link describes the Caster Wheel Carrying limits so this should help me decide what size wheel I should buy: https://www.douglasequipment.com/blog/caster-wheels-weight-limits/
I feel like I need to see the stepper motors in person. Where can I find these in a store so I can hold it in my hand?
Maybe Grainger. There is one in San Jose:
The only challenge though with these DC motors is that they are expensive: $250 to $1000. There just isn’t a lot of room for trial and error. I don’t really want to create a few thousand dollar proof of concept.
Looks like they also have actuators which I’ll need to buy after I figure out how to power the wheel.
I also need a stepper motor drive:
Questions to answer:
What is the size of the wheel?
How do I determine how much torque the motor needs to turn the wheel?
What store that can I go to where can I get my hands on a stepper motor and an actuator?
Buy a soldering iron
Research welding options
Read the wheel material reference guide
See if there are any other options for wheels that I could attach to a fork that would be a little easier instead of having to do metal work. Surely there are wheels that already have a bolt in them that will allow an axel to turn the wheel.
Other Alternative Thoughts:
This is basically the wheel that I’m using:
I’m wondering if I am making this too complicated. I should just buy a separate wheel that already has a piece more compatible to a motor. I could still use a fork but buy them separately.
Maybe try a cast Iron wheel:
Here’s a good reference to matching motors, hubs, and wheels. Read through this to get some additional ideas: https://www.robotshop.com/community/tutorials/show/matching-motors-hubs-and-wheels.
I could use a Servo Shaft Hub maybe – albeit this one is too small but find something like this.
**Please note that this is an ongoing project and this post will continue to be updated. So . . . continue to come back parodically for updates regarding this project.