In the video the Charging Station seemed to respond slowly to changes in position. Maybe this was just my perception. But if it is as slow as it seemed to me Saturday afternoon it seems it would make it hard to balance by gyro with a closed loop control. A better solution for engaging in auto may be by position alone, especially if you are localizing using AprilTags.
The double hinge also looks like it will make gyro feedback a bit more tricky to use, since there will be a dead zone surrounded by two tipping points. Will be interesting to see on a real field how forgiving the dead zone is.
I watched the video a couple of more times and I think I may have softened on if it responds quickly enough of not. I think it might be fast enough but another larger concern came to mind. Autonomous engage using the gyro is only useful if you are the only bot on the platform. I know in auto you are supposed to only engage 1 bot. However the number of autos gone wild I have seen concern me. If we have a PID on gyro and someone else comes to the edge of the charging station and tips it up, we will jump off the high end. I think that danger alone makes the gyro balance a bad idea.
I am definitely looking forward to some epic gymnastics happening around the Charging Station this year. What’s the over/under on how many matches end with all 6 robots on their sides?
I was considering doing a gyro-based balancing system. I thought we could do two different tunings, a fast one, and a slow one. The fast one could get the station balanced quickly, then once it’s “good enough” it could swap to the slower one to correct any disturbances. Then, if a robot disturbed the charge station it wouldn’t just fly into oblivion, it would just creep that way. Also, to keep it from creeping off the edge and falling over if for whatever reason it’s held tilted the wrong way, I could potentially constrain it with odometry. Do you think that’s a viable solution?
Constraining with odometry is a possible solution, though polycarb is slippery and wheel slip messes with odometry, if we are getting enough april tag updates to keep our position good that could be viable.
It might be a good idea to only try to level the charging station if it is under a certain angle. If one of the sides of the charging station is all the way down, that most likely means there is a robot getting onto the charging station and therefore any movements of your robot wouldn’t level the station. Instead you could wait until the charging station is between a certain threshold to try to level it.
Won’t AprilTags be challenging while on the charging station? My solutions so far assume the camera is in a fixed position on the robot, and the robot is on the floor.
The gyro pitch and roll can be used to compensate for tilting, but won’t the altitude cause incorrect pose estimates?
You should be able to get a 3d pose estimate from PhotonVision on the AprilTags. The pose estimates should be accurate regardless of robot orientation, pitch, roll, etc.
It would be difficult now that I think about it, you could compensate for the rocking with the gyro and 3d transform but the height difference might make id hard.
If you know where the april tag is, and you know where the camera is on the robot, you have a 3d position for the robot. You don’t need to know the robot’s position relative to the floor, the pose estimate will have the camera’s position relative to the april tag, which has a known position relative to the floor.
A problem that could arise from using AprilTags is most solutions (other than BeeLink and Limelight 3) seem to have relatively low performance, so when climbing up the ramp and the ramp shifts from leaned towards one side to being neutral, you probably won’t get any good AprilTag readings.
Oh yeah, that’s right. It should actually estimate that you’re off the ground, which would be true. You don’t need to do any compensation with the gyro. That’s why I come to CD!
Drive until you think you should be on the ramp. Pause for 1 second and measure april tag a few times. Drive until you think the ramp should be level. Pause for 1 second and measure april tag a few times. Repeat 2 or 3 times until the ramp is level. You don’t need to have a real-time closed loop to take advantage of the closed loop.
The charging stations should be easy-ish to level with one robot because of the double hinge. I think it will be very difficult to do in auton if you don’t have a test ramp built. However, with the current ruleset, the only benefit of balancing (over docking) in auton is 4 more points. The RP has the same endgame requirements regardless of dock vs balance in auton.