Just wanted to supply an update on my Raspberry Pi based companion rover. I've updated my little companion and bought more accessories to help with the build.
During the last project, I discovered the frames per second weren't quite high enough for me to move around, and still have the rover continue to register my presence. My original goal was for the rover to move around with me, which was the sole purpose of it being a rover/car in the first place. In order to increase the frames per second, I ended up buying the Google Coral Usb.
At the time of writing this, the usb's price is overwhelming. Originally $60 dollars, scalpers took no time to take advantage of the chip shortage, boosting the price up as high as $200 dollars. That being said, I was finally able to buy one after a few months. My one review on the usb is that it totally works. Not only was the object detection sped up, but now other programs I was running simultaneously started working a bit smoother as well, thanks to the decreased processing load.
The next thing I added was the ability for the head to be able to pivot so that if I wasn't in the camera view, the head would continue to swivel until it found me and realigned itself accordingly. The bot now looks right up, right down, left up, left down, middle up, and middle down. Quickly after adding this feature, I regretted it. The head movements weren't smooth, so the head started to come apart. I ended up having to hot glue the components in place to keep the vibration from the servo from displacing the head components. This was important, as the head holds the camera, and essentially the driving control.
After the glue was added another issue that began to pop up, was the identification of other "person" s. As the camera would pivot to find a person, it would register false positives. Human related things such as a coat and shoes could trigger a "person" response from the object detection. In order to try to counter the false reads, I played with the object detection threshold percentage.
Vibrations from the wheels would also randomly turn off the circuit. Turning the rover is a little difficult because of the alignment of the wheels. In addition, the springs are a little worn, so the battery doesn't fit as tight as it should in the housing. The wheels would turn and the car would vibrate causing the battery to slip just a tiny bit off of the contact pad. This slip would completely turn off he device because the power from the battery pack I added wasn't enough to supply the motors and computer as well.
A Smarter smart car
I still haven't tried to work through the articles on mapping the environment using ultrasonic sensors and cameras. Ideally, if I can add this next, this functionality would make my companion ten times more effective, allowing me to send it off to different areas and maybe even fetch things eventually.
Conclusion :
My companion is up and running but it still needs a few things. But overall, I'm pretty satisfied.
This project has honestly been a tiny highlight of my adult life. I've imagined having a robotic companion for many years and finally I have something that can talk and move with me without the need for the internet. Even though I can't quite have a conversation with it, I now have a solid base to work from.
Comments
Post a Comment