My story is immersion in the study of robotics and the creation of a robot using a 3d printer. Errors that I encountered and what I would like to receive as a result
Background
About 10 years ago, in the first courses of the university, learning about the existence of Arduino and learning how to order goods from China, I ordered myself an Arduino Mega starter kit and started, like everyone else, learning to blink an LED. I got a wild delight from the fact that I can not only program and get some solutions on the computer screen, but I can make some devices that I can make life easier. I started thinking about IOT before I learned about such a concept and from time to time I thought to implement such a useful thing. The first project on Arduino, which I considered completed for myself, was a controller for a terrarium with a spider. A screen, several buttons for control, a temperature and humidity sensor DHT11, automation of the backlight, heating with an incubator cord and all. I already had experience working with pascal at school, I liked programming, but I didn’t want to connect life with it directly, it was boring for me, and I obviously went to study in the engineering specialty, or rather, Information Design Technologies in NTU “KhPI” .
They promised a super advanced direction, advanced technologies, talked about how much such specialists were in demand and lured with bright pictures of calculations in Ansys, Solidworks and other software systems. In fact, now, 6 years after graduation, I can say that I do not regret a single bit that I chose this direction for myself. A lot of things, of course, were not as described upon admission, but in the 3rd year I nevertheless waited for items that I liked. I was interested in studying CAD systems, at one of the Olympiads I received a CSWA certificate from Solidworks, without straining at all or preparing for it. But after graduation, I received an offer without experience and special knowledge in programming for the position of .NET developer for projects related to the integration of plugins in Solidworks. Then 6 years of working with .NET in several companies with different directions, an attempt to work remotely with cryptocurrencies, etc. but it all did not bring me pleasure. From time to time, I realized that I like the process of automation of everyday processes, but I couldn’t think of anything to do so, not just to play, but something real and useful. Years passed, the university went on for several years, there was no free time, but somehow, on the eve of the repair, I decided that this chance was to apply my knowledge and try to do something really useful, and I started developing a smart home. He refreshed a little knowledge about the current situation in microcontrollers in the world, learned about the existence of an ESP8266 with Wifi on board, the once-Ukrainian startup Blynk, which makes it possible to get conditionally free applications for controlling a device from a phone, without experience and knowledge about developing software for phones. A few months later I received a prototype assembled on a breadboard, but it worked stably. For the first time, for testing, I left it in the form of modules screwed into the distribution boxes. I would like to write that after the tests in real conditions I spread the board and assembled everything fine, but no, for the third year everything has been working stably, so I am not going to redo anything. From what was useful to me in this, I got everyone the opportunity to save electricity automatically, including the main consumers such as a boiler, dishwasher, washing machine at a night rate. Monitoring the temperature in each room and, accordingly, controlling the heating in each room. There he also implemented a controller for the underfloor heating and street lighting. 3 years ago, this whole solution cost me about $ 50, given the fact that it costs only a normal controller for a warm floor. 3 years of operation of this entire system gave me confidence that microcontrollers can really be used for development and they can work stably.
The first attempts to build a robot
A few years ago, I still decided and allocated a budget for a hobby by buying a 3D printer. The plywood clone of Ultimaker immediately began to be finished by hand, the doors and the acrylic box were finished for printing ABS, and I began to understand that with the printer it was already possible to develop something more serious, movable and interesting for me. Remembering from childhood broadcasts on television with the battles of robots, I decided, why not make yourself something interesting. I went to the festival of robotics, fired up with this idea even more. I started watching robotic projects on thingiverse and realized that this was not something, other people's developments were mostly boring and ordinary, the lack of source code and still “YAGENZHENER”. I wanted something with unusual mechanics, and not just a wheelbase. I wanted to implement a mechanic similar to a robot when loading Solidworks.
The same robot that became one of the inspirers
I looked at similar constructions, understood the principle of work, and kept in mind the idea of ​​doing something similar. The first major mistake was the decision that everything is simple, I will gradually model, print and check the finished design, not having a complete understanding of what and how it will be arranged, how it will be managed, which modules will be used. How very wrong I was. Initially, I understood that the robot would be made “to grow”, I planned on this robot to use all sorts of object recognition using OpenCV, some kind of navigation, automatic parking for charging, you won’t be able to do one ESP there. Initially, the idea was laid to use ESP32 for working with mechanics and RaspberryPi3 for working with logic, camera, sound, etc. One of the necessary conditions for me was automatic recharging, so I had to figure out how to realize power. Since I didn’t have much experience with electronics / electrical engineering, at first I tried to use a semblance of Powerbank with the ability to work in UPS mode. Work from the battery (in my case, 8 elements of 18650) when there is no external power and recharging the same elements and working from the mains when the robot parks for charging. In general, there were many attempts to put everything together and make it work, but I realized that I needed to either learn the materiel or seek help. Due to the constant changes of all modules and boards, everything no longer fit into the robot body, and at some point I realized that it was time to redo everything.
The first version of the design with printed tracks with one belt and a servo for turning the front of the tracks
First work on bugs
After participating in a webinar on robotics, I met a person who develops circuit boards and decided for myself that it’s easier for me to sketch out some technical specifications and get some kind of solution from a person who knows board design and device development. At the same time, I started work on a new building about looking at my doorposts last time. And here once again I step on the same rake to the end without understanding what all the electronics will look like, what dimensions it will have and how I will put it all. We discussed that it would be a modular solution, I had some boards, for example, engine drivers, batteries, and I began to re-simulate the project, but already completely drawing out each board with mounting holes, wire outlets, radiators, etc. so as not to run into the problem of lack of space again. In fact, I was limited by the size of the printing area to 200 * 200 * 200mm, and I tried to make this version of the case out of one part, which took about 400 g of plastic and several days to print.
After several attempts with cracks appearing on the second day, detaching from the table, I realized that the prefabricated building is not such a bad idea. The process of redoing some of the parts would take much less time and the trouble with the printer would be much less. Having received a set of wired boards with all my wishes over time, I learned to work with shift registers, multiplexers, and at least somehow began to understand the circuits and devices that were incomprehensible to me. By that time, I had once again completely redone the mechanics. He changed the principle of rotation of the front “paws” from a servo to a worm gear motor. He left the idea of ​​printing belts for caterpillars from a rubber-like elastane and converted them to ordinary prefabricated plastic tracks assembled on nails and glued on them with elastane treads. Initially, a ventilation system was thought out, which took air from behind from behind the robot, through the ventilation system passing through all the boards, tubes in which the wires were threaded into the “head” and blowing hot air out of it. And this ventilation system even worked at some point in time, but then everything was rebuilt again, so it was easier for me to print the cover with a bunch of slots and passive ventilation.
What is at the moment
At the weekend in Dnepr, the technical festival Interpipe TechFest was held, at which I decided to show people what I have now, listen to the opinions of others and chat with odnodumtsami. There I once again heard about what it would be possible to write somewhere, for example, on Habré and get some feedback from people.
In fact, for me it is a platform on which I will learn to work with ROS, try to navigate in space, rebuild punishment, try to work with a solid-state lidar, which I’m waiting for from kickstarter, I want to screw something like a realsense stereo camera. I understand that raspberry’s brains will probably not be enough for me and in time I will switch to something more powerful.
Now this robot can be used as a "home watchman". While management is arranged through the same Blynk application. It is equipped with a dome motion sensor, a camera with the ability to turn on / off the IR filter, IR illumination. Having activated the protection mode from the phone, I get a notification on the phone. I can turn on RaspberryPi 3, start streaming, streaming + video recording, take photos that are sent to my mail. I can go see what happens there at home and return to the charging station.
The self-assembled 4s2p battery from the 18650 to 3200mAh modules each gives me about 8 hours of driving without recharging with all the equipment turned on and transmitting video and without any optimization of energy saving. So far, hands have not reached this. Using Google TextToSpeach, writing in the terminal of this application, the robot reads the text. And that’s all from anywhere in the world where I have an internet connection.
A bit of tin inside
This is how the UI controls on the phone look like
What's next and why am I writing all this
In general, the purpose of visiting the exhibition was to find new acquaintances with odnodumtsami, ready to start doing something related to robotics. I’m tired of working just as a programmer, writing desktop applications, this is not as cool as it once seemed and I think that this direction is gradually bending. Instead of relearning myself for WEB development, I decided to radically change direction and connect my life with robotics and IOT, which I really like. For myself, I decided that while working at work not related to this area, I did not have enough time. I have to choose between what I need and what I like and want, I saved some money, left work and started to study all this.
I have several ideas on the topic of robotics, the main of which is related to agriculture, based on computer vision, depth maps, object recognition, etc. I understand that there is a lot of work and now I just started to deal with ROS. I have knowledge in engineering, the ability to work with CAD / CAE systems and, in principle, can really do everything myself, but understanding how much work needs to be done on mechanics, development, miscalculations and fully learn how to work with ROS, depth maps, sensors, spatial orientation and bring it all to mind yourself will be very difficult. Therefore, I am looking for several people. who are ready to seriously engage in work on this startup and become one of the co-founders. Of course, I can’t promise that everything will be cool and in half a year our startup will bring us a lot of money, but until this niche is full, you can try to implement something at the level of the first prototype and go to accelerators, crowdfunding platforms and it somehow advertise yourself.
I am also ready to consider proposals in this direction. I’m ready to work with someone on someone’s startup, or not necessarily a startup, but simply the development of some company, but in an interesting direction for me.
Therefore, I would like to hear any comments on this subject. Perhaps, after all, this will interest someone. I myself live in the city of Dnepr, Ukraine. Accordingly, it would be more correct to work on one project in relative proximity, although in hundreds of kilometers rather than thousands, all options are being considered.
If there are any questions about the device of my given robot, I am ready to answer and discuss. Also on the facebook page there are several videos of the robot and its overcoming obstacles
If anything you can always find me here on facebook or write me on marchenko.andrii@gmail.com