jhu-dvrk / sawIntuitiveResearchKit

cisst/SAW stack for the da Vinci Research Kit (dVRK)
https://github.com/jhu-dvrk/sawIntuitiveResearchKit/wiki
117 stars 68 forks source link

Error: failed to turn on brake amplifiers #196

Closed MissingLight closed 7 months ago

MissingLight commented 7 months ago

I am now trying to run and set up the dVRK Si arm with Firewire. The communication is now working. However, when I try to run sawIntuitiveResearchKitSPotentiometersCalibration, it shows the error of brake amplifier. I cannot find any document that mention about this.

Error: failed to turn on brake amplifiers:
 - status:             0            0            0
 - desired:            1            1            1

I set up the E-stop correctly. When powering and running the calibration, the 48V light is green but the AMP light on the control box panel is red and blinking.

I am using the Firmware Version 8 for Si arm, with the latest software release 2.2.1. Thanks for the help.

adeguet1 commented 7 months ago

I'm not really sure why this would happen. For @keshuaixu , this is the code being executed: https://github.com/jhu-dvrk/sawIntuitiveResearchKit/blob/356bac3e86a10468e05157ae996b86370eb29248/applications/s-potentiometers-calibration/SPotentiometersCalibration.cpp#L230

I now realize that I didn't had the call to the "explain" method so I will try to patch the development branch tomorrow.

keshuaixu commented 7 months ago

A blinking red AMP light means at least one motor driver requested to be enabled but not enabled, possibly due to a fault or an interlock. Anton's patch will tell you the exact reason.

keshuaixu commented 7 months ago

@MissingLight Just a sanity check for data connectivity between the robot and the controller.

  1. There should be two cables between the controller and the robot.
  2. On the controller, the ESPM LED should be solid green (not off or yellow). This indicates robot->controller communication is good.
  3. On the robot, the two LEDs next to the top button should be alternating blinking purple when the controller boots, and solid purple after the controller boots. This indicates controller->robot communication is good.
MissingLight commented 7 months ago

@keshuaixu Thanks a lot for the hint!

I guess this is exactly where the issue happens. I have never seen the ESPM LED be on (only a quick yellow blink when the controller booting ends). And the two LEDs on the robot's linear rail have never been purple (only a quick white blink when I turn on the controller).

There are two cables connecting the controller and the robot, both being firmly plugged. I also changed and tried different combinations between the cables, the three controller and the three robots. It always shows the same issue as above.

Could it be related to the ESPM Programmer (firmware version) on the robot?

keshuaixu commented 7 months ago

Is your ESPM programmer plugged in and turned on? The white blink indicates that the robot arm is still running original clinical firmware.

https://github.com/jhu-dvrk/sawIntuitiveResearchKit/wiki/Hardware-setup-for-S-Si-PSM-and-ECM

This documentation is outdated, but the section regarding ESPM programmer is still current.

Please check

  1. The ESPM programmer exists and is plugged in
  2. The switch on ESPM programmer is set to “enable”
  3. An SD card exists in the sd card slot, and it has a file named “espm.xsvf”. If you haven’t already, update the content with https://github.com/jhu-cisst/mechatronics-embedded/releases/download/v1.0.1/fpgav3-micro-sd.zip or use the python script to update it.
  4. When you apply the power to the robot, the blue LED on ESPM programmer should be on for about 1-2 seconds, then turn off, then turn on for about 1-2 seconds, then turn off. The yellow LED should not be on at all. If you see the yellow LED, report how many time it blinks in a row.

Hope this helps

adeguet1 commented 7 months ago

@MissingLight, can you contact me by email so we can schedule a Zoom meeting to help you? First.Last@jhu.edu

keshuaixu commented 7 months ago

The problem was caused by an old ESPM programmer firmware that looked for "firmware.xsvf" instead of "espm.xsvf". The symptom was 3 yellow blinks on ESPM programmer.