Gimbal does not work with Jetson+PCC, but works when PCC is directly tested using the AVR GUI

Hi,

Problem

We attempted to follow these instructions and video from the gitbook to test the gimbal. The GUI software successfully connects to the MQTT server, and we see the messages successfully received on the console. On thermal view/control screen, we are able to see the reading of the thermal sensor (we verified by placing our hand in front of it, and the screen lights up red) but when we try to control the gimbal or the laser, it does not work. The messages are sent to the MQTT server, but the laser and gimbal just do not respond.

Context and steps prior to the problem

We flashed the PCC and tested it using the instructions found on the bell flight gitbook and confirmed that the servos and led’s were working fine.

Next, we followed the instructions to update and run the VMC software from bell flight, and confirmed that the script started the MQTT server and there were no errors.

Solutions already tried

We tried the following, but they did not work:

  1. Rebooted the drone and computer
  2. Retested the PCC using the AVR GUI and can verify the gimbal works
  3. Pulled the latest changes for the Jetson software from GitHub
  4. Used a different cable for the connection
  5. Used a different USB port on the Jetson
  6. A few more things I can’t remember at this hour

Please help with this. I tried to include as much detail as possible in the most easy-to-read format, but if it is too much / less, please let me know.

Thank you for your help!

Thanks for the thorough analysis. One thing is unclear to me in your Solutions point #2:

“Retested the PCC using the AVR GUI and can verify the gimbal works”

Does this mean the problem is intermittent? Also, one thing to keep in mind is you need to start the necessary services to be able to control the laser and gimbal. Are you running the pcm service? What is the command you’re using to start the services. Even though you can see messages in the MQTT output those messages will get routed to the necessary services. So perhaps there’s a chance that MQTT is starting but PCM isn’t. See the troubleshooting section here:

https://bellflight.github.io/AVR-2022/software/running-vmc-software/#troubleshooting

1 Like

Hi,

Thanks for the speedy reply!

No, the problem is persistent. We just tested it again after rebooting the drone and the computer in hopes that it would just go away.

We were following the video listed on the bell flight gitbook (it is linked in the first post), and used the following command:

./start.py run mqtt pcm thermal

and the command works successfully. All the three containers get created and deployed and I can see them running when I do:

docker containers list

I can’t attach the output here as I don’t have it right now, but I can confirm I see them running.

In the output of the start.py script, when we connect using the AVR GUI and try to control the gimbal or laser, we see debug messages like:

avr_pcm | DEBUG | Sending laser off : b"<raw bytes here>"

the above is a rough made-up output from what I remember as I currently don’t have access to the drone since it’s in the school. These messages seem to indicate that the MQTT server received the message but I don’t know how to test if it is passed onto the PCM container.

Your answer about the PCM service not starting kinda makes sense since the gimbal and laser do not work but the output of the thermal sensor is displayed, but I see the container running. I also don’t think that the scripts inside that container fail, since that error should reflect in the output of the start.py script, though I have not yet ruled out that possibility.

Please let me know if you have any idea on what the root cause might be or how we can find out.

Thanks a lot!

Hi,

Any updates? Can someone please help?

Thanks.

Here is a photo of my console output when sending successful servo and laser commands from the AVR GUI to the MQTT container.

At this point it sounds like your software setup is correct and I’m wondering if we’re dealing with a hardware/wiring issue. Can you confirm that you see the amber LED next to the USB connector constantly flash quickly? Also, when you use the AVR GUI and move the joystick you should see the red LED blink (above the USB connector in my photo) while commands are being received by the PCC.

Also, is your green LED on the servo board (top board in my photo) constant when powered up?

Hi,

Thanks for your reply!

We were facing some other issues with the Jetson (I put it as an answer to this question) so we replaced it with the Jetson from last year.

We found out the that the AVR-GUI was sending commands to servo 3, but there was no movement in the servo. We had servos connected to other ports too, so we manually published messages to the MQTT server port 0, and it moved one of the servos. We did not test whether the servo at port 3 is faulty or what is the reason for the servo not moving, but I think we will be trying some stuff today. We also didn’t get to test the laser but I think we will be trying that today. I will send an update afterward, and thank you for all your help!