Tronic Titans 3161 Build Thread | Open Alliance 2023

Post 5 - SDS NEO Mk4i 3D Printable Module Cover

Hello Everyone! Quite a few people have asked for the CAD file of our SDS NEO Mk4i 3D Printable Module Cover. The purpose of this cover was to make the modules safer to use as they cover the gaps in the modules, preventing fingers from getting inside. As a bonus, they also help keep dust and other dirt from getting in from above.

This is just a brief post to share the files and a short outline of how to use them:

Link to STEP File (here)

  • You are going to need a 1/4-20 Tap and (QTY 8) 1/4-20 x 3/4" Socket/Button Head Bolts
  • Using the tap, thread the 4 unused motor mounting holes on the module. These holes are already sized for a 1/4-20 tap so you do not need to drill out these holes.
  • After this is done simply place the cover on the module and tighten the bolts (the bolts will “self-tap” into the cover)

Please note: This part is designed to be used with NEO Modules – however by removing one of the motor mounting bolts on your module, and shaving off the unneeded additional bolt nub in the module cover, they can easily be used for falcon modules.

If you take a quick look at our swerve chassis release (here) you will see renders of how they look on a chassis, below is a picture of the covers in real life

I hope these help!

(P.S – Our Kickoff Post is being worked on and should be posted sometime this week!)

10 Likes

Post 6 - Week 1 Update

Our team, has been thoroughly enjoying the kick off and week one build season chaos that seems to follow. Lots of ideas being thrown around and lots of brainstorming taking place. We have summarised our first week here to be shared with the open alliance and for anyone curious about the process. We will update our log weekly with new information as we go, so make sure to check our thread as we go along!


Week One In Short:

  • Game Summary & Strategy - Figuring out any potential approaches to gameplay that may(or may not) be advantageous and use those to approach an initial direction culminating in a priority list
  • Ideating and Prototyping intakes and designs for the robot - Developing and Aggregating ideas, assessing which to prototype, developing a prototype plan and then testing.
  • Programming movement and brainstorming - continuing work done to improve our swerve drive base and initial groundwork for system integration being laid out.

Week One in Detail:

Scheduling

We plan to follow this outline for our build season. It greatly helps for team coordination and provides direction for our achievements. Organization really makes or breaks a team, and for this build season, we really hope to stay on top of our game.

The outline above is a tentative, non-granular schedule, we have a more detailed Gantt-chart schedule in the works that will outline more specific information such as deadlines, order windows and planned off-days, we hope to have that done by the end of this week.

Team Strategy

As a team, we decided to fill out a kickoff worksheet modelled after 6328’s template to clear everything up and as a quick reference for strategy in the future. Summarising the game, its components and any important rules found in the manual, IT allowed us to compile our thoughts as a team and discuss what we wanted to prioritize for the robot itself. Having a dedicated day for this really let us delve deep into what we wanted the robot designed for and any issues that could arise during development.

We had eventually compromised that at minimum we wanted L2 reach for our week 1 comp, but L3 was desirable. We would focus on cones for intake, but still be able to pick up both efficiently. Driving and balancing on the charge station is also a function for easy points and ranking points. Smoothing this all out early can provide us with a nice opportunity to get prototyping early and start designing as soon as possible.

CAD and Prototyping

As soon as strategy was done with, the team had excitedly begun experimenting with different ideas and different mechanisms for the cone and cube intakes. Already a huge variety of different ideas have been shared both within the team and within the community, and after some discussions on the viability of some ideas being thrown around, prototypes have begun taking shape.

Game Piece Acquisition and Scoring – An important priority in the team’s direction, ideation on how to intake, hold and score game pieces started almost immediately after kickoff, based on this week, ideas mainly coalesced in 3 main ideas shown below:

Claw-Based Intakes
One design for an intake that has been experimented with is a claw-like instrument with small wheels to help intake both cones and balls. It can extend both inward and outward to account for the shape of both game pieces, and could easily transport them to where necessary ( Either directly onto the grid or onto the chassis for a secondary intake to deliver the pieces)

|624x893.0000000000001

Pinch-Roller Based Intake
Another option that we looked into is a rotating, almost wrist-like mechanism that can pick up both cones and cubes with one single intake. It can pick cones up both upright and knocked down. Seems very possible given the geometry and offers great potential for a robot design.

Pincher-type Intake
A Pincher-type grabber was also devised and tested, this would have facilitated the use of pneumatic pistons to grab a cone or cube(ball)

|624x831.641988869356

Game Piece Translation

The team also came up with various ways of transporting the resulting intake/claw to its destination in the grid, several ideas were brought up like a pink arm, slanted elevator, regular
elevator with a telescoping arm, regular arm and a regular arm with a telescoping mechanism

Elevator-Telescope-based system
Initial Sketches of the idea, was not taken further due to expected and unnecessary complexity and tipping concerns.

Simple Arm + Separate Ground intake
The ground intake-arm claw transition still needs to be figured out, a viable proof of concept yet to be tested and the robot may need to be very tall in order to reach L3 with a non telescoping arm, otherwise if those go well, might be a good option to go with.

Pass-Through telescoping arm system

Inspired by one the robots RI3D Redux did, same as the above idea but instead of the arm swinging over the top, it swings down below, the intake-claw handoff still needs to be explored further before this becomes viable.

Telescoping Arm System
Same Cad but this one emphasizes on a front side only motion, determined if we go this route, would be simpler because of not having to deal with the transition of the arm from one side to the other which may cause additional complexity.
This method of movement is currently the most viable alongside one of the intake systems prototyped.

Single-Stage pink arm

It was determined that a multi-stage telescope would be too complex for the team so we looked at single stage methods, however this type of design is not being looked at at the moment, but some of its attributes are being integrated into the other ideas.

Note the little circle down there, it is supposed to be a deployable “training” wheel to keep the robot from tipping, it was devised as a possible solution to a potential tipping event in the grid, can also double as a ground intake but we will see once the robot resolves further into its final form if we actually need a “training” wheel or not.

Angled Elevator system
This was looked at early after kickoff and the idea behind it stemmed from one of these ftc bots (https://www.youtube.com/watch?v=sdYas6GqAvU)

**

Where we are trending towards

For now, may or may not drastically change:

This “rough” CAD design shown in various operational modes for one of the prototypes (Pincher roller intake + Telescoping arm) we had come up with really provides us with a strong start for week 2 and as an option that we can start building towards. Not all is set in stone though, and a multitude of different ideas and designs are still being tested throughout our team for the next few weeks and a clearer direction will resolve by then.

Programming

Luckily, having built a chassis with swerve in the pre-season, we had already tested and smoothed out any issues that could occur with our movement. Although this is our first build season with swerve, we have been handling it amazingly and I have high hopes that we will be able to achieve amazing things with it. Being done with this early provides a great relief and will allow the programming subteam to focus its efforts on coding the mechanisms of the robot that will be needed. Already work has commenced for the angles and geometry of the mechanisms like the arm, and can really be smoothed out before specific programming is needed for completed pieces.


We look forward to another strong week with our team, and for an amazing rest of build season.

The best of luck, and make sure to keep an eye out for our week 2 update!

6 Likes

Good Morning, just wanted to stop by and say nice work on the prototypes and continued sharing with the #openalliance

Could you let us know the C-C distance and wheel size/type on your “pinch-roller” intake? The students would love to compare it against ours for some additional testing. Thanks!

2 Likes

The C-C distance for that particular prototype was 6 inches. With 4in top roller and 3in bottom roller.

We also tried with a 2in bottom roller at the same C-C.

It seems like surface to surface measurement is most important. And having a bottom roller small enough to get under the lip of the pointy side of the cone. Next prototype is aiming for 2-2.5in between the 2 surfaces of the rollers. Working towards seeing how small we can make the rollers to reduce weight.

3 Likes

Post 7 - Week 2 Update

Hello everyone!

After a strong start after week one the momentum has really allowed us to push onward. We dove head first into week 2 with a fresh mind and new perspectives on old ideas. Detailed below is our second week of build season and a continuation of our brainstorming process. We will update our log next week with our week 3 progress, so make sure to check our thread then!


Week Two In Short

  • Design Consolidation - Debating the last few design ideas for our robot design, figuring out a more math and physics-based design and translating them into manufacturable designs.

  • More Ideating and Prototyping intakes and designs for the robot - Ongoing development and Aggregating ideas, assessing which to prototype,more testing of prototypes and in-depth exploration of already established ideas

  • Programming - Figuring out potential solutions for game piece translation control, arm kinimatics and self-balancing on the charge station

Quick sneak peak render:


Week Two in Detail:

Field Elements

In order to fully test out the intake and game piece translation system, we have decided to build a wooden replica of the game grid to give ourselves more of a sense on what the robot will have to overcome to place its game pieces. Attached above is our fully framed and assembled cube shelves and cone poles on the same scale as the real grid.

Bonus points if you reply with what store that paint is from – HINT: Iconic Canadian Coffee Chain!

Prototyping - Intake

Surgical Tape Intake Roller

This was a test to see just how small of a roller could be used to pick up a cone using the “pinch roller” intake. This piece of surgical tape surrounding a shaft was surprisingly effective. It is through this test that we have determined that the smaller the roller the better - our reasoning for this is that we believe that a smaller roller is able to kick the cone upwards easier than a larger roller, further testing to see if this is actually the case is going to be conducted during week 3.

Delving deeper into Intake Prototypes

|314x174.89981443551338

|315x176.9662585669578

A development of the pinch-based roller intake from week 1, this intake allows us to take both cubes and cones with relative ease. Before its untimely demise while testing, this intake is a strong prototype for what we imagine could exist on our 2023 robot. This design would contain the intake held at an angle that keeps it within our frame perimeter before dropping down to input cones both upright and lying down.

|180x319.63538358959624

We also discussed intake wheel sizes for both rollers, considering dimensions such as 3” and 4”, 3” and 1 ½”, and the uses of the two rollers. It was concluded that the bottom roller will be mainly used to just “kick” the cone up (so it will be as small as possible), while the bigger one does a bulk of the work by sucking the cone in an using its compliance to hold the cone in place.

Overall, we devised multiple strategies that we will prototype and test more in the coming week!

Design

During Week 2 for Design, we threw around new potential ideas for our build plan, and also built on ideas from the previous week’s ideation. We started to consolidate our design direction and started to refine CAD models from a “crayola CAD’’ state to a more final, but not quite one.

After discussions, we decided this week that we would go ahead with a telescoping arm based architecture with a roller-based intake on a swerve robot.

One of the potential chassis sizes was a 28” x 28”, 26” x 26”, or a rectangular based chassis, and we debated where different motors would be best used (for things like limiting motor controllers in certain places of the bot for ease) or if we wanted the PDH vertically mounted or not. We eventually decided to stick with a 28” x 28” drive base with a regular bottom-mounted belly pan as we felt it was the most advantageous to our requirements (Relative ease of access to components, arm needs to rest within the chassis, simplicity, packaging constraints and margins)

One of the biggest things we progressed on was the refinement of the overall robot design in CAD, now that we have decided on a direction, such as refining the telescope further, exploring integration of the whole robot through crayola cad, exploring how the intake would come to resolve past the prototyping phase, and as the week drew to a close, refinement and integration of the superstructure and arm pivot gearbox, as well as the verification of certain important nuances in the system, as well as applying mitigations as a result.

One of these certain verifications we have gone through for example is how the arm pivot is going to be robust enough, we determined that with two motors driving the system, and accounting for the characteristics of our arm, we can only go up or down to a certain gear ratio without noticing unacceptable levels of torsional deflection to our arm gearbox output shaft at stall, increasing the output torque in the system that it would be way above the working load (2478 lb on a system that can only reliably handle 838 lb!) of the #35 chains we are using (which may cause catastrophic failure in the long run), or drawing too much current that it would be disadvanta`geous to the robot’s functionality. Potential mitigations were laid out such as using a steel hex shaft instead of aluminum, only using one motor, changing from a #35 to a #35-2 or #40, or increasing the arm sprocket size. It was then decided after discussions and calculations that the current setup would be sufficient provided we use a gas strut rated to a certain force and determined to be placed in a spot that was calculated to be ideal, transition to a steel shaft, as well as the reduction of the arm pivot gearbox ratio from about 500:1 that was initially devised a week ago which eventually went down to 200-150:1 and now, about ~50:1. One certain characteristic we will have to look into is how much of a damping force a gas spring would impart and how it would affect as we go faster in speed.

The image below shows how the current intake being prototyped would possibly look if taken further and designed to a “final” state, however this version will possibly not be made until more data from the initial prototypes are acquired and integrated.

CAD in various states of operation as this week draws to a close:

The overall size of the robot is also quite small when standing upright, at least relative to our past robots, with an overall floor-top height of less than 40 inches, it should help in our favour and allow for easier mitigations in order for us to not tip and allow us to fully utilise the speed and agility of swerve.

We are aiming to hopefully, have the chassis, telescope and superstructure parts in a manufacturable state early next week so we could start producing some parts, as well as sending plate based parts to our manufacturing sponsor to be cut, so that after the exam break which starts late next week, we can go full steam ahead with manufacturing and assembling most of the robot.

Programming

Auto Balancing

|198x351.16259305538915

Programming started the week off strong by tuning the auto balance feature on the robot. It is essentially created by using the gyro values as a feedback device for balance PID loop. Source code available here.

“Full Sending” The testbot Chassis

|270x440.12549790509183

We have also begun to test our movement out in an open carpet at full power with a wide surface area instead of the small space of the shop, where we had to be careful. Having all the space will allow us to fine tune the details on the programming side of the movement and also give inspiration to those looking to join the drive team to practise their skills. Carpet fluff managed to mesh its way into wheels, preventing us from doing further testing for a bit, but we managed to get it out. It is nice to see the swerve go at its full potential, bearing the fruits of our labour of the past few months.

Arm Kinematics

|640.0359246890707x480.195600604583

An extendable arm with a rotating wrist that can hold itself at set positions being the main objective of this venture, arm kinematics was a main focus of programming this week. First started as an ambitious idea to use inverse kinematics for the movement of the arm so that it moves more smoothly, it would make it easier to plan autonomous and automated movements for the arm. This source helped the programming team to better understand how inverse kinematics work leading to some programming prototyping in python.

After fixing bugs all night, this was the result that the programming team was left with. According to the image the math for the angles seems to check out. We got a glance of how the arm would behave when moving in a more practical manner.

For a better representation of the arm, we decided to make an animation of the arm moving along the X and see how the angles would change based on the current X value, resulting in the video shown above.

SOURCE CODE: The source code for this demonstration is available on our programming lead, Pooria’s, github.

Team Mentoring

Our rookie team from the other nearby school, 9098 Firehawks, has joined us for the build season as we help them get through their first season. We understand it can be a chaotic and overwhelming moment for a new team, so we tried our best to give them a thorough explanation on the basics of FRC robot building and what the various components do. We had an absolute blast with them in our shop, and we hope to be able to host many more late night meetings together as soon as possible!

Multi-team celebration with some tea, hot chocolate and cookies!

|2048x1534.823952945659


With lots of love from our team, we wish you the best of luck on your remaining build season weeks, and make sure to check this thread next week for more updates!

14 Likes

Post 8 - Week 3 Update

Hello everyone!

Finalizing the details of our prototypes and beginning to produce some advancements. Due to exams and a snowstorm, this week was a bit less productive than the other but still valid nonetheless. Detailed below is our third week of build season, as well as a quick summary. We will update our blog next week with our week 4 progress, so make sure to check our thread soon


Week Three In Short:

  • “Final” Design - picking a definitive intake architecture and Resolving CAD enough to begin production/outsourcing of parts as well as backups in case we find any issues.
  • Construction - Finishing both the practice grid and beginning to produce parts.
  • Programming - Arm simulation and driving configuration.

Accomplishment of the week:

We are so proud to share this Arm Simulation of our bot - See the “Programming” section for more details!

|853.806441255204x480.4921783116799


Scheduling & Pace

I would just like to start with a little disclaimer that it’s been a bit of a slow week for the team. We have our final exams this week for the first semester, which has slowed down progress as everyone prepares and studies hard for their exams. We understand that academics take precedence over the team and we wouldn’t want to have to make team members pick between studying for a higher grade or working hard at team meetings, so we decided to slow things down a bit for this week. A snowstorm hitting our area didn’t help, leaving exams to be pushed back by a day. Work should resume as normal over the next few weeks as we end final exams and get settled into a brand new semester.

Intake & Design

Intake decision

To begin our week, we decided, as a team, to take a step back and decide once and for all on what intake design we would move forward with. Even though we had mostly decided on the pinch-roller intake, there was some miscommunication with the choosing of the designs, and in retrospect, some other prototypes still held some promise that could be looked into. The one other design that we managed to narrow down a comparison to was a 3-prong intake, with a rotating central disk that folds into half. 3 arms stick out of the disk that clamps down and grabs on to the cones and cubes. It’s a creative design that would increase strategic capabilities and could open up some more unique design choices. Some examples of how this intake grabs cones in any orientation are pictured below.

|569x320.7208591514918

|569x320.7005022630343

3-prong intake in action, taking an upright and fallen cone

We deliberated and debated, eventually coming down to a list of pros and cons for each intake and stances on why we should do one over another. The 3-prong roller intake would require pneumatics, which was a huge downside as our cad designs were built without that in mind, needing both subteams to have to adapt to the change. The pinch-roller intake has already been our plan for the past few weeks so has already had rough cad designs in the works. Having to redesign our plans and robot infrastructure to fit in the pneumatics would cause more work for the team, so the point goes to the pinch-roller intake.

Strategy-wise however, both had their pros and cons. The pinch-roller intake followed the Touch it, Own it philosophy for game pieces, which we found the 3-prong to have difficulty doing. Trying to configure the prongs to line up with the game piece during a match could waste valuable time and allow another robot to take our game piece in the middle of intaking. With swerve, we should be able to position ourselves in any manner around the game piece, which limits the usefulness of having the prong being able to adjust itself for the game piece in any form. The only way that this utility could come in handy is in the upper echelons of play, where opponents can find it difficult to predict our moves and we can quickly adapt and change how we intake the game pieces. Still, it’s hard to justify having such a complicated intake mechanism that could end up confusing us more than the opponent. Automating the intakes during auto is the same situation, where it could quickly become hard to solve for every situation and position we might find ourselves in. Once again, the pinch-roller seemed to make more sense.

Issues arose with the driver and operator controls with the 3-prong intake as well. We have laid down a general plan for how the driver and operator could move and what buttons they needed, leaving us with limited extra space. Having to fit in all of the different inputs would leave the controller being messy, and force the driver to only be able to intake with the operator, leaving matches ripe for miscommunication. The few seconds we can save by having the driver pick up the game pieces could make or break a match.

|403.47573879700906x536.2021219952348

Rough copy of the button controls for driver and operator

With all of this in mind, the final choice with which we have decided to move forward with and use for our final design is the pinch-roller intake.

Prototype Redesign

Having the design been chosen, we moved forward to refine the pinch-roller intake.

image

Super Structure

Our superstructure design intricacies were left unclear last week, and we found it important to share our design choices and our path on how we ended up with that design. Modularity and compartmentalization were our two main goals with the construction. Being as small as possible while accommodating the arm and the effector was a challenge, as we started at a 40+ inch height from pivot to chassis top and managed to eventually reduce it to 32 inches. It was also decided that it should have been able to be taken off the arm and the chassis with as little work done as possible to aid in repairs or incremental improvements.

Our result was a simple yet elegant superstructure that can be removed with only 4 bolts and an arm that can be removed with a couple of bolts and several wire/chain connections.

image

Initial CAD used a fair bit mix of 2x1 and 1x1, but was then simplified to mostly use 2x1

For our building and material components, we had extensive use of 2x1 due to its extremely high availability in our area and its cost advantage over having to buy other sizes. 2x1 used is 0.095 wall. We didn’t find a technical need for lightning holes (only saves us about 2lb) but decided to add them anyway due to the extrusions having to be processed in the cnc anyway and the team deciding that it looks nice.

(left) Initial Crossbar Configuration (right) revised chassis-based crossbar

We initially used a floating crossbar which was mounted to the top of the chassis in the middle but this left a cantilever in the design which there were concerns about its structural integrity, so it was decided to do away from that and use a chassis crossbar instead. However this complicated mounting interfered with the goal of modularity, so it was solved by using captive nuts inserted into the tube using printed tube blocks so that the superstructure can still be bolted onto the crossbar.

Rear end of the superstructure showing how close the pivot gearbox is to the pivot

The pivot gearbox was placed up as close as possible to the pivot instead of all the way down in the chassis. Although this results in a minor disadvantage from a CoG standpoint, it was decided that keeping the chain running as close as possible to eliminate issues regarding eventual chain wear and tensioning issues that will arise with using long chain runs. A discussion on the gearing for this pivot gearbox is shown in the Week 2 update.

Emphasis on using plate gussets instead of other methods like tube blocks, or welding for its assembly is due to the non-perpendicular angles our superstructure design requires, as well as the fact that we have a sponsor that can cut those particular gussets for us.

Superstructure as Week 3 wraps up

Telescopic Arm

Another design choice that lacked explanation these past few weeks was the telescopic arm. We explored it pretty early on after kickoff and have taken a few weeks to refine it to a successful level. We thought that a telescopic arm would make an elegant solution to the long distance the arm must travel to L3 and an extent L2.

The existing designs we found were 2 stage pink arms, or traditional cf-spring driven telescopes for climbing. These were either too complex, incompatible with our machining capabilities, or too unproven and unoptimized for the application and forces it’s going to experience. Bearing blocks are usually made out of billet-milled aluminum, which our team does not have access to which quickly ruled that out. Existing telescope-bearing blocks were not sized for the dimension that we wanted the initial stage to be, leaving us with the question of how can we make a telescope that can be buildable to the team’s bounds, but also be reliable and efficient enough to help in scoring?

|387x362.03670702601363

Telescoping Arm in its initial “pink arm” configurations

What we had theorized was initially a solution to a pink arm, but then as requirements changed and resolved into a direction, it was decided to forgo the Centre pink arm pivot and use a traditional arm pivot. This had many issues with how to properly power and gear the pivot, the discussion of which can be found in our week 2 post. The arm having 2 stages was forgone due to complexity, but ideating with geometry sketches showed that it was possible to build a 1 stage telescope while still being compact enough to fit inside the bot comfortably.

Eventually Resolved to have a rear pivot

Material-wise, the arm was made out of 4x4 and 2.5 x 2.5 Aluminum extrusions, with the 2.5 x 2.5’s spacing slightly offset to accommodate a partially external chain run. Pocketing them allowed us to save roughly 40% of their original weight. Having a partial external chain run was found to be easier due to easier simplicity and serviceability, with the added benefit of being able to take the hit of packaging trade-offs. An argument could be made on using a belt or rope instead of a chain, but we found that the team has grown accustomed to working with chains and its relative reliability when used properly. Belt and rope runs require systems that are uncertain to the team and the risks and potential issues we might face were not worth the effort for their weight and packaging advantages.

|1014.0837638462692x511.294908409215

centre of mass with a 10lb intake mass simulator at the end.

Inner stage bearing setup

The overall assembly is about 15 lbs (with a notional intake it is about 20-23 lb). Bearing blocks and plates made out of 0.187 aluminum plates that are outsourced to a sponsor to reduce work needed to be cnc’d on our end, with the pivot being made out of 1-inch aluminum riding on high-load bushings.

Sprockets in pivot utilize both the 1.875 bolt hole found in typical plate sprockets but are also modified to accept a 3-inch 6 bolt pattern in order to add more robustness to the attachment points in the pivot.

To help with wire management up the arm, we have postulated a system utilizing a sheathed wire spool fed inside the telescope, with tension and wire return provided by cf-springs.

(left) Integrated wrist assembly with a neo550 + versaplanetary (right) same deal but with a NEO + maxplanetary

The intake ‘wrist’ has been integrated into the 2nd stage design of the telescopic arm, which will be powered by either a versa planetary or a max-planetary gearbox ( we have not yet decided on which we will be using ). One worry of ours is our uncertainty on how smooth or sloppy the bearing interface between the two stages is going to be, which should be solved and concluded by the time exam season is over and we get back into the groove of things.

Render of the Telescopic Arm as Week 3 wraps up

Overall, the telescopic arm has been a huge effort for our team, which should hopefully pay off during the season through our quick and efficient scoring of pieces on all levels of the grid.

Render of the Robot CAD as Week 3 wraps up

Robot Part Manufacturing

Once we chose our final intake design and had everyone on board, it was time to start parts for our robot! In-house, we began cutting parts for our superstructure, and we also sent out parts to our sheet metal fabrication sponsor. We are also able to order some of the needed parts for the robot which should help speed things up after exams.

The beginning of our cutting and planning process

Programming

Arm Simulation

To give us a more visual and interactive method of demonstrating how our intake and arm work, our programming lead developed a visual to show arm kinematics. Complete with the correct math and accurate geometry, this interactive program lets us fully understand how our proposed intake mechanism would work. Lots of love and care went into this program, so it was a great source of pride as a team to have such an intricate model for our mechanical subteam to follow.

The simulation uses inverse kinematics to calculate the arm pivot angle as well as the wrist angle to hold it at a certain angle relative to the ground to pick up cones/cubes while holding the same orientation throughout the arm movement. The kinematics also determine how long the arm should be to reach a certain point within its reachable area.

|853.806441255204x480.4921783116799

Arm simulation in motion, with detailed values in the top right corner

Automation

We have steadily begun coding and practicing the automation of movement and alignment to the grid. We tested our implementation of SysID, but unfortunately, it didn’t work and it had a lot of breaking points. We will have to go back to manually calculating feedforward values. We also Implemented tag alignment commands with offsets for aligning the robot with shelf pickup stations or grids. This will come extremely useful for both auto and can be implemented into controls for the driver and operator. We also implemented pose estimation using WPILib’s SwervePoseEstimation class which supports vision measurements as well.


Outro

As always good luck to everyone building their bots and we wish you all the best. Make sure to check our week 4 thread next week for more Team 3161 progress. Cheers!

17 Likes

Excellent write up, thank you for sharing your team’s progress. I’d love to see more of your intake prototype videos as you continue to refine it.

6 Likes

That simulation view is absolutely beautiful! Excellent writeup :slight_smile:

EDIT: I also wanted to call attention to use of the expandos to organize the post and avoid “wall of text”. Excellent thought there!

12 Likes

Thanks – Once our team is done with our exams we are hoping to create some more in-depth videos about intake and some of the interesting things we have found throughout testing!

3 Likes

Hopefully once we are done with exams we will be branching the intake a few different ways to help speed up some key choices.

Some things we want to look at:

  • Having a large difference in roller size (4in top and basically just a hex shaft bottom)
  • Looking at adding another roller close to the pivot to help with cube intake (should allow us to have a “better” arm pose for cube pick up)
  • Lots of time spent on material choice for rollers (hopefully we can feed the hex shaft into the surgical tubing at some point)
  • Hopefully other things as well
3 Likes

Post 9 - Week 4 Update

Hello everyone!

Another great week for Team 3161! Although we were still held up due to delays and a few days of finishing up exams, we still managed to get a whole lot of work done for the robot. Detailed below is our fourth week of build season, as well as a quick summary. We will update our log next week with our week 5 progress, so make sure to check our thread soon!


Week four In Short:

  • CNC Workshop - Taught interested team members how to use the CNC machine and how to manufacture intricate parts
  • Wiring - Practice chassis has been completely wired.
  • Manufacturing - Started manufacturing pieces for the robot including a multitude of different pieces made for the superstructure that can start being assembled
  • Programming - Pathfinding, Dashboard, fine-tuning automation and self-centring.

Accomplishment of the week:

Check out this amazing custom dashboard we made! - See the “Programming” section for more details!

|853x480.0913105460408


Team Scheduling & Manufacturing Scheduling

Unfortunately our team was limited in its capacity to start moving at full speed with exams still needing to be wrapped up in the first half of the week. With everyone still studying and the school organizing itself with the upcoming second semester, It was difficult to find a set time or date for the whole team to get together. With the dust settling down for week 5, we look for things to get back to normal by then.

On a more positive note, with the time we did have, we efficiently planned a manufacturing schedule to ensure that all parts were able to be built in time for our week 1 competition, and also to organize and split the work up effectively between different groups.

Prototyping

|437x777.1451172120594
(yikes.)

As week four comes to an end, we have gotten most of our general prototyping done, but will continue developing and testing new and old ideas! Here we have a new and improved pinch-roller prototype with a combination of the surgical tape roller and the smaller wheels, allowing for a more accurate and firm grip.

After seeing the strong intake abilities of the bottom roller, we fashioned a potential bottom roller design to test its potential use. It is a 1.5" drainage rubber tube with a 3d printed plug, which is wrapped around with whatever material would be the strongest, taking into account all of the experimental results.

|167.3709144902223x298

Shown below are more prototyping details:

Testing intake with cube


(Testing back roller)


(Testing top roller)


(Back roller, but unpowered)

One aspect we wanted with this new intake design was for the game pieces to interact seamlessly together. Although we put a lot of emphasis on the cones, the cubes also had to be able to be taken in with aptitude and force. We carefully measured the interaction between all of the different rollers with the cube, and made sure that the grip felt strong enough for the game piece to be moved around with force, while also being gentle and leaving space for careful maneuvering if necessary.

Alignment Testing

|232x363.58722229784615

|146x255.65054136155305
(Testing high speed alignment and intake angles, along with scoring our first points)

Another detail that needed testing this week was ensuring that our intake and drivetrain could work in tandem with each other. Having worked sufficiently on each part of the bot, it was time to combine everything together and have a feel for how smooth this design would work and also see some potential issues that we hadn’t seen before. The swerve drive worked well with the intake, and gave us some considerable maneuverability. The speed and pace at which we could intake and rotate was also a great start, and with more drivers practice experience the scoring should be smooth. Our intake itself also had a good variety of angles at which it could pick up the cones, leaving it in a desirable position for auto and ground intake. In the times where the intake can’t seem to grab the cone, the swerve drive should be able to maneuver around it and try again at a different angle.

For the cone testing GIF, we had difficulties intaking due to the printed GT2 pulley we had stripping out and melting itself (as you can see in the very first photo in this section). Hopefully for next week we can devise a interim solution while we decide whether to go another route or get a metal drive pulley (Procurement rules from the school prevent us from acquiring it at the moment)

Cone intake testing


(Base of cone pickup)

The issue of getting the intake to pick up the cone from odd angles, although slightly solved from the maneuverability of the swerve drive, was still a concern of ours. The intake should be as diverse as possible, and building ourselves into a corner would be the antithesis of what the ideal intake should be like. The intake still managed to be able to pick up the cone from the very base but with some difficulty in clasping it for a longer period of time. We saw our limitations with what the intake was capable of achieving, and will surely influence our design choices in the future as we decide on how we want our arm and wrist mounted, and where to move the robot to during a game as it intakes the cone from the most surefire angle.

|243x433.0564315969566
(Standing cone mockup on chassis)

Lots of experimentation was done with the intake on the bottom roller. Testing different materials such as surgical tape, and silicone tape as well as covering both in sawdust to simulate field debris as well as testing different speeds gave us a greater breadth of possibility on what could and should be done with the bottom roller. Each material had its own grip strength and fluidity, with the different aspects of each being taken into account when we design the competition iteration of the intake.


(Surgical tape intake)


(Silicone tape covered in sawdust)


(Clean silicone tape test)


Design

Not much has happened this week for the overall design of the robot (Aside from the intake of course), since most of the robot at this point is “locked” for the meantime and being manufactured for assembly. However some minor work was done, including figuring out potential arm/telescope/wrist locations for pickup as well as how cone pick up from the human player’s shelf

End effector positions for the cone and cube did not change much in terms of a broad location from the initial crayola CAD’s from week 1 and 2, but it is good to see that’s the case. As you can see the upright cone pickup is systematically the most simple as it only requires a wrist and arm rotation, fallen cone and cube pickups will need a telescope extension though.

Cone pickup from the human player station was also looked into more, initially, we had thought that it was possible to just raise the arm for pickup, but we then realized that extension limits for the gas spring we plan to use did not allow that so we had to use a telescopic extension to pick one up.

Direct pickup from the shelf was not a priority looking back to our priority list, so the robot was not exactly designed with that in mind, but it is nice to see that we theoretically have the capability to do it.

Locations for the Radio was also looked into this week, the final location did not change much from the initial assumption we had on where it should be (mounted low in the superstructure facing out, mounting high was found to be too risky for collisions, putting it inside the superstructure was initially attractive but concerns about interference and accessibility arose.), but we figured out a way to mount it without drilling any specific holes in the extrusion or using the (somehow works) VHB tape + Zip ties, by utilizing a 3d printed case with clamping end that uses the space created by the pocketing as a passthrough for the mounting bolts.

|380.94630630630627x319.8360279835441

CAD Screenshot as Week 4 wraps up, again not much change, maybe except that there is a bumper now.

Manufacturing

This week, we started full swing into part manufacturing! After finally completing our manufacturing schedule and creating all the necessary manufacturing sheets/guides for the start of our robot, we were able to produce a lot of parts that can now be the start of assembly next week!


(Parts completed as of last Friday)

Our process for making parts is slightly different from other years, where it was mostly manual cutting, milling, drilling and the extensive use of CNC’d wood parts. A lot of our parts this year will have some form of non-wood CNC processing or be out-sourced to a sponsor, which is a first for us in a while for a full build season.

We recently acquired our CNC in 2021 and have only used it for one full season before this. We have learned a lot about using the CNC (more on that in a future update), and are aiming to use it to the best of our advantage this year. We also managed to get a manufacturing sponsor late last season on board to cut our plate/sheet-based parts, which allows us to focus more on CNC’d Extrusions, part spares, non-aluminum CNC parts or iterative parts that we need on short notice


(An example of one of our manufacturing sheets/drawings)

Our basic manufacturing starts off with us consulting the manufacturing sheets and getting the basic dimensions of the pieces worked out. Then, we move on to making the cuts, first on our mitre saw to rough cut it, and then to the mill so that the piece is sufficiently square. After that, we use the CNC for any of the more dimensionally integral holes and pocketing if need be… As you can see in the manufacturing sheets above, we plan to have holes in 1-inch faces to be match drilled with corresponding gussets to save time.

|321x427.9565177377071
(An example of one of the extrusions with the finish on it)

In between milling and CNC ing an extrusion, we put a distinctive “swirl” finish that we started to partially implement in 2022 instead of painting. This gives the robot a more finished look as opposed to bare aluminum but also does not suffer from any wear and chipping associated with painting since this finish is sanded into the aluminum.


(Daniel (Co-Captain) posing for a photo with one of the completed parts)


(superstructure extrusions cut and waiting for cnc processing)

Hopefully we are aiming to finish most of our initial manufacturing work within the next week so we can start assembling right away when the parts we sent to our sponsor arrive.

CNC Workshop

With most of the team members not having much practice or knowledge of the CNC, a small workshop was offered to anyone interested in learning how to use the machine. This ensures that the torch of knowledge gets passed on to those in the future and multiple different people can work on the machine if necessary.


(Cutting an extrusion with the CNC)


(Homing the endmill with a probe)

This is essentially the culmination of a project we have had as a team for the past few years on fabricating parts with the CNC. With all of the practice we have had and with much more emphasis being placed on the machine and teaching it to others we are finally proud to say we have accomplished this! It is amazing to be able to craft pieces with relatively better precision than before and be confident in our craftsmanship. We can ensure that the quality of our robot pieces this year will be excellent and will surely lead to a great score in the upcoming comps.

Practice Tank Chassis

Our practice chassis has been fully set up. This practice chassis is the chassis from our 2022 robot with the non-drive components removed.

The aim for this chassis even though our final drivetrain is not a WCD is to help facilitate strategies for defence and to enable a more dynamic environment when we get to do drive practice.

Unfortunately, we had to completely disassemble our 2022 season robot for parts and for any materials that we needed for the new robot ( RIP Helios ).


(Helios’ subassemblies disassembled from the chassis)

Programming - Dashboard

One thing we really wanted to work on this year was our efficiency and our organizational skills. Being able to skillfully adapt to any situation in a competition is an extremely useful skill to have, which is why this custom dashboard was developed. It allows us to quickly change between robot autos so that we can adapt to the strategy and designs of our other team members, and better position ourselves to do better within a match.

|853x480.5483345037168

We have a short clip showing all the features of our dashboard, along with a quick explanation from our programming lead, Pooria.

“As the lead developer on the project, I’m proud to say that the custom dashboard we’ve been working on has been designed with the goal of enhancing the overall experience for our FRC team. The visually interactive field image replaces the previous drop-down menu for choosing the autonomous path, allowing for a smoother and faster match preparation process, which reduces stress for the driving team. Not only does this new dashboard reduce the potential for human error, but it also supports the team in having a great time and building lasting memories together. The reduction of stress and streamlining of the pre-match process are key factors in creating a positive and memorable experience for all involved, which is ultimately what matters the most in a competition like FRC.”

Lots of promising features that will aid with our participation this season.


Outro

I hope that you all had as much fun reading this post as we had working on the robot this week. As always, lots of luck and love to all of the competing teams this year. Make sure to check out our thread next week for the week 5 update and for more Team 3161 updates!

10 Likes

How are you doing the swirl finish on those parts? We use a rotary sander on our parts to get a matte finish, but this seems like a very nice alternative

3 Likes

Hi Ari, we will make a quick video tomorrow showing how to achieve this finish!

4 Likes

Post 10 - Shooting Cones!

Hello Everyone!

This is just a small post to showcase some testing we did today of shooting cones. We’ve found that although possible it is challenging to do it consistently as there are to many variables that you must control (speed of shooter, robot position, the orientation of cone etc).


Shown below are GIFs of successful shots

Cone shoot 1
(successful shot 1)

Cone Shoot 2
(successful shot 1) (followed by missed shot – this highlights how inconsitant it can be as nothing was changed between these 2 shots)

Shown below are GIFs of missed shots

Click Here

Cone Miss 1

Cone Miss 2

Cone Miss 3

Cone Miss 4


I hope you found this interesting or helpful! Also, stay tuned for our Week 5 Recap!

9 Likes

Post 11 - Aluminum Swirl Pattern Tutorial

Hello Everyone!

This is just a quick post to highlight our most first video tutorial which shows teams how to put a very simple – yet very attractive swirl pattern on box tubing. If you have any questions about the process please let us know, we are happy to help!

Also stay tuned for our week 5 recap! Will be coming out very shortly!

28 Likes

Awesome video, thank you for taking the time to make it.

5 Likes

Very nicely done!

I wanted add: this process is called ‘engine turning’ and can be performed with a number of different tools. I have found that if I wear nitrile gloves during and after the process (until aluminum’s natural oxide layer reforms) I can avoid staining the parts with finger oils.

Looking forward to seeing this all together!

7 Likes

Post 12 - Week 5 Update

Hello Everyone!

Week 5 was a very productive week for Team 3161, with production and manufacturing moving ahead with a fast pace. We got our parts that were sent to Sable back and began cleaning and preparing for assembly. Lots of fast paced action finally reaching the shop. Detailed below is our fifth week of build season, as well as a quick summary. We will update our log next week with our week 6 progress, so make sure to check our thread soon!

Week Five In Short:

  • Design - Models built to verify the strength of the arm
  • Manufacturing - Production and manufacturing of pieces for the superstructure and core robot elements
  • Production & Assembly - Parts received from our Manufacturing sponsor have arrived and have been prepped for assembly.
  • Programming - Setting up pose estimation, Intake-Wrist prototype integration, and trying out initial autonomous routines with the testbot.

Accomplishment of the week

We received and started prepping all of our sheet metal parts! A huge thanks to our metal fabrication sponsor “Sable Metal Fabrication”!

Design

With the help of one of our team mentors, we ran a set of simulations, called Finite Element Analysis, that simulated the stresses and loads that our intake arm extrusions would theoretically face. This was mainly done to evaluate if we have gone too aggressive with our planned pocketing or not. It was a bit of a complicated process to understand as team members with a limited post-secondary engineering background but we had two main simulations explained to us;

One simulation set shows the Von Mises stress that the arm will experience, it is the “theoretical measurement of the estimated stress within a material”, different materials behave differently when placed under pressure and tension. The stress-strain curve was explained to us, and after calculations of our given material, we managed to find suitable proof that our arm would be able to handle the strain and validated that our pocketing was fine in the end.


(Stress-Strain Curve)


(This screenshot shows the Von Mises Stresses that our 2nd stage arm will face when extended. Simulation says the maximum Von mises stress is 9.81 MPa and the Yield stress is 275 MPa. A factor of safety of ~28)


(This screenshot shows the Von Mises Stresses that our 1st stage arm will face when extended. Simulation says the maximum Von mises stress is 24.09 MPa and the Yield stress is 275 MPa. A factor of safety of ~11)

The second set of simulations explains the maximum displacement or bending the arm will get when it is loaded

(This one shows the Maximum displacement (bending) our 2nd stage arm would experience with a full theoretical load (maximum intake weight) when extended. The estimated maximum displacement is 0.6406 mm)


(This one shows the Maximum displacement (bending) our 1st stage arm would experience with a full theoretical load (maximum intake weight+2nd Stage) when extended. The estimated maximum displacement is 0.4422 mm)

These representations are examples of the results of the calculation, which provides us with a sense of confidence that our design should be able to theoretically handle some of the forces the arm will experience.

On another note, we have done work to add refinements derived from prototyping data to our “competition” intake design. Several elements were changed from the interim design used as a reference for designing the rest of the robot, The material was switched from 0.184 Aluminum plates to 6mm Polycarbonate plates (mainly due to in house capability and fast turnaround vs having it go through our manufacturing sponsor, which allows us to iterate between versions within days or even hours, vs up to 2 weeks), Spacing and wheels determined from the prototypes added into the design as well (3 inch staggered wheels and surgical tubing lined flexible tube was determined to be optimal as of now).


(Snippet of the new intake while it is being CADded, some details need to be determined still before it can be considered competition-ready, but we hope to solve enough details for this version so it can be made and tested next week.)

Manufacturing & Production

This week was a huge pace change and pivot point for the team. With the start of semester 2 and the academics settling back down, we began hosting daily meetings and for longer hours. With all of this extra time and manpower, production blazed forward and we really started to get a sense of momentum.

At the beginning of the week, before we received our sponsorship piece, we finished the majority of the superstructure and arm pieces that needed to be made in the shop. Lathe parts were manufactured efficiently with each piece being given to a student who would then take charge of Lathing, Boring and Tapping the piece. Getting these done quickly before our order came in with the majority of the pieces was a huge boon for efficiency and organization.

We received our Sable order, one of our new sponsors for this year, near the end of the week and quickly jumped on the opportunity to move forward with assembly and production. A majority of the pieces needed to be deburred, sanded down and cleansed with alcohol. Lots of different ongoing projects and different groups of people working on a wide variety of gave us a taste of the hectic nature of build season that was greatly missed.

|833.5057680631452x469
(Students sanding down gussets and plates)

The belly pan took a huge amount of time and effort due to all of the holes and slots that needed to be filed down. Thanks to all of the hard work and effort however, the wiring and electrical components of the robot will be able to move forward smoothly.


(Students deburring the parts received from Sable)

A superstructure mock-up was able to be made this week with the arrival of the parts. We finally got a physical representation of what all of our cad and planning work had been for and also provided us with a sense of scale on what the size of the final robot design would be like.

This, in turn with the arm pieces, gave us a nice overall representation with how big the final design will be with the actual parts, and also a feel on how much more integration and building is like, with many other subteams relying on mechanical to begin more work such as programming and electrical.

|327x581.3587595193814

Programming

Programming this week started with mounting the limelight and setting up pose estimation on our test robot. In the process of doing so, photonvision was installed on our limelight and calibrated with two different resolutions; 320x280 and 640x480. This was done to test the performance.

Based on our testing, 320x280 gave us about 3m of accuracy and 30 frames per second before glitching out. With the 640x480 resolution, we were able to get to 5m of accuracy with 5 to 7 frames per second. Ultimately, we settled on 320x280 as it was able to provide us with faster response time. However, this is not final and we might change the resolution based on our needs in the future when we go to practice fields, as pose estimation doesn’t require us to have vision responses all the time. It’s just for path corrections.

For pose estimation verification, we first ran it without vision feedback and tried to stop the robot from moving while the wheels were able to slide on the floor. Which gave us false results as it thought it was moving, but in reality, it was stationary. For our second test, we added vision measurements to our pose estimation class and ran the test again, this time the pose estimation didn’t change even though the wheels were sliding on the ground and the robot was stationary

Another big portion of programming this week was getting our auto system work with other subsystem integrations such as the Intake.

This was our first auto test:
|271x481.14297662089683

Here we tested to ditch the cone while the robot moved forward to grab another piece. Although we’re getting promising results, This test needs to be done on a carpet and a cube as well to see how the game pieces react to the carpet.

Our second auto test:
|270x477.84893375264113
|228x404.0339119889965

Here we tried to shoot the cone while half of the robot was on the community zone line and to see how we can reduce our cycles during auto. Shooting from this distance and with our relatively low-fidelity prototype, wasn’t consistent; However this will be solved once we add the Arm and a higher-fidelity intake to the robot.

Our third auto test:
|229x406.0660247977494
Here we tested the 1 cone auto without shooting it from the community zone line. Will probably stick with shooting as it’s faster and cooler; However it’s worth noting that the auto speeds are limited to 0.5m/s for testing purposes and would need to test all the autos again with the competition configuration to see which is faster.


Outro

I hope that you all had as much fun reading this post as we had working on the robot this week. As always, lots of luck and love to all of the competing teams this year. Make sure to celebrate Valentine’s Day with your team and demonstrate your appreciation for each other. Make sure to check out our build thread next week for the week 6 update!

|853x480.14501171606474

11 Likes

Can you share the meshing of your FEA models please?

Are you pocketing 1/8in wall tube or 1/16in wall tube?

1 Like

We can share once the mentor who helped is no longer busy.

Edit: Also its 1/8" wall tubing.

1 Like