Suggestions | Program challenges for a better robot

Hi :slight_smile: My name is Roee and I am the Captain for Vulcan 3835.
My lead programmer asked me to find him cool program challenges he can do to improve the robot such as vision targeting to help pick up the ball and setting equal speeds for the badly greased gear boxes. Any advice?
Seriously anything, the harder the better :slight_smile: He just loves this type of stuff.

If you have shifting things like intelligent automatic shifting can be nice. You may also want to look into a catching assistant that suggests where to drive to catch a ball. Keep in mind that this would be pretty difficult and would require some special hardware as I don’t think dedicating the cRIOs power to it would be worth it.

Use the encoders on the SuperShifters to equalize the speeds

  1. Add gyro control for driving straight
  2. Making your autonomous more advanced. Say, a three ball auto, even if it takes more than 10 seconds (this is for practics afterall)
  3. Add automation to your robot

To give you an example, we still have our Rebound Rumble robot. A few of us are thinking about fully automating it, which wouldn’t require much given what we did with it in 2012, to give a demonstration. Basically, the robot can automaticall do the following

  1. Adjust the shooter based on distance
  2. Target the hoop
  3. Find distance to the hoop
  4. Object distance detection (of balls, ideally)
  5. Manage balls in inventory to limit itself to 3 (per 2012 rules)

To add: Obstacle avoidance and ball detection

How about code that uses a gyro and accelerometer to automatically reposition the robot whenever it is pushed. Of course,you couldn’t do it side to side unless you have a mecanum/swerve drive, but it would still be very useful for shooting.

Or using an excel sheet to code autonomous (search autonomous scripting).

I have several ideas that may be of interest:

  1. Implement a recording / replay system for autonomous. While in Teleop record the robot movements and then have autonomous read the saved commands and replay them so the robot duplicates the original movements. This is done on the cRIO side.

  2. Add an editor to edit the recorded movements to better tune them. This is done on the PC side. We use ftp to retrieve and replace the recorded files.

  3. Extend the recording to specific areas of the robot code to watch later. We use this to help improve the logic flow for when automatic actions of the robot should be made. Ie: in this years robot we are using a winch to retract the catapult, when the winch is not moving the separate winch brake needs to be engaged. This control is automatic.

Wow! The autonomous is brilliant!