Vietnam Robotics Challenge 2023
Description
The Technical Notebook chronicles Robots in a Nutshell's journey in designing, brainstorming, and building robots. It features images and ideas developed during the competition strategy phase, reflecting extensive research and application of high school curriculum.
Comprising young enthusiasts, me and my team aspires to share their passion for robotics and contribute knowledge gained from the Vietnam Robotics Challenge (VRC). Despite their youthful vigor and limited experience, some mistakes inevitably occurred in the robot creation process.
Skills learned:
- Basic knowledge of mechanical designing process.
- Intermediate understading of electrical circuits and embedded software programming.
- Leadership, teamworking and basic management(time, budget, resources and milestones).
The Game's Rules
Arena:
- Dimension: 6x7 (meters)
- Surrounded by a 30 centimeters high barrier
- Includes:
- 1 Parking area
- 1 Cylindrical storage area: 1.80 meters tall
- 4 Corner-storage areas
- Driving area
The platform diagram
The real platform from the top view
Objective: Shoot as much balls inside the cylindrical storage as possible
Mechanic
Drive-base:
a. Basic idea
- 2 motors with wheels at the back of the robot
- 2 Ball-bearing universal wheels mounted to the front of the robot
Top view
Side view
b. Advantages
- Reduce the number of motors, therefore, more motors could be used on other mechanism
- Less motors meaning simplier code
c. Disadvantages
- Sometimes the 2 ball-bearing wheels don't create enough friction with the arena's floor making the bot slip a pretty wide margin when turned
- The two ball-bearing wheels are to light while the two motors are to heavy, causing the center of gravity of the bot to not be in the middle. This could cause the bot to fall after when mounted others mechanism on
Intake Mechanism:
a. The first part: getting the balls inside the robot
- Inspire by the efficiency of leaf-collecting cars on the street in Vietnam, we came up with the idea of straping a large number of cable tie on to rod which then spin to push the balls in similar the spinning brush of a vacumn robot.
- We decided to make 2 of these cable zip brush, one at the bottom with a bigger cable zip to push the ball up and one on top with smaller cable zip to catch the balls and get them inside the container area of the robot.
b. The second part: moving the balls from the container to the shooter part:
- Due to the limitation on number of motors, we decided to make the balls containers 20cm above the ground, then make a ramp to direct the ball to fall down below the shooter.
Shooter Mechanism:
The system was inspire by the Flywheel Shooter from FGC.
a. Basic idea
- First we created a rectangular prism frame to house 4 wheels, one motor and all of the pulley system.
- Then, inside of the rectangular frame, we made a cylindrical frame with the radius slightly bigger than the radius of the ball. This frame serve the purspose of keeping the balls moving on the right track, avoiding boucing around. We decided to make this inside frame out of metal net so that projectiles of the balls are transparent, making it easier to make adjustment and maintainance.
- For the pulley system to shoot the ball, we dediced to have 3 nodes of wheels: the first node this to bring the balls from the base up into the frame and give it some initial velicity so it can reach the second and third node; the second and third node are at the same height and rotating at opposite direction to create pressure that shoot the balls upward.
b. Advantages
- The system only require one motor to run, which was also the last motor we have due to the limitation from the rules.
- Stability is a huge plus point for this system as balls from behind keep pushing balls infront upward, creating a chain reaction that keep shooting the balls out the frame.
- Thanks to the lenght of the frame, the robot can shoot up to 8-10 balls at a time, this was also a double-edge blade that I will explain below.
c. Disadvantages
- Due to the fixed angle of the shooter, the robot need to be placed in a very specific distance and position to the target in order to accuratly deliver the balls. If the position placed is not the sweet spot, we can lose alot of balls because of miss-shooting, which was exactly what happened during the competion.
Coding
Importing libraries for the PS2 controller and servos:
Creating multiple define functions for each part of the robot for future debugging:
Function for controlling the motors
Function for controlling the 180 and 360 servos
The setup function:
The loop function that include every functions above: