Vector 8177 Build Thread | Open Alliance 2023

This is sick. While 7525 isn’t planning to intake floor cones, we’ll be making a pair of these to loan to alliance partner human players in case they are!


I’m not sure this complies with H303. Doesn’t seem like it meets any of A-G.


Thanks for pointing that out! We weren’t too sure whether it was legal or not, but we decided to make it anyways for fun/as a proof of concept. I think during competitions we’ll probably stick to dropping cones vertically (unless our human player has crazy muscle memory :joy:).

1 Like

I couldn’t tell for sure, but was your HP single station modeled after the actual field or the “home version”. If I remember correctly there was a 60 degree lip on the real field which doesn’t exist on “home version”.
for reference:


Yes, we added the secondary polycarb ramp to our setup. As long as you release the cone from high up, it gains enough velocity to clear the steeper (60°) ramp and land like normal. We have some videos in our earlier post if you wanted to check them out!


So the Vector Jig may be illegal, but we’re not done yet…

Presenting the Vector Jig V2.0: Hand Edition!

After doing some relatively simple math, we deduced that marking a line 5.4 inches from the tip of your human player’s middle finger and another line 2.5 inches beyond the first (so 7.9” from the middle finger), we can have a completely legal (we hope) and still usable Vector Jig!

We did deduce that using a marker is more reliable (and less painful) than the tape we have in the video, so that’s what’s shown in the picture above.

Also, you may notice that our top line (the 7.9” one) isn’t completely flush with the top lip of the human player station as we state that it should be, and this is only because we made a small error when constructing the human player station and it’s ½” short. This doesn’t affect the actual dropping though, so everything still checks out!

Happy Jigging!

– Aakarsh


Cool robot btw! I looked in your cad and was wondering if you guys are planning to just bend a piece of 1/16" polycarb into that shape or do you have 3 different pieces that are attached in someway. Thanks!

1 Like

The plan is currently to cut and bend a large piece of 1/16 polycarb.

1 Like

Intake Testing!

We finally received all our parts and were able to finish assembling the intake for our robot. After wiring it up to our swerve base, we did a little bit of testing and it seems to work well.

One thing we noticed was that the bottom roller didn’t need to be super close to the ground to intake cones, which gives us a little more freedom/leeway in terms of positioning. As long as the cone touched the bottom roller, it would kick up and be immediately sucked in. Even with the intake around ~1 in. off the ground, it still worked.

In the video, we aren’t at our actual scoring positions (since the power wires were too short), but it’s looking pretty good so far!

– Roland


Does this continue to work as the angle of the cone to the roller increases?

From our experience the closer we can get to the ground (to a point) the wider range of angled cones we can pickup but we haven’t tried the wheels you all are using.

Also make sure to test moving the intake into the cone and not the cone into the intake, we found that made a big difference on some of our testing.


We did test angling the cones and staying our ~1in off the ground, and it seemed to be working well. We can do more thorough testing today to determine a solid answer.

Interesting, we were moving the cone into the intake the whole time - we’ll definitely try intake to cone soon and see if our results differ.

1 Like

Absolutely agree with this. Our testing shows exactly the same thing. Cone moving to intake works significantly better the intake move to cone in when teating angles of attack. We stopped hand feeding for those types of tests now.

Thanks for posting the shooting video as well! We were playing with it the other day and know that arching shots are inconsistent but need to extend our wiring for more direct shooting as well. We are about to do the same tests! Good to know we are about on the same path!

Week 6 Recap

Sorry for the late update, but here is an update of what we were up to during week 6!

Last Friday, we received our steel and aluminum plates and gussets from our sponsor Texas Metal Tech and began the process of vinyling. Instead of using spray paint to color our robot, this year we wanted to go along the route of vinyling after seeing how clean it looked and hearing how easy it was to use from teams like 2881 Lady Cans.

Vinyling Process

We aren’t exactly experts at vinyling robot parts, but now that we’ve gone through the process and vinyled every single part of the robot, there are a few tips and tricks we wanted to share.

The first step is to clean off all your parts with a degreaser to get all the oils and debris from the surface. This allows the vinyl to stick to the surface better and will prevent peeling from happening.

While applying it, if we ever encountered any wrinkles, we just lightly used the heat gun and the vinyl would stretch out smooth again. Having some sort of squeegee also helped to get bubbles out. Once all the bubbles were out, we just used utility knives to trim around the edges and cut out the holes. Halfway through, we found that using a deburring tool was actually pretty effective at cleaning up the rivet holes. All you have to do is poke it through and spin it around once or twice and the vinyl was cleanly cut off.

Here’s a photo of some of our finished plates, gussets, and tubes!


(Some pieces are a little scuffed, but I think it turned out decent for our first time vinyling)

One thing we were initially worried about was if it could hold up to elevator bearings rolling along it, and after assembling the elevator and testing it for a bit, the vinyl is actually very durable (the black we are using for tubes is car vinyl that was donated from a local car wrap store).

3D Printing

This year, we utilized a lot more 3D-printed parts. Here are a few of the different things we printed and used:

For the intake, we designed custom hubs to interface with the wrist axle. In order to make sure they would hold up over the duration of the season, we printed them with Carbon Fiber PLA from Bambu Labs at nearly 100% infill. Shown on the right are thin rubbery TPU disks that we printed for the hubs as well. Because we are sandwiching the intake panel with the CF PLA hubs, the rubbery disks distribute the force evenly and put less strain on the polycarbonate.

We also printed these tube end caps which are mainly for aesthetic purposes and also to keep the inside of our tubes clean over the course of the season.

This tool (which is about 1 ft long) is used to hold small backing washers that we use with rivets. By having a washer on the clamping side of the rivet, it allows for a more evenly distributed force and more strength in that connection.

Subsystems Update

With (almost) all our parts delivered and all the plates/tubes vinyled, we quickly began assembly. Here are a couple images of our swerve drivetrain (26” x 26”) and our tilted elevator + intake subsystems done.

We also got started on our bumpers where we opted for a one-piece setup for general strength and rigidity so it can hold up over the season.

unnamed (2)

unnamed (3)

unnamed (4)

Although we’re a bit behind schedule, the robot is coming together very quickly and we’ll be programming and doing driver practice by the time this Saturday comes along!




tilted elevator meta op

Speaking of tilted elevator, here’s a few more progress pics and vids! We’re now up and running, and will be focusing on refining the elevator and wrist code, along with auto paths.


Scoring/Intaking Setpoints!

After a long week of programming, the bot is now fully operational with all our setpoints. Here are a couple videos demonstrating how we collect and score game pieces. We will release a programming update detailing what we’ve done in the next couple days.

Also, the robot was set to a much slower speed for both driving and elevator movement, and we’ll be speeding them up before our first competition.


Programming Update

Before we get into the programming specifics, here is a short rundown/summary of what our robot is capable of and the different mechanisms it has. It’ll give a bit more context as to what the programming team has been working on.

Vector 8177’s 2023 Robot: Velocity


  • Swerve Drivetrain: we use the MK4i L3 modules and our chassis is 26”x26” with a steel belly pan that makes our drive chassis 60 lbs by itself for a low CG.
  • Tilted Elevator: our elevator is at a 55 degree tilt from the horizontal and has a double chain rigging and constant force spring from TTB and WCP bearing blocks.
  • Wrist: runs off of 1 NEO motor on a 32:1 gear ratio to rotate our intake, also has a through bore encoder from REV to get the absolute position.
  • Intake: triple roller design that can intake tipped cones, standing cones, and cubes.



We found our wrist to be one of the harder subsystems to program. We use a Rev Through Bore encoder to keep track of its absolute location so we can always know exactly where it is. At first we used a basic PID loop to keep it in position but we found that to be too inaccurate for the precise positioning we were looking for in the mechanism. Then with the help of WPILib’s SysId program we were able to get the appropriate S, V, G, and A values needed for feed forward. At first we attempted to use a website to calculate the values without using the bot but we found the values to not be accurate and worsened the arm’s capabilities. We also found that having static PID and feed forward values didn’t work very well when it came to having the extra weight of a cone acting on the intake, so one thing we had to do was change the values depending on if there was a cone adding to the weight.


For our elevator we don’t currently have an absolute encoder to use with it due to supply issues, but we found since it naturally goes back into the same starting position having one isn’t completely necessary. We were initially anticipating having to use a feed forward and PID combination from what other teams with similar systems were saying, but after some testing we found that feed forward wasn’t necessary. Our robot’s elevator has a spring mechanism to keep it from slamming down, already adding a helpful countenance to gravity, allowing us to use a basic PID loop that only utilizes the P value.


For practical (and aesthetic) purposes we attached LEDs to our robot. We have 3 main modes, the first is an orange wave animation that is used by default for aesthetic reasons, a yellow flash to indicate to the human player we want a cone, a purple flash to indicate a cube, a red flash to indicate the robot is in the process of lining up in front of the grid (see Controls), and a green flash to indicate that it is properly lined up.

LEDs on the Robot Video


Setpoints were the culmination of both our elevator and wrist subsystems. It allows us to have consistent positions for the drive team to intake, place, and stow our pieces. With this there is no need for any manual control which wastes time and is prone to inaccuracies. We also had to consider the order of which subsystems would change their positions, in certain situations our intake was able to get caught on the level 2 cone pole. We had to rewrite this system multiple times but with enums and a creative command structure we were able to code a readable and effective setpoint command.

CD Post with Videos of Setpoints


With the amount of different actions the drivers need to do during a match, it was very important for us to simplify the operator experience by any means possible.

We have lots of little things that improve the robot’s control, for example we don’t have separate buttons for cones and cube or even a toggle. It’s inferred by the last chosen intake position what game piece you’re trying to deposit so we freed up space with that revelation. We also do the same thing with our intake/outtake, our intake moves opposite directions for each game piece so we set the correct power corresponding to the intake position as well.

We also have a line up button on our driver controller to diminish the amount of precise control the driver is responsible for. When the button is held down the robot drives right in front of the grid and maintains the y axis movement and rotation of our bot, only allowing the driver to move left and right to line up the game piece with the segment. The way we accomplished this is through our pose estimations that are powered by swerve drive encoders as well as our limelight’s april tag capabilities that are able to tell us where our robot is relative to the field.


This year we implemented trajectory following capabilities to our robot for the first time through Path Planner. Using live pose information given by April Tags and the encoders in our swerve drive we’re able to accurately and precisely follow paths we make within the Path Planner app. This gives us a massive advantage as it allows us to rapidly create and test different trajectories for our robot to follow through an easy to use and intuitive interface. We currently have a 1+1 and 1+balance path we use, though we believe after testing it we should be able to create a 1+1+1+balance path with enough optimization.


We’re currently experimenting with different ways to make our robot more consistent, one of those ways being automated cone centering. It’s still very early in development but it can currently find the lines of a cone and figure out the angle between the lines, theoretically in the future it can use the angle base corners to figure out the angle of the cone. We welcome anyone to contribute on our github page(GitHub - Vector8177/opencv-testing: Playground for testing different vision processing ideas through OpenCV) and we’re looking forward to seeing how far we can get with this.

unnamed (9)

And here is a video of our robot in action!

– Murad J. (Programming Lead)


It looks like you made some good improvements to your robot. It was great to be on an alliance with you all last weekend and we look forward to playing with you again next weekend and hopefully in another two weeks.


A bit late, but here is our 2023 DCMP recap!