Announcement

Collapse
No announcement yet.

Run away robot after re-initialize

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

  • Run away robot after re-initialize

    We encountered an issue last night while we were driving, our robot seemed completely out of control, it was turning without stopping, none of the gamepad buttons were working. I would think it was probably caused by a loose connection of the gamepad to DS phone, we were not 100% sure though, our driver pressed STOP on DS button right away out of scare, robot stopped, and then he initialized it again (without restart RC), everything seemed working as normal, however, when he pressed Start button, Robot was turning right away, he hadn't even touched the gamepad yet! When our driver pressed Start + A, he gained control. I remember this happened in the past a few times too.

    My questions is that why motor controller remembered the last setting. What should we do to prevent this? Does a cleanup in stop() help? Anyone else had this issue before?

    Thanks!

  • #2
    Originally posted by yjw558 View Post
    We encountered an issue last night while we were driving, our robot seemed completely out of control, it was turning without stopping, none of the gamepad buttons were working. I would think it was probably caused by a loose connection of the gamepad to DS phone, we were not 100% sure though, our driver pressed STOP on DS button right away out of scare, robot stopped, and then he initialized it again (without restart RC), everything seemed working as normal, however, when he pressed Start button, Robot was turning right away, he hadn't even touched the gamepad yet! When our driver pressed Start + A, he gained control. I remember this happened in the past a few times too.

    My questions is that why motor controller remembered the last setting. What should we do to prevent this? Does a cleanup in stop() help? Anyone else had this issue before?

    Thanks!
    It sounds like you were running TeleOp. One possibility is that when connecting the gamepads to the Driver Station phone, one or more of the sticks were not at "neutral" position. I think when the gamepads are first powered up (i.e. plugged into the USB hub or the DS phone), it did a "zero calibration" on the sticks. So if the sticks are not at neutral position, which is easily the case when you are holding the gamepad in one hand and trying to plug it in with another, that position became zero and when the sticks are finally returning to neutral, you have a non-zero value. That might make it turn (or going forward/backward) depending on which stick was not in neutral to begin with. If your have telemetry showing on the DS phone, you would see non-zero stick readings.

    Comment


    • #3
      Originally posted by yjw558 View Post
      We encountered an issue last night while we were driving, our robot seemed completely out of control, it was turning without stopping, none of the gamepad buttons were working. I would think it was probably caused by a loose connection of the gamepad to DS phone, we were not 100% sure though, our driver pressed STOP on DS button right away out of scare, robot stopped, and then he initialized it again (without restart RC), everything seemed working as normal, however, when he pressed Start button, Robot was turning right away, he hadn't even touched the gamepad yet! When our driver pressed Start + A, he gained control. I remember this happened in the past a few times too.

      My questions is that why motor controller remembered the last setting. What should we do to prevent this? Does a cleanup in stop() help? Anyone else had this issue before?

      Thanks!
      This sounds like a known bug that was reported just as the last update was being released.

      If the game controllers become disconnected while they are sending a driving control (eg: not zero's out), the Driver station doesn't automatically revert back to zero values.
      If the controllers don't get re-connected and re-initialized, then the old values hang on, and will go into effect if the opmode is simply restarted.

      This is definitely a problem, and is on the developer's bug list.
      The driver station should be clearing out the old values.

      It accentuates the need to have gamepad cables anchored firmly to the phone while competing.
      All teams should assemble a "driver station" out of wood/plastic/metal that can hold the phone, hub and cable connectors.
      Even without the bug, losing controls during a match due to loose cables is something that should be prevented.

      Comment


      • #4
        Originally posted by Philbot View Post
        This sounds like a known bug that was reported just as the last update was being released.

        If the game controllers become disconnected while they are sending a driving control (eg: not zero's out), the Driver station doesn't automatically revert back to zero values.
        If the controllers don't get re-connected and re-initialized, then the old values hang on, and will go into effect if the opmode is simply restarted.

        This is definitely a problem, and is on the developer's bug list.
        The driver station should be clearing out the old values.

        It accentuates the need to have gamepad cables anchored firmly to the phone while competing.
        All teams should assemble a "driver station" out of wood/plastic/metal that can hold the phone, hub and cable connectors.
        Even without the bug, losing controls during a match due to loose cables is something that should be prevented.
        In tonight's meeting, we have encountered an issue that may sound similar. Basically, the gamepad icons disappeared from the DS display. We tried plug/unplug the OTG cable (and of course Start-A and Start-B) and they wouldn't come back. The only way to make them come back is to kill the DS app by side-swiping and restarting the app. At first I thought it's a connector issue. But it can't be because our gamepads are mounted on a piece of polycarb as well as the DS phone. All the connectors are zip-tied fixed on the polycarb (so there is no movement). Once this is happening, we made sure we absolutely could not get the gamepad back by doing Start-A and Start-B and also made sure we did not touch the OTG connector. Then we just "killed" the DS app and restarted it and everything was normal again. Then when it happened again, we carefully unplugged the OTG cable and carefully plugged it back and the gamepad never came back with Start-A and Start-B. But if we just restarted the DS app, they came back. Also, we remembered in the past when this happened, we could just plug and unplug the OTG connector and they would come back. That led us thinking: what was different this time. The only thing I can think of is: we just ungraded to SDK 2.61 and this is the first time we ran our robot with this version.
        So my question is: Did anything about gamepad and DS has changed in SDK 2.61? I looked at the README file on changes in version 2.6 and 2.61 and can't find anything about DS app and gamepad.
        Anybody has experienced this? Is this related to the "known bug" that Phil was referring to?

        Comment

        Working...
        X