Blog entry: Noob robotics — The body and new to 3D printing
This is not a tutorial, just a blog until I make my own blog site(lazy/stubborn).
I’m not saying ultrasonic sensors are comparable to a LIDAR system at all. In fact I’m not sure if it’s so bad that for one “input” eg. a receiver from an ultrasonic sensor, you just have this on/off thing going on. Other than “something is in front” or not… What is this supposed to do? Anyway we’ll see.
More and more I think about how dumb this project is. There’s no “training” on a couple of on/off sensors essentially so I don’t know what I’m going to do oh well. Time moves forward regardless, I enjoyed the moment even if it was pointless.
- Measurement is important, need some physical reference to get an estimate of how big something really is compared to 3D modeling software
- Keep the nozzle close to the printer bed for best reliable prints
- Consider support structures when printing cantilevered structures as Cura may not make them/just print into space/hanging
I am using Google SkecthUp with STL export, and solid inspector 2(this is important) for making sure you have actual solid surfaces/don’t print empty spaces that looks solid. I’ve been using Google SketchUp for a while so it’s easy for me to use. Probably not comparable to Fusion 360(free hobbyist) but I can’t say that for sure.
I’m using Cura for my slicer
I bought an Ender 3 Pro
- HSR-1425CR continuous rotation robot servos from Hitec
Regarding 3D printing the main times I have to print are the weekend. I want to be home while it prints. Also the body is very basic, it’s literally just some kind of structure(tail dragger in this case) and then I’m mostly focusing on the code/electronics/sensor aspect after that. I don’t have all the parts yet and not entirely sure yet of what I need but the physical stuff I aim to get done this weekend(Sunday currently as I type this and most of it is printed already).
I am a moderate software developer. I am definitely not a roboticist and this kind of thinking(code with loops) is not my general thing. I have used threads for stuff but I’m just talking about in Arduino that main loop that runs, it’s currently weird to me. I also don’t know like other than telling a robot what to do in general like “move forward, avoid obstacles” what else does it do?
Build log/thought process
So this is a very first project for me. I’ve built things before and some other basic “robot-ish” stuff. I actually tried to build a crawler in the past and it was using wire spools for wheels and I was counting the number of times the wheels rotated to estimate distance. I know at the end of the day “just buy a LIDAR module” but I’m trying to make a low-resolution sensor “array” type deal.
In the past I also couldn’t really design/build anything. I just cobbled together crap that I had into a shape. Now I have a 3D printer so I can actually design things. This thing is designed to work on a carpet mainly hence the sharp edges on the wheels. It will use two servos that rotate 360 degrees for wheel motors. I’m still coming up with a rough design because I don’t have screws so it will be glued together generally. Some parts will be screwed(servos came with screws) and I’m trying to make “snappable parts”. But this one will probably be hot glued together(vs. super glue).
The programming I’m not sure about yet. Currently as I mentioned before, I’m a software developer on the web side mainly and writing a non-ending loop/script thing(Arduino) is a new concept for me. I also mentioned about the “purpose” aspect. I’m thinking it will have some drivers like “find light”. The ultimate goal in the end is a self-sustaining autonomous robot. This won’t be part of the ending product physically but the knowledge transfer from it will help. But for now main goals are to make some thing that I can work on/build on top of.
I have yet to build a self-charging thing(solar panels and on-board batteries). My thought is for this thing to find a window/where sun is and charge itself/learn where that is in relation to a room. Of course “is there enough light to charge a batter” and maybe it is impractical in the end, use basic math. But the idea is it can explore but then come back to where the sun is. How will it know where that is? I don’t know that’s something I have to learn too is 3D spatial awareness/location.
The mapping/location part will probably be crappy. Considering I want to make it cheap on purpose(using ultrasonic sensor vs. lidar). And also not using steppers but hacking the servos to get the position by wipers. This actually did not happen, as it turns out these are continuous-rotation servos and I was surprised to find it didn’t even have a potentiometer(that slot in the servo box was empty).
By this point I’ve started printing. I did the tail wheel thing first. This wheel is ridiculous 124mm diameter. After printing this wheel I realize the thickness is flimsy at ~2mm. I’ll still print the other one mirrored the same just because.
I printed the body that holds the servos, I made a mistake, the slanted down part is supposed to be skinnier than this hole in the tail wheel assembly so it slides into it. But my dimensions were off. I’m gonna have to sand it down to fit or cut it. Plastic is hard to cut surprisingly at least with a razor blade or something.
I gotta say, it’s super cool to 3D print stuff. I mean it takes a while but the idea that you can just design some 3D shape and throw it into a slicer and then put it on an SD card and hit print… wow. Although I will point out that there are some things to keep in mind.
So at this time I’ve assembled the body, it has 3 contact points now(two saw-wheels and swiveling tail wheel). It is a piece of crap I can attest to that. The arms are too tiny. I’m aware of tolerances and rough ideas of bending but I had no units or mass or force assumptions at all. I was just like “that looks right” but it doesn’t. Luckily plastic is not “brittle” like some wood so it can bend and generally this thing will not be that heavy… but those tiny little extruded square bar arms are what’s supporting all the weight/doing the bending. The saw wheel is also not great/really need rubber on the bottom or plastidip as someone pointed out.
The design is off too like the top of the tail wheel assembly is supposed to be below the top bar, so I made these risers. I am not 100% on how to attach the Arduino to a platform. It has screw holes so I’ll probably put those in/steal screws from somewhere.
At this time I have no idea about the programming interops in my mind like “that’s cute” you just imagine this thing working some way and it’s completely wrong. Oh well and also I’m wondering like what does this contribute to my end goals… I’m a software developer this is probably not valued much how to program a robot(in the web world)… but that’s a day job and this is “passion” I guess. Although I’m more into flying(rc planes not drones/autopilot) than ground robotics. I don’t know… that’s life right… you think you want something but then you don’t.
I bought 32GB of RAM so finally not going to run out because of all these Chrome tabs open/virtual desktops currently have 16GB and always concerned of running out.
One thing I’m “scared” of at this time due to lack of understanding is using Li-Ion cells, I’m aware of the 18650 cells and how awesome they are but I also am concerned about using them. I have a balancing charger type. So I think I would just have to solder them up right/have a connector. But I need to spend time learning about them.
So for now I’m using some Ni-Cd cells. I trust these are more “dumb-proof” and I’ll charge them at a low half amp or something. I also bought some regulators… I bought different ones eg. simple linear and buck/switching type but also just bought BECs for model airplanes as I know those will definitely work. Feels like I’m wasting money but I’m also putting it towards future project tools.
Back to assembly… so those Ni-Cd packs are heavy. And my piece of crap bars are not very strong. I think I will have to print a brace to attach for helping support the weight.
FYI this took about 2 days of printing, not non-stop/all-day but each part on average is 2–2.5hours of print time, some much less. The arm-brace for example took under 40 minutes to print I think.
As I mentioned I ordered batteries, so next “basic” step is motion. I have physical bumpers that I will add just because. And then after that ultrasonic sensors for longer range sensing. Hopefully more advanced than just “something is there”.