Articles by tag: control

Articles by tag: control

    Control Award

    Control Award By Janavi

    Task:

    Last Saturday, after our qualifier, we had a team meeting where we created a list of what we needed to do before our second qualifier this Saturday. One of my tasks was to create the control award which we were unfortunately unable to complete in time for our last competition.

    Autonomous Objective:

    1. Knock off opponent's Jewel, place glyphs In correct location based on image, park in safe zone (85 pts)
    2. Park...
    Read More

    Code Fixes and Readability

    Code Fixes and Readability By Tycho

    Task: Make the code more readable

    So, we can't include all the code changes we made today, but all of it involved cleaning up our code, removing extra functions we didn't use, refactoring, adding comments, and making it more readable for the tournament. We had almost 80k deletions and 80k additions. This marks a turning point in the readablity of our code so that less experienced team members can read it....

    Read More

    Driving struggles

    Driving struggles By Abhi

    Task: Drive the Robot

    Today I tried to drive the robot on the practice field for the first time since the qualifier last Saturday. However, I couldn't get in very much quality drive practice because the robot kept breaking down. I decided to dig a bit deeper and found some issues.

    As seen above, the first thing that was wrong was that the lift was tilted. Due...

    Read More

    Adding Code Fixes to the Robot

    Adding Code Fixes to the Robot By Tycho

    Task: Add code updates

    These commits add said functionality:

    • Pre-game logic - joystick control
    • Fix PID settings
    • Autonomous resets motor
    • Jewel Arm functionality
    • Autonomous changes
    • Tests servos

    These commits allow better QoL for our drivers, allow our robot to function more smoothly both in autonomous and during TeleOp, allows us to score the jewels, and lets us test servos.

    Jewel Arm

    ...

    Read More

    Working on Autonomous

    Working on Autonomous By Tycho

    Task: Create a temporary autonomous for the bot

    We attempted to create an autonomous for our first scrimmage. It aimed to make the robot to drive forward and drive into the safe zone. However, we forgot to align the robot and it failed at the scrimmage.

    + public void autonomous2 (){
    +
    + switch(autoState){
    + case 0: //moves the robot forward .5 meters
    + if (robot.driveStrafe(false, .60, .35)) {
    +
    +...

    Read More

    Machine Vision Goals – Part 1

    Machine Vision Goals – Part 1 By Tycho

    We’ve been using machine vision for a couple of years now and have a plan to use it in Relic Rescue for a number of things. I mostly haven’t gotten to it because college application deadlines have a higher priority for me this year. But since we already have experience with color blob tracking in OpenCV and Vuforia tracking, I hope this won’t be too difficult. We have 5 different things we want to try:

    VuMark decode – this is obvious since...

    Read More

    Testing Materials

    Testing Materials By Austin, Evan, and and Tycho

    Task: Test Materials for V2 Gripper

    Though our current gripper is working sufficiently, there are some issues we would like to improve in our second version. The mounting system is unstable and easily comes out of alignment because the rev rail keeps bending. Another issue we've encountered is the cervo pulling the grippers so that they begin to cave inwards, releasing any blocks being held at the bottom. By far the biggest problem...

    Read More

    PID Calibration and Testing

    PID Calibration and Testing By Tycho

    Task: Allow user to change PID coefficients from the controller

    To allow each user to create their own settings, we're designing a way to allow the user to tune PID to their own liking from the controller. This also enables debugging for our robot.

    + public void PIDTune(PIDController pid, boolean pidIncrease, boolean pidDecrease, boolean magnitudeIncrease, boolean magnitudeDecrease, boolean shouldStateIncrement){
    + if(shouldStateIncrement){ pidTunerState = stateIncrement(pidTunerState, 0, 2, true); }
    + if(magnitudeIncrease){ pidTunerMagnitude *=...

    Read More

    REV Robot Reveal

    REV Robot Reveal By Tycho, Austin, Charlotte, Omar, Evan, and Janavi

    Argos V2 - a REV Robot Reveal

    This video was pulled from Argos visits to: The NSTA STEM Expo in Kissimmee FL, in the path of eclipse totality in Tennessee, and in North Texas at The Dallas Makerspace, The Southwest Center Mall, Southside on Lamar and the Frontiers of Flight Museum. We hope you find it interesting:

    Read More

    Balancing and PID

    Balancing and PID By Tycho

    Task: Test and improve the PID system and balance code

    We're currently testing code to give Argos a balancing system so that we can demo it. This is also a test for the PID in the new REV robotics expansion hubs, which we plan on switching to for this season if reliable. Example code is below.

    + public void BalanceArgos(double Kp, double Ki, double Kd, double pwr, double currentAngle, double targetAngle)
    +{
    +...

    Read More

    OpenCV

    OpenCV By Ethan and Tycho

    Task: Implement OpenCV in autonomous

    Last year, we had some experience with OpenCV to press the beacons, and this year we decided to do the same. We use OpenCV to find the color we are looking for on the beacon in conjunction with Vuforia. First, it detects the search pattern in the view with vuforia, then isolates that area and finds the side of the beacon with the correct color. Our code is...

    Read More

    Vuforia

    Vuforia By Janavi and Tycho

    Task: Use Vuforia to enhance autonomous

    We use Vuforia and Open CV vision to autonomously drive our robot to the beacon and then click the button corresponding to our team's colour. We started this by getting the robot the recognize the image below the beacon and keep it within its line of vision. Vuforia is used by the phone's camera to inspect it's surroundings, and to locate target images. When images are located, Vuforia...

    Read More

    Mapping Out Autonomous

    Mapping Out Autonomous By Janavi, Tycho, Omar, Evan, and Darshan

    Task: Mapping Out Autonomous

    To tell the robot how far to move forward we had to calculate our motors RPM. We did this by telling the robot move to 10 rotations forward and calculating how far it travelled. After he RPM we created a model field upon which we designed a set path for the robot during autonomous. One path for red and then one for blue....

    Read More

    Fixing Faulty Encoder

    Fixing Faulty Encoder By Tycho and Jayesh

    Task: Fix a faulty encoder on our robot

    This shows a test of our encoder issues. It might have been a month ago that we noticed a strange behavior in our autonomous code when the robot was moving forward at low speed. It would curve to the right when we were telling it to go straight. We probably would have noticed the problem...

    Read More

    Mecanum Driving

    Mecanum Driving By Tycho

    Task: Code driving under mecanum wheels

    Today, I wrote the whole code for controlling our mecanum wheels. It is entirely fron scratch, and works perfectly right off the bat. This code allows us to strafe, move backwards and forwards, and rotate, in one method.

    Reflections

    We still have a lot of coding to do, as we're currently working on a particle-launching system. As well, we need to consider autonomous soon.

    ...
    Read More

    Programming our New Robot

    Programming our New Robot By Tycho, Caitlin, Ethan, and Jayesh

    Task: Program our new mecanum wheel driving platform

    Now that our new robot has been built with a mecanum wheel platform, we can start write our drive code and figure out how to make our robot preform three basic motions: forwards and backwards, side-to-side and to rotate. We decided that, in order to get the best understanding of our robot,...

    Read More

    Hoverboards and PID

    Hoverboards and PID By Caitlin, Omar, Darshan, Tycho, and Max

    Task: Continue with the Hoverboard and tweak PID

    After the long weekend last week, today was a reasonably relaxed practice. We decided that we could work on anything, as long we stayed focused. The two main foci were the -Robot on a Hoverboard- and fine tuning our PID for autonomous.

    Reflections

    We experimented with balancing the robot more evenly on the hoverboard to keep it on a straight path...

    Read More

    The Double-Wide Experiment

    The Double-Wide Experiment By Jayesh, Max, Dylan, and Evan

    Task: Strengthen our tape-measure climber against folding and sideways forces

    Our tape measure is constantly under stress, which usually isn't a big problem if the driver is positioned with a straight 90 degree angle, but when twisted can result in cracks.

    While our tape-measure design worked decently at our competition last week, with multiple mid zone scores and one high zone score, we are going to need more consistency to be a valuable ally in our matches. At...

    Read More

    Functions of our controller

    Functions of our controller By Alisa, Ethan, Trace

    Task: Listing out the functions of our game controller

    In order to find a button for our argos mode drive, we made a rough draft of our game controller listing the functions of each button. For example, the 'X' button is for the churo climb, the 'A' button is for our beater to stop, etc. We had about 5 unused buttons so in the end, we decided on using the top left button for argos mode drive. Now that...

    Read More

    Control Scheme

    Control Scheme By Darshan, Caitlin, Tycho, Max, Jayesh, and Omar

    Task: Test Autonomous and debugging

    Today we were refining our ramp autonomous by debugging the gyro code. We found that our "goYonder" and "goBackward" method were affecting each other which was making our robot work incorrectly and just going crazy.

    Reflections:

    Our approach to fixing our autonomous has yielded some promising results. When we started practice the autonomous code only worked every other time, failing when we compiled for the first time per connect and...
    Read More

    Control Scheme

    Control Scheme By Jayesh

    Task: Assign control scheme to actual competition controller

    Referencing the earlier article explaining robot functions needing to be assigned buttons, we had a meeting to get the control scheme actually implemented into the controllers. The picture above displays the majority of the control scheme. Some values were changed such as the ski lift values.

    Reflections:

    With our control scheme now advancing to the testable stage, we now have the ability to alter values and fpcus on the controls of possible future attachments...
    Read More