epfl-cs358 / 2024sp-robopong

2 stars 0 forks source link

Make camera mount more stable #31

Closed AndrewYatzkan closed 2 months ago

AndrewYatzkan commented 3 months ago

My last camera mount (#9) was a 3D print. It worked in theory and looked cool, but it was way too flimsy and needed much more support. Adding more support could work, but the print could take 10-20 hours which would make it difficult to iterate on and take up lots of time on the communal 3D printers.

For these reasons, I decided that I could keep it simple and strong by using a stainless steel rod. We already used 8mm diameter stainless steel rods for the linear rails, so I got a 70cm 8mm diameter stainless steel rod from the shop. This way I only need to think about mounting the rod to the box and the camera to the rod.

AndrewYatzkan commented 3 months ago

To mount the rod to the box, I considered inserting it through holes in the top plate and middle plate, but to avoid taking up too much space inside the box and making the rod longer than it needs to be, I designed a pocket in Fusion that can screw into the MDF and hold the rod.

Image

Image

AndrewYatzkan commented 3 months ago

I used the laser cutter to cut a hole for the rod and M3 screw hole into the top MDF surface.

Image

Image

Instead of adding a tolerance to the part's 8mm hole, I kept it exactly 8mm and used a heat gun to friction fit the rod as tightly as possible to avoid wiggling.

Image

The hole cut into the MDF is slightly larger than the rod, leaving some wiggle room. This was why I fit the rod so tightly into the plastic part. However, the weight of the rod very slightly deforms the plastic, which is enough to sway the top of the rod by about 1cm. This isn't an immediate issue while prototyping the system, but swaying looks ugly and means the camera would need to continually recalibrate, so I will still need to fix this. I will brainstorm other methods for mounting, but my first thoughts are:

  1. Add another screw to stabilize the part/make it bigger
  2. 3D print it on its side since Z layers aren't as tightly bound to each other which is currently contributing to the flexing

Image

Image

AndrewYatzkan commented 3 months ago

To mount the camera to the rod, I designed these two parts

Image

They are connected with a screw and it lets you adjust the angle of the camera. In my first camera mount design, I had the camera directly above the board. I could still do that with this design, but the angle you need to look up to see the board here is so slight that I can't imagine that causing any issues as long as we calibrate the board and do a matrix transformation to the coordinates (as we were already planning to).

This is what it looks like mounted:

Image

Image

And this is the camera's view:

Image

The board is slightly off-center since the camera's lens is on its right side but that doesn't matter as you can see the entire playing board and paddle areas by a comfortable margin.

The only issue I see with this is rotation. The rod itself doesn't rotate very easily because of the tight friction fit, but the camera mount does rotate easily enough for vibrations from the game to potentially move or at least shake it. I can address this by adding screw holes to screw into the rod, or I can friction fit it like I did for the bottom part. I'm leaning towards the latter since it looks nicer and is working already for the bottom.