Autonomous Gimbal Clarification
A while back, I purchased the m500 with gimbal attachment. I would like autonomous control of the gimbal. In particular, I would like to control the tilt angle.
In a ModalAI forum (https://forum.modalai.com/topic/365/gimbal-commands), I was told to look at MAVSDK. I followed the steps to build the MAVSDK docker image (https://gitlab.com/voxl-public/voxl-docker-images/voxl-docker-mavsdk-python/-/tree/master#) and was able to get the gimbal.py example running from MAVSDK-Python. When I run the command to take_control of the gimbal, nothing is returned and I cannot control the gimbal.
I recently discovered there are no PWM ports for PX4IO/AUX Outputs (https://docs.modalai.com/voxl-m500-gimbal-user-guide/#no-px4ioaux-outputs), which I believe means that it is impossible to control the gimbal via MAVSDK because of the lack of hardware ports. Can you confirm if my understanding is correct?
If I am wrong, are there plans to implement autonomous control of the gimbal via MAVSDK? If so, when would this be supported?
I have thought of an alternative approach. The gimbal is currently controllable via the remote control. Is there a way I could use this mechanism for controlling the gimbal's tilt in addition to (or instead of) the RC? Please note that I don't need any sort of RC manual control of the gimbal – I am only looking for autonomous control.
Regarding this last point, at this link (https://docs.modalai.com/voxl-m500-gimbal-user-guide/#wiring-guide) the PWM output connector on the VOXL-Flight to control the gimbal are reported. Is there any way to send commands from the MAVSDK and control the PWD outputs (PWM_CH5 Gimbal Pitch/Tilt Control and PWM_CH6 Gimbal Yaw Control) accordingly to our algorithm needs? Again, removing/overwriting the RC gimbal control would be just fine for me as I don't need it to move manually from the RC. Any advice would be great.
Hi @Daniel-Ryu ,
I don't know
gimbal.py, where is that from?
The user guide describes how one could send RC_OVERRIDE messages, we don't have an example of this, but it's been used and is OK if you aren't using manual RC control (sounds like that's the case).
MAVSDK Behavior with MAVLink MAVSDK works by sending MAVLink commands to the flight computer in order to control the drone. When the drone is being operated by MAVSDK, it is placed in “offboard” mode. During operation in “offboard” mode, the drone is still able to respond to “RC_CHANNELS_OVERRIDE” commands if configured correctly. This allows the user to manually control gimbals using RC pass-though from the RC input to PWM outputs. Though “RC_CHANNELS_OVERRIDE” commands work at the same time as MAVSDK is operating, they do not work if an RC transmitter is connected. The flight computer will only respond to the first type of input it sees. If the flight controller receives “RC_CHANNELS_OVERRIDE” MAVLink messages first, then all RC transmitter input is ignored until the flight computer is rebooted. If the flight controller sees RC transmitter data before any “RC_CHANNELS_OVERRIDE” MAVLink messages are received then all “RC_CHANNELS_OVERRIDE” messages are ignored. MAVSDK can operate regardless of which form of input is used (“RC_CHANNELS_OVERRIDE” messages or RC transmitter input) but when in offboard mode, MAVSDK will cause the flight computer to ignore flight control input for thrust, yaw, roll and pitch. All other RC channel inputs will be honored if appropriate (such as an RC channel configured to be an RC pass-through.)
Please note: the gimbal has no mechanism of feedback besides visual... so a program will not be able to know the state of the gimbal... Typically, good gimbals cost more money then the m500 by itself!
There are gimbals with UART interfaces that allow straight MAVLink to talk to them as well.
Second note: we are not able to source this low cost gimbal anymore.
The PX4IO/AUX (additional MCU) does make gimbal control much easier from what I understand, but this is not on the FlightCore (similar to other "racer" form factors).
That said, it's "possible" to use the RC_CHANNELS_OVERRIDE command to control channels 5/6 (we've seen this done via an Android program from a tablet).
@modaltb Will Modalai be replacing or utilizing a different gimbal then, since the low cost one is not supported any longer? Or will premade and/or preorded gimbals not be supported anymore by Modalai?
We do plan to bring the gimbal version back to life, hopefully by the end of the year. We have other, higher priority, products in the pipeline right now.