This week has been pretty fun playing around with the Raspberry. I am new to the platform so I didn't know what to expect. Turns out there are a lot of great tutorials, guides and books online which helped me a lot on getting started with it. For this week i managed to write Arduino data to a file on the Raspberry, to do the first 3D model of the shelf and to start with computer vision. Here is the complete rundown of this things:
1. 3D model
For the 3D model I used Autodesk Inventor, a great and intuitive program. The model helped me with some of the decisions regarding the placement of bigger modules and also making it so its easy to assemble. I went with a two piece design where the left one is for heavier things and the right one is for lighter things like spices etc. Here is a picture of the model:
I decided to go with different thicknesses of wood to try to make it as light as possible. The model also gave an idea for where to place the Raspberry and Arduino, which will be inside the right part of the shelf, this way it will remove a lot of clutter and the user will have an easier time finding the things he needs. Here is the picture of the back where those modules will go:
There are two things missing on this model and those are the support legs and the camera mount. There will be three support legs one on each side and one in the middle which will split into two to accommodate both the left and right part. The left part will be supported by 4 50kg load cells (right), while the right part will be supported by two 10kg load cells (left) (This is too much I know, but these are the ones I have at disposal atm, the thing i am looking at is accuracy which will be good for both parts). When it comes to the camera mount it will have a small servo which will swivel the camera around so I can get the view of the whole shelf, I will be using a 50cm extension cable for the camera.
2. Writing to a file with Arduino
For this I used an open source program called grabserial (https://raw.githubusercontent.com/tbird20d/grabserial/master/grabserial ).I found several ways to do this but this one stood out as the simplest of the bunch. All I needed to do was edit the baud rate and add the file to which the programs writes the data.
3. Computer vision
The last thing I did this week and the newest thing by far that I have done is the start of computer vision (OpenCV). I found a lot of great tutorials and books online, and am going slowly to get to know it as best as I can. For now I can do some simple color, line and circle detection. I am trying to go through as much as I can and experiment along the way so I can see what is the best and easiest I can do for the labels later. These are some of the programs I wrote during this week, the first one focuses on color detection (a wide range of the green color), and the other program on circle detection. Here are the images and sample codes:
The codes are the attachments in this blog. Thank you for reading all the way, hope you like the blog!
Milos