FRC 2846 FireBears | 2024 Build Thread | Open Alliance

Software update 4 (pre-Week Zero)

The past few meetings have been full time work on autonomous. As a refresher, here is where our center 4-piece auto started as back on 1/20:

At first, we had a few issues with the arm, pathplanner, positioning, and command order (2/10):

We resolved some of those issues, but still weren’t well tuned (also 2/10):

After a lot of work tuning the points, we were really close but didn’t have the beam brake for the intake (2/17):

Once we got the beam brake, we ran into an issue where scheduling a command outside the auto causes the pathplanner auto command to be canceled:

Once we switched to code in the subsystem’s periodic loop to stop the intake we were able to successfully score all four notes! However, to accurately follow the path we had to set very strict acceleration and velocity constraints in PathPlanner (1.5m/s^2 and 2.4 m/s) and wouldn’t complete it in 15 seconds (2/22):

Rather than adjust the constraints in PathPlanner we decided to move onto using Choreo to generate optimal trajectories based on the physical constraints of our robot design. Our first tests of this were unsuccessful and for some reason the robot was driving 30-40% longer than it should have, even running the same code that was successful the day before. After about an hour of pulling our hair out, we discovered that one of the encoder wires from our Spark MAX to Vortex dock was unplugged, causing the odometry to drive 4/3 as far.

After a lot of tuning, we’ve almost got the auto reliably working. The main issues we have left are tuning the arm position and shooter speed to reliably shoot in the speaker, and fixing the odd skew at the end of the path:

We attended the KnightKrawler Week Zero event yesterday, and our next post will be about what we learned there.

Written by Tyler, our Control Systems Mentor

Alpha Bot Functional? Update

Control has made some progress with the bot. After some tuning on the arm and shooter/intake, it was running quite smoothly.

Initial shooter wobble (youtube.com)

But we noticed 3 problems. One was that the ploy plate on the intake that helps store notes was too high. Causing notes to move around when the robot was moving. So we drilled some holes and moved it down a ½”. Secondly, said plate would pop up often, preventing notes from going into the shooter wheels. To stop this, we install another churro right above the plate.

Thirdly, when shooting there was huge variation between shoots, and often was shooting very far. We determined several causes of this; one was that we were using wheels with a durometer of 45 A to shoot. So we replaced those wheels with a 60 A durometer.

Another cause was that the note could move an inch or two to each side because our intake was 16” wide. Which resulted in notes hitting the shooter wheels differently. To fix this we designed and installed 2 ramps. Compressing notes to 12”, it should direct the notes and increase shooting with the compression.

|381.21126760563385x466.5473372781065

A third cause was because of the orientation of the intake motor and gearbox, we couldn’t put wheels on part of the center roller. This pushed the note to one side and caused it to release on one side faster, leading to spin on the note. To solve this, we drilled new holes, allowing for the rotation of the motor and gearbox. Which allows for wheels to go along the whole roller. The final problem we found was that the intake motor was a bag motor, which meant that we didn’t have a lot of control over it. So we changed it out for a Neo 550, which allows us to use PID on it.

After installing these adjustments the robot could shoot much farther.

Alpha Bot Cycles (youtube.com)

Broken Alpha and Week Zero Update

Breakage 1

During drive practice, the two sides of the arm kept getting off from each other. Eventually, the wooden belly pan cracked and the steel plates below the arm motor were quite bent.

|417.8748974130242x393

To repair the bot, we have stuck a sheet of ¼” aluminum around the arm area. We also stuck a sheet of 20-gage steel underneath said area.

Breakage 2

When turning the robot on one time, the arm was extended backward. When we turned it on it tried to go to the resting set point. But because of the position it was in the closest way to do that was through the bot. This resulted in a broken chain and a bent gearbox shaft.

But luckily the reinforcements from before held, and the belly pan was unharmed.

Week Zero

On Saturday, we attended KnightKrawler’s Week Zero. We were able to participate in 6 matches and learned many quarks of our bot. During our first match, we ran our un-tested 4-piece side auto and it didn’t go too badly seeing as it was untested. Then during teleop, we were able to score 10 cycles into the amp.

ROBOT vs STAGE (youtube.com)

However, this did result in a damaged but still functional pulley.

During another match, we took a big hit to the intake/shooter. Which broke the zip ties that hold up plates on the intake/shooter. We plan to fix this on the beta bot by doing L brackets instead of zip ties. In a later match, the bot would pick up anything. The wheels were spinning, and the arm was in the right position, but the notes were not intaking. After investigating the pits, we figured out that the problem was that the wheels were too dirty. It makes sense as we hadn’t cleaned them ever and so they were covered in carpet fuss, hair, and Cheeto dust. So, wiping off wheels is now part of the pre-match checklist.

North Lights Recap

|695.7042253521128x520.7160170415157

Results:

We placed 20th after qualification matches, and joined 5913 Patriotics, and 2855 BEASTBOT on the 8th alliance. Overall our robot Etude performed competitively, scoring 5.3 cycles on average in tele-op, plus the climbers worked!

Issues we encountered:

First off, after running a systems check, we went out for our first practice match. Unfortunately, when the match started, the CAN crashed, and continued to crash throughout the whole match. When we got the robot back to the pits, it was crashing intermittently. Initially, we thought we might be overloading the CAN bus with too much usage. It turned out we were using over 75% of the CAN bus bandwidth, so we reduced the arm’s encoders’ check rates on the arm from check position every millisecond to every 20 milliseconds. This reduced our CAN to around 50% usage, but it didn’t solve the problem. 4 hours later we found the problem, a CAN wire had gotten squished under the arm gearboxes between an aluminum and poly plate. Because of the aluminum plate, the wire could send a partial signal.

|277x493.40625|325x578.3037120359954

A second problem was after several hard hits our belly pan started to crack a bit…

Unfortunately the belly pan is one of the few things we didn’t take with us from our Alpha bot.

(all that was left of Alpha bot after we removed spare parts for competition)

|294x390.97235772357715

So, we put some washers on the bottom, tightened things up and called it good for the time being. We plan to replace the wood for ¼” aluminum to solve this problem long term.

A third problem we encountered was that we forgot to put photovision on beta bot’s mini pc. So for autonomous, it couldn’t do autos that were not in straight lines. One of the few things we forgot to take from alpha bot was its vision pc.

A fourth problem we ran into was the shooting being inconsistent in both auto and tele-op. We tried tuning the shooter on the practice field to no avail. We are quite confused on what could be causing this as we didn’t encounter this with alpha.

A fifth problem was that the lower axle on our intake kept getting bent. From both running into the stage and taking hits the shaft would get bent quite a bit. After swapping it out we could get it bent back, but we did notice that it might make the intake work better. If we have time before 10,000 Lakes Regional we might do some testing.

Things we want to improve for 10,000 Lakes Regional:

Climbers:

Although they do lift the robot off the ground, they are quite slow. This is mainly because we are using 144:1 gearboxes, which is quite overkill. So we will be switching to 81:1 to climb faster and still be able to lift the robot… We also plan to redesign our hooks to be double sided and grip the chain better. In addition we hope to add auto leveling code to them to help with harmonizing.

Arm:

One change we hope to make on the arm is reducing the gear ratio on it. Currently the 144;1 gearboxes go into a 2.667:1 gear ratio. We plan to swap out the 12 tooth gears for 24 tooth ones. Reducing the gear ratio to 4:3, which should allow the arm to move faster.

Funny Video:

1 Like

CAN Connectors

Standard Connectors:

If you struggle with your CAN connectors, listen up! Our team hasn’t used the standard connectors for years, but a lot of teams still do. The reason we stopped is, first of all, because they come apart very easily. To keep the connectors together teams will use electrical tape or a clip, but neither are reliable so they’ll still disconnect in the robot. It’s also super easy to accidentally plug them in green-to-yellow in a rush.

Locking Connectors:

We’ve found that our locking connections are much easier. It’s impossible to plug them in backwards, and it’s almost impossible for the robot to pull them apart (something else would have to go very wrong for that to happen).

The only possible issue with these connectors is putting the crimped wire ends into the correct side. So to avoid that issue before it can happen, remember: GREEN MEANS GO! If you always put the green wire into the side with the arrow, the locks will never let you plug it in backwards.

Notice the arrow:

If all of these perks sound appealing (which they do), look no further than right here!

Here’s the link to purchase the socket connector: 0050579403 Molex | Connectors, Interconnects | DigiKey

And the pin connector: 0701070002 Molex | Connectors, Interconnects | DigiKey
-Written by Bella our Control Systems Captain

4 Likes

Software Update 5 (Pre-Minneapolis)

In our last software update we shared the progress on making our 4-piece auto reliably pick up the notes. Since then we attended the Northern Lights Regional and had disappointing results (from only having time to do 2 notes, to crashing robot code). We set some lofty goals (three different four piece autos), and some reasonable ones (working vision, fit center 4-piece auto in 15 seconds, get shooting reliable) following Northern Lights, but we’ve made good progress.

I am proud to announce that we have redone most of our subsystem code and now have a reliable 4-piece center auto!

We had to rewrite most of our arm and shooter commands along with our NamedCommands in PathPlanner to support moving the arm and spinning up the shooter wheels in parallel to the drivebase driving a path, but we’ve greatly improved our reliability and speed.

In addition, now that the mechanical team has completed swapping the climber gearboxes from 144:1 to 81:1 and improved our speed, we borrowed some of our auto balancing code from our Autonomous Award winning auto last year to automatically compensate for the robot tilting side to side when climbing.

On top of all that, our driver has been getting in a lot of practice and is averaging over 10 teleop cycles a match compared to 6-7 before Duluth. This is due to a number of improvements to the arm and shooter that we’ve done since then.

While we haven’t had time to tune the path of our far and close side 4-piece autos, we do have the paths generated and are hopeful we can try them out during practice day at the 10,000 Lakes regional tomorrow!

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.