Carrier-Bot | Thoughts
Project Idea
I want to make a robot that can carry items. The robot can carry items by the user putting their items onto a platform. The robot carries its items to a pinged location. The robot will be pinged by a phone or a portable button. I want the length of the robot to be customizable according to the needs of the user. The robot will have wheels resembling a tank's. I want the robot to have an auto-navigation function (make it so it can find its own way to the ping). I will probably use an ultrasonic sensor to navigate around obstacles. Maybe play a ding sound after completing task (reaching pinged location).
Some Ideas for navigation:
- The robot will store the direction of the pinged place and find its way there by using sensors etc. The robot will have dc motors for this idea.
- A camera system to find the target. The robot will find its way to the target using the location data from the camera. The robot will have stepper motors for this idea.
- A camera the user carries (or is being carried another way), that always looks down, detects the distance the user walked. The robot (with stepper motors) goes to the calculated location. Example: The camera detects four colors at four (or three etc.) points of the taken picture; after like a second, it retakes the picture, looks for the four colors with the same distances to each other; when found, calculate the distance from their first position to get distance moved.
Key Features:
- Can be pinged by a device
- Finds its way to the pinged place
- Can carry items
- Can change its length
- Plays a sound after completing its task
Draft Materials List:
- Ultrasonic sensor
- DC/Stepper motors
- PCB (motor driver, capacitor, resistor etc.)
- A portable power source (probably some batteries)
- 3D printed parts
- Something to play sound with
- A camera
Sketch:
Motivation
People forget things. People forget to take their items with them when changing locations if they're working on a project, talking on the phone, watching/listening to media, or thinking. After realizing you forgot your items, trying to find them on top of your busy day feels like a great hassle. This project is here so that you can get to your items immediately, without having to feel the dread of trying to find or remember them.
The second reason for me to design this is so that you don't have to carry your items. This isn't the first reason even though it's in the name because, if I really wanted the bot to just carry items, I would've just designed a platform with wheels that you can tie to your hand with a string. The main idea of this project is that you don't have to touch or think about your items to have them with you. Just click the button when you need them, and they're next to you.
Carrier-Bot | Basic Components | Update 1
Info About the Update
I wrote a program that'll help the robot find its way to the goal location. You can find the code here and some example outputs here. I also created an electronic design from Kicad and a really basic (it doesn't have all of the functions I'm planning to implement) 3D model of the robot. Also, because of how I've written the code, I'm planning on using four ultrasonic sensors, each directed to different directions, to navigate the bot. The current code can only simulate the movement of the bot in digital space (as in, it can only show what path it'll take in different situations); however, if the code is successful in real life, I'm basically done with the code of the navigation part since it's not that hard to implement code for electronic parts into my code. I currently have no idea on how to do communication between parts. I got some feedback, however, on how to locate the goal location. A relative of mine recommended using GPRS. Currently, I literally have almost no idea how I can use a GPRS, how it operates, or if it would be even applicable in this situation. I'm planning on looking into it before I post the second update of my final project, so you will probably be able to see my decision on using it in the second update.
3D Design
This design is smaller than how its actual size will be. I didn't implement the changeable length and sound playing functions in this prototype; although, I might discard the sound playing function idea altogether.
Electronics Design
I created a simple PCB design for using DC motors.
Carrier-Bot | Researching | Update 2
Info About the Update
This update is for doing some research and deciding what parts to use exactly. This update doesn't contain my final thoughts, but the information below is basically what I have decided to use currently.
Table of Contents
- Resources
- Goal Locating
- Which Distance Sensor
- Measuring Distance Taken
- Omnidirectional Wheels
- Materials to be Used for the Robot Body
Resources
Asked ChatGPT and used information from the week 11 meet for goal locating.
Used this and this website, and asked ChatGPT for deciding on a distance sensor.
I asked ChatGPT and looked at this website to make a decision on which distance sensor to use.
Goal Locating
I took some names from the week 11 meet and ChatGPT. These devices are nRF24L01+, LoRa (Meshtastic), UWB, RTK GPS, GPRS, and GPS. I asked about the devices to ChatGPT. Basically, it told that UWB was the best among these since it had an appropriate range for my project, it gave both distance and direction, and it was accurate enough for my project.
Which Distance Sensor
I was recommended to test VL53L1X as a distance sensor in the output devices week by Mr. Krisjanis Rijnieks. I wanted to see if I would be able to use this for my final project, too. However, after researching these two from this and this website, and asking ChatGPT, I decided to use HC-SR04 for my final project. Although, I still want to test VL53L1X in the output devices week if I'm not too short in time.
Measuring Distance Taken
I was told a stepper motor was too heavy for mobile devices and was recommended to use a DC motor gear encoder by Mr. Eduardo Chamorro. I asked ChatGPT and looked at this website, and this option seemed good for my final project, so I'll use it.
Movement
I was told about omnidirectional wheels, too, by Mr. Eduardo Chamorro. They seem pretty good so I'll just use them if there are some in the lab.
Materials to be Used for the Robot Body
Top (carrying part): I'm not sure what to make this part from. I was planning on making it from wood by getting help from a laser cutter, but was adviced otherwise by Mr. Krisjanis Rijnieks since that would have made the robot too uneven if a heavy object was placed on one end of the carrying part (since wood isn't that heavy). I want the top part ot be detachable from the middle, so I still believe wood isn't too bad of an option (since it's easy to make copies with); however, I still want to think about this part.
Middle: I'll make this part from 3D since it's hard to make it in any other way. The middle part will have holes and will have the ability to change its length.
Bottom: I'm not too sure of what to make the bottom part from. I may just make it from 3D (and make it attached to the middle part), but I also have an idea of making it from a heavier material so that I can make the top part from wood (since a heavier material in any part will help the robot from becoming too uneven). I also have an idea of just making it from 3D and making a bunch of empty spaces inside it, so that I can fill those empty spaces with heavy materials such as metals so that I can solve the unevenness problem while also using 3D to make the middle and the bottom as a single piece.