Hi all, again a lot has happened since my last blog post and I am looking forward to going through it all with you now. Last time I hinted at some plans to have the Tumbller go through an obstacle course. This is the drawing given to use which we are meant to replicate at home.
Some of the dimensions have been relaxed since the initial brief but nothing too major. The objective is for the Tumbller to go from start to the ball collection zone and stop there for 20 seconds. I will then try to fire in as many ping pong balls as possible into a container on top of the Tumbller (I am going to through my design choices for this later in the post). This will of course be with the ping pong ball launcher I designed and demonstrated here. The robot then has to turn around and find its way back through the obstacle course and make it past start.
With the rules and obstacle course design finalised I went about building it at home. The course is quite simple so it wasn't too difficult to find things around the house to construct it. The first thing I did was mark out the dimensions of the course on the ground using some tape. Since the tape is pretty thick I had the actual dimensions of the course run through the middle of the tape. I then found some long planks of wood and thin plywood in my shed and drilled them together to make the side walls of the course. The other walls are just thin lengths of ply wood that are attached to the side walls using tape. I had to make sure they were all tall enough so that the ultrasonic sensor of the Tumbller didn't look over them. This will be important for the Tumbller's course navigation later. The extra tape on the bottom of the barrier walls was put down to make sure the barriers are as close to 90 degrees as possible. This will also help the ultrasonic sensor to be able to judge the distance as well as possible.
These two stages of the simple construction can be seen in the images below.
With the relaxed course design rules the central barrier walls with length b and c can be moved up or down between the initial barriers and the ball collection zone. I might have to make slight adjustments to the spacing of my barriers depending on how easily the Tumbller manages to get through the course.
Sample pseudo code for how I hope to get the Tumbller to navigate the course is as follows:
This code would create a counter than would rise every time that the Tumbller detects an obstruction through the ultrasonic sensor. Based on the value of the counter the Tumbller will then perform the desired action at each individual wall. This code should leave the robot in the ball collection zone where the ping pong balls can be fired for the 20 seconds that it stands still. Similar code will then be implemented for the robot to return back through the course.
I will have to write out the actual code from this and upload it onto the Tumbller to test it. I am sure there will be some difficulties (because there always are) and that I will likely have to change the code up to a certain extent. I will work on this between now and the next blog where I hope to have the the Tumbller gliding through the course with ease.
I also made a few design upgrades to the robot since the last blog, one being that I have a new caster wheel on the Tumbller. I said the last time that I would love to change the wheel I originally put on and make it more like the CAD version I designed. I did actually end up doing this for a number of reasons. First of all the original wheel made the Tumbller quite unstable and made it tip backwards with any sudden forward movement. This is because the wheel was too big and too close to the driver wheels making the Tumbller leaning backwards. It also did not turn very well, especially on wooden floor where it just slid around, creating resistance to the robots movement. The new caster wheel shown below has fixed both these problems.
As you can see it sits quite a lot further forward when compared to the last wheel, giving it more stability. It also increases the length of the robot quite a bit which will probably make navigating the course more difficult. This is not something I initially considered when attaching it so fingers crossed it doesn’t cause any problems.
Here is an image of the old caster wheel for reference.
The new caster wheel is significantly smaller which stops the robot leaning back. After doing some tests the robot doesn’t tip backwards at all now which is really nice. The caster wheel also has a ball bearing mechanism as I had in my CAD design. This made turning a lot more smooth and fixed the problem of the wheel simply skidding across the floor.
One other thing I added to the robot is a ball collecting container which I’ll use to catch the balls fired from the launcher. The limitations for the design of this in the design brief were as follows:
It turns out 133cm² is smaller than you think. Especially when you want to fire ping pong ball into that area from a distance. My thought process was that I should try and find a circular container as this would have the smallest perimeter and lowest risk of a ball hitting an edge and bouncing out. Luckily I found a container which my Dad used to store old parts in out in the sheds and it suits pretty well.
With a diameter of about 12.5 cm and using the formula for the area within circle I found it to be 123 cm². Not sure if Ill get any bonus points for this, but it is definitely within the limit.
I was able to quickly attach this to the robot simply using some tape. This shouldn’t be a problem as it doesn’t have to endure any significant forces, only some light acceleration and ping pong ball fire.
Everything is set now for the Tumbller to complete the course. I just need to write the code and work out any small issues that are bound to come. Hopefully I will get this done really soon and will be able to show off everything I have been working on for the last few weeks.
As always you can get more regular updates on all that is going on here through my engineering Instagram page, linked in my profile here. Thanks for taking the time to read through this.