epistemic turtle

smitcher's robotical creations

I've been participating in the robocup junior soccer open competition with my team of 3 (including mysefl) for two years now. The point is to create two robots that play soccer against robots from another team.
last year's project was our first contact with robotics. We still managed to make functional robots despite our utter lack of competence in the beginning of the year and the fact that we recieved the wheels less than a week before the competition. I'm quite proud of what we managed to do and the great thing witht this project is that you learn a huge amount through trial an error. The teams aren't supposed to be helped by anyone beyoond its members, so we had to fix all of our errors ourselves and develop our robots completely independantly.
This project mixes electronics, 3d design and priting, mechanical engineering, a huge amount of programming, wall-head-bashing and a lot more
I'm the one responsible for all of the programming. One of my teammates works on the whole physical design, though our roles sometimes change. For example, I designed the cone, but he manufactured it. We also all work on the physical robots when a wire gets undone or it needs to be recharged. Our comptetences are quite complementary.

small note: I'm only showing one robot because my teammate is working on the other one, so I only really have access to one right now.

This year's robot placing a goal

one of the great difficulties of this project is that the robots need to be fully autonomous. We aren't controlling them to place goals. They need to detect the ball and the goal and try to position themselves in a way that will let them push the ball towards the goal. They also need to avoid going out of bounds (which I haven't drawn on the field, but there are normally white boundary lines 10cm off of each wall). This adds another layer of complexity.

The robot's design

Our robots are rather classical for the competition. we use omni-wheels to move freely in any direction quite easily. We use a camera facing a cone to have a reflection of the whole field (to get a 360 degree view of the field). our main microprocessor is an esp32. We use an openmv h7 cam as our camera.

The cone!

We use a camera facing a cone to have a view on the whole field. Most teams just use a hyperbolic cone to have a good view of the field, but we decided to create our own cone shape to have a very good view on the field. We developed the cone to see the field without distortion.

to the left, the cone's view of the field as predicted by the 3d graphics program blender, and to the right, the actual view of the field with the cone


I wrote a python program that would create the perfect cone shape given some inputs such as the camera's position and the cone starting position. It starts at the center and finds the angle it needs to be at to reflect the light from a specific distance away. Essentially, every iteration of the rpogram adds a tenth of a mm of cone. it knows where the light should reflect from (the targets are uniformally distributed), and so finds the norm of the section it's going to add and adds a point at the right spot.
this worked very well as the real capabilities of the cone match the given requirements nearly perfectly. For next year, we will try to decrease the distance between the camera and the cone as to reduce the cone's size.

the red section is the cross section of half of the cone. the (barely visible) points at the bottom of the image are the targets that the ligh should reflect from. the white lines are a couple rays of light from some of the points to show as an example.

the cone was manufactured by a family member's cnc mill.