FRC 4481 Team Rembrandts | 2024 Build Thread | Open Alliance

Thanks so much for sharing this sensor!

We are a 2nd-year team and have never used any sort of sensing / beam break or anything of the sort, and would love to use something like this on our intake/feed this year!

Would you plug this directly into the RoboRio through a PWM or DIO port? I feel like I’ve seen people solder in resistors in the chain (again, not sure of the reason or if I’m misunderstanding!).

I just purchased a set off Amazon, so any help with how to use these exact sensors would be greatly appreciated! We appreciate you all so much for maintaining such a fantastic build blog - you all are amazing! :slight_smile:

Thanks so much,
-Martin

2 Likes

You can plug them directly in a DIO port on the RoboRIO. Keep in mind that the colors of the wiring don’t follow default PWM coloring. According to our supplier, it’s:

  • Blue - GND
  • Brown - 5V
  • Black - Signal

To read the value using code, you can create a DigitalInput object (assuming Java) and use the .get() method to retrieve a true/false reading.

6 Likes

Thank you so much! Can’t wait to give these a try!

2 Likes

We’ll be featured in another OA Show soon :eyes:

Including a never seen auto mode

26 Likes

Another OA Show Appearance!


Robot Updates, Auto Modes and Driver Assistance

This week, we are once again featured on the Open Alliance Show by FUN! Thank you @Tyler_Olds for having us on again!

In this episode, @Feije.vandenBerg (Strategy) and @Mark_4481 (Software) will take you through our planned updates for the competition bot, plans for auto modes (including a never seen before video) and driver assistance.

33 Likes

Week 4 Recap

Week 4 is over, and our trip to the States is coming closer and closer! This week we have done a lot of tuning and practice with our Alpha bot! (You can check all of these videos on our YouTube channel!)

Our drive team already started with practice so we can get the most out of our robot!

For the Beta bot, our mechanical team is working very hard to improve our Alpha Bot in CAD so we are ready for competition as soon as possible.

Our Media team has laid the basis for our Notebook of 2024 and can’t wait to fill it with all of the amazing details about our robot, team and impact! Together with our Outreach and Awards, we are halfway when it comes to creating the storyboard for the impact video!

Further, on Friday we met up with Galatasaray Robotics 9020 about a lot of different things such as team structure, outreach and coordination of projects. And on Saturday we held a wonderful meeting with FIRST Team RUSH frc27 ! We got to know their team and we talked about a lot of different subjects! It was amazing meeting these teams and we wish them good luck with the rest of the buildseason!:orange_heart:


Video made by:
@Sandwich21 - Lead Media & Branding
Written by:
@Ties - Open Alliance Editor

16 Likes

Heyyyy, thanksss for the explanation, it’ll really help us out. Is it to much to ask you to show us how yo do it in code?

1 Like

There are some good examples of this in this thread: Easy Linear Interpolation?

Do you have any plans on flashing your Limelights back to the LL firmware now that the 2024 version is out?

1 Like

Here’s a usage example (I just made up random numbers to demonstrate)

then you get a value with shooterMap.get(<put key here>)

2 Likes

I don’t think that we will switch back to LL OS soon. Main reason for that is that our localization is perfect right now. We also don’t want to spend more time on this. Maybe in the offseason we will consider switching back if teams have better experiences with LL OS compared to PV.

5 Likes

Competition Robot Design

The Port Hueneme and Ventura County regionals are getting closer and closer. This means that our mechanical sub-department is hard at work finishing the final robot design and getting ready for production. In this post we will take you through our design and show you the changes compared to our Alpha bot.

Drivetrain

For our drivetrain, there are a lot of small changes, but the overal design has remained relatively similar.
The electronics have been moved around a bit, the swerve modules have gotten protective covers over them to make sure wires and other parts don’t get stuck inside the gears and the bumpers now have plates on them to better guide the notes towards the intake. We also added our sponsor plates to this design.

Intake / Storage

The same can be said about our intake and storage system. It is all very similar to earlier designs, this does not mean we haven’t changed anything. We have mainly been looking into reducing weight and making everything more compact. A noticable change is the addition of two extra strips to be back to better guide notes from the storage into the shamper

Shamper

Our shamper has been an amazing part of our robot. As you might have seen on our youtube channel or in this thread. We have been able to shoot constently from a wide range of positions. This does not mean we haven’t made any improvements.

We made the whole system a lot more compact by changing the width of the system to the width of a single note. In our experience, this also increased the acuracy because the note would always hit the shooter wheels at the same position.

The ways of powering our feeder, shooter and amp wheels have also changed slightly. We added an extra motor to power our kicker wheel so that we could better control the note. We also did this to make sure our shooter motor did not overheat, as we have been experiencing this during testing. The final change to our shamper is the addition of a roller. This roller removes the deadspot we had in our system and creates an more reliable and effective system.

Climber

The climber has seen the biggest changes in the robot. As you could have read earlier in our buildthread, we have switched between designs. Our earlier design was based on team 4087’s rollable boat hook design. This design is ideal for compactness and height, but it had the problem of getting stuck when you unrolled it to quickly.

After we figured this out, we made a quick switch to an other design that our team has experimented with before. The design is really simple compact and robuust, but has the downside of not being able to reach to the highest point of the chain.

Future Steps

Starting yesterday, we will be busy with producing the new robot, with an increased focus on in-house production. As we get closer to physical upgrades, you will see them here first!

Written by:
@Matbet - Mechanical Design Lead

31 Likes

When it comes to auto aiming, my first idea is to caculate the angle by distance. Could you explain more about why do you use lookup table, and how it work better than trigonometric functions?

1 Like

In theory it is possible to calculate the angle with trigonometry. However, the further the robot is from the goal, to more you start to notice that the note follows a ballistic trajectory. Therefore you have to aim a little higher than you would expect. This can all be taken into account, but you only know for sure that the angle is correct if you actually test it, and that is exactly what you do when making a lookup table, testing the setup at different distances and writing the results in the table.

We also noticed that at larger distances the angle needs to be really precise. At around 3 to 4 meters we had to tune the angle with adjustments smaller than halve a degree. If we ever need to adjust the angle at a specific distance by lets say 0.1 degree, that would be possible with a lookup table, but not with trigonometry or regression.

8 Likes

Also how come lookup tables seem more popular than calculating the angle using kinematics?

With lookup tables you essentially skip all the physics and theory to numbers that are tested and known to work empirically

17 Likes

Autonomous update!

Our software team has been very busy the last week with programming the alpha bot, including auto routines. There were some small bugs we fixed along the way, but fortunately we were able to get pretty consistent and efficient.

Auto Strategies

First robot to center line
We prioritize auto routines that first collect notes at the center line to make sure that the other alliance doesn’t steal “our” note.

Amp vs speaker scoring
We decided that we will only score in the speaker during auto, since it’s faster and more efficient.

Auto starting positions
We’ve defined 3 starting zones for robots: Top, Mid and Low. We’ve assigned every auto routine a code with the starting position as a prefix. This way, it’s easy to see which auto we can use without interfering with alliance partners.

Pre-match auto planning
Before the match start, we will meet with our alliance partners to discuss where they want to start on the field. We will then make sure that we can run our auto routine without getting in each other’s way or wasting time on trying to pick up the same note.

Current auto routines

4 Note Auto (TOP-CN54-FN3)

In progress: 5 Note Auto (MID-CN5-FN321)

In progress: 6 Note Auto (MID-FN123-CN45)

Future steps

We will continue creating more auto routines and make the existing ones better and more accurate. Right now, some actions are taking more time than needed, so we’ll optimize them by running more actions in parallel, for example shooting while driving.


Written by:
@Bjorn - Lead 3DM (Data Driven Decision Making)
@Feije.vandenBerg - 3DM Student
@Jochem - Lead Software

36 Likes

When the 6 note auto works (almost)

6 note reactions

40 Likes

Thanks for all this, it’s great and super useful!
A couple of quick questions:

  • we are getting ~22fps at 110ms latency in the first try (960x720). How did you manage to bring it to acceptable levels?
  • are you planning on sharing the code soon?
2 Likes

To tune the values for exposure, brightness and gain, we followed some instructions that told us to do the following:

  1. Put the robot in front of an apriltag
  2. Tune the values so that the apriltag gets recognized.
  3. Drive a bit back (0.5-1 meter)
  4. Repeat steps 2 and 3 till it’s not possible to recognize them anymore.

We choose the 960x720 based on the fact that we need a good balance between FPS and accuracy. This resolution was also recommended by several other people on chief.
Besides all of that, we didn’t really touch any of the other settings on our LL2+ and LL3. Most of the accuracy improvements were done with code to filter the vision measurements better.

We’re currently finishing the alpha bot code, so you can expect a public release of the code by @Jochem tomorrow.

Hope that answers your questions. Don’t hesitate to ask more :smile:

4 Likes