Date: 15/05 2014
Duration of activity: 08.15 - 13.00
Group members participating: Pætur Askildsen, Christian Jegstrup Hansen, Søren Gregersen, Søren Ditlev and Alexander Rasmussen
Changes from last time
Last session we found inspiration to different projects we could use as our end course project, and decided to go with the self balancing robot on a ball, ballbot, and also build a robot to drive inside the ball on which the other robot balances. The robot inside the ball can be remotely steered. Based on an internet search on ballbot projects we found that few had actually made a balancing ballbot, approximately 7 that worked [1]. And these projects made a ballbot, not extending the ballbot with a little robot inside the ball, as we wanted to. Therefore we concluded at the start of this session that while it looked like a very fun project to do, it was difficult to accomplish - not something that could be build within the time available for our end course project.
Therefore we have modified the project description so that the robot should not balance on a ball, but instead on a big tube with a diameter of 200-300 mm. This simplifies the balance challenge in the sense that instead of working with two axes (and two motors) we only work in one axis (with one motor), the axis in which the tube rolls. With this simplification the robot can also only fall in either direction along the tube-roll axis, where the ballbot can fall in either direction in a 360 degrees circle. With our tube project we can just use forward / backwards power to keep the robot from falling off the tube where in the ballbot project the power to the two motors controlling the 2 axes should be intelligently set so the robot raises from the direction in which the ballbot is falling.
Figure 1: Change from Ballbot project to tube-balancing robot project.
This reduces the number of challenges to overcome and the constants to be tweaked, which increases our chances to succeed with our end course project. The final robot will furthermore have some similarities to the SegWay robot we programmed earlier, thus enabling us to draw on our previous knowledge from lesson 5 [2].
Goal
To find information about projects similar to our balancing robot project and to lurk their tricks. Additionally also to build the first version of both the robot inside the tube and the balancing robot on top of the tube. For the robot inside the tube: begin experimenting with a remote controller. For the balancing robot on the tube: Test the gyro sensor with a LegWay robot since we do not have a tube yet.
Plan
- Find the group from last year’s lab report which had a vision for a project similar to ours.
- Find building instructions for a LegWay robot which uses the gyro sensor to start experimenting with the gyro sensor until we obtain a tube for our project.
- Get the LegWay to balance.
- Start programming a remote control, which will use bluetooth communication, which shall control the robot which drives inside the tube.
Results
Experiments with gyro sensor by building a LegWay robot
We found a guide to use the gyro sensor for a balancing robot from the company’s website which manufactures the gyro sensor, HiTechnic [3], but this only has some NXC code for balancing a robot with a gyro sensor, [4], which we started out translating into Java code so it can run on LeJOS, until we found out that a group from last year had already done this, so we used their code as a starting point [5]. This was also the group from last year who had a vision for a project similar to ours [6]. They had not only translated the code, but also incorporated a PID-controller into the code. We tried out their code and we managed to get the LegWay robot to balance for at least 30 seconds, see [7] or click here for link to video.
We will have to tweak the code and the parameters when we get ahold of a tube and build a robot which can balance on the tube.
Figure 2: Shows the self balancing LegWay robot
Figure 3: First version of the car that should drive inside the tube.
Building the car to drive inside the tube and the remote control
The first version of the car to drive inside the tube can be seen in figure 3. The goal was to build a car with a wheelbase as small as possible, so that it can drive in a tube as small as possible. To achieve this, we needed the wheels of the robot to cover every angle of the car, the result was a car with a wheelbase of 165 mm, meaning that we should find a tube with a diameter of at least 250 - 300 mm.
Last year a group made their own remote control and we used their code and build as inspiration to program and build our own remote control [5]. The car inside the tube shall only drive either forwards or backwards, so our remote control shall only have a lever to control the speed and the direction.
Figure 4: The LegWay is balancing.
Conclusion and Plan for next session(s)
We built a LegWay robot using HiTechnic’s gyro sensor and we were successful to get it to balance for at least 30 seconds. The code uses a PID controller on top of the 4 different parameters obtained from the gyroscope and tacho counter. In the next lesson we have hopefully obtained a tube, and we will need to tweak the code (and understand it thoroughly) to match it to our tube-balancing robot context. A part of this will also be to find out if we need all 4 parameters for our tube balancing robot.
References
[1] Ballbot projects, http://en.wikipedia.org/wiki/Ballbot#Ballbot_Projects and https://www.youtube.com/watch?v=f8jxGsg3p0Y and https://www.youtube.com/watch?v=FZ5K0tZ2ZOk
[7] LegWay balancing for 30 seconds, http://goo.gl/e5iqqK
Ingen kommentarer:
Send en kommentar