Announcement

Collapse
No announcement yet.

Changing the behavior of DC motors when the robot is stopped

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Changing the behavior of DC motors when the robot is stopped

    In the upcoming release we are going to change the behavior of DC motors. Currently when you stop the robot all DC motors are placed in power float, which allows the motors to spin freely. We are going to change the behavior so that when the robot is stopped the motors will attempt to hold their current position.

    In the future we would like to have more intelligent behavior where teams can specify whether they would they would like an individual motor to either float or hold position when the robot is stopped. But that feature won't be available for the upcoming release.

  • #2
    "Stop and hold" will prove useful when robots attempt to end a RES-Q match either parked on a steep ramp or hanging from a bar.

    To prevent motor burnouts, will there be any way for robot software to turn motors truly OFF, after a certain time interval?

    Comment


    • #3
      Thanks, Jonathan.

      Will servos go limp, hold their current position, or move to their last programmed value when the stop button is pushed?

      Comment


      • #4
        I'll add sample code on how to place all of the DC motors into power float mode.

        If the API were to automatically place the DC motors into power float after being stopped for a certain amount of time, what would be a reasonable amount of time to wait?

        Comment


        • #5
          Originally posted by Cheer4FTC View Post
          Thanks, Jonathan.

          Will servos go limp, hold their current position, or move to their last programmed value when the stop button is pushed?
          The plan is to still have the servos go limp. Although I do like AlanG's comment where there is a delay before they go limp. Suggestions?

          Comment


          • #6
            Originally posted by Jonathan Berling View Post
            The plan is to still have the servos go limp. Although I do like AlanG's comment where there is a delay before they go limp. Suggestions?
            Probably in matches you either want them to stay at their position (and risk burnout) or immediately go limp. Having them change their state after a delay could be a safety hazard. I could see a match where a robot is hanging close to touching a bar at the top of the high zone, and the refs take a while getting under the robot to see if it's touching the bar or not. I'd hate to see a robot timeout 20 seconds after the end of a match with a ref or FTA's head under the robot, causing the robot to fall down on the ref or FTA's head.

            In previous years, I think the motors were just braked at zero power. This could cause some motors to drift down if a lot of torque was placed on them, but then they wouldn't burn out. This might be better than having them actually hold their position (if encoders were used), as this might cause non-zero power to be placed on the motor for extended periods of time with no motor movement which could result in burnouts, etc.

            If you ask them to hold their position, what happens if no encoder is used on that motor?

            Comment


            • #7
              Sorry, my previous comments were supposed to be applied to the DC Motors.

              For servos, they've always gone limp at the end of matches before. They're never holding up a lot of weight where going limp is a safety hazard.

              Comment


              • #8
                Originally posted by Cheer4FTC View Post
                In previous years, I think the motors were just braked at zero power.
                Sorry. This is what I meant by "hold their position". I didn't want to say "we will have the motors break" because that has been misinterpreted to mean "we will have the motors fall apart."

                Right now the exact behavior is as follows:
                1. place any HiTechnic motor controllers into write mode
                2. switch the motor controllers to run without encoders
                3. set power to 0 on all DC motors
                4. disable PWM on the servo controllers
                Last edited by Jonathan Berling; 09-18-2015, 06:50 PM.

                Comment


                • #9
                  Brake not Break

                  Originally posted by Jonathan Berling View Post
                  Sorry. This is what I meant by "hold their position". I didn't want to say "we will have the motors break" because that has been misinterpreted to mean "we will have the motors fall apart."
                  That's why you would use the term "we will have the motors brake".

                  Comment

                  Working...
                  X