Using a IMU flight controller to control the orientation of a free falling robot

AndrewJJ

New member
Hey everyone!
I am working on a project to build a robot that could control it's orientation while being thrown into the air (the robot is a small cube). The robot uses 3 reaction wheels to orient it's self mid-air.

I am currently using a IMU and a Raspberry Pi 3 to process data and control the robot's reaction wheels. But my brother told me I could use an hobby drone autopilot device and modify it to control the 3 reaction wheels instead of 4 propellers.

Do any of you know if it would be possible to do that? and if yes which autopilot device has a flexible enough software to modify it according to my needs.
Butterflight seems like a good option but I want to know you guys's take on it.

If not I will keep using my Raspberry Pi and look for some good Python libraries!
Thanks!
 

Craftydan

Hostage Taker of Quads
Staff member
Moderator
Mentor
Absolutely, in pretty much any of the *flight family of ROMs, but you'll need to:

- change the mixing in the board to map the outputs to the axies they control
- convert the PWM output of the controller to the control signals for the reaction wheels themselves -- 1500ms pulse = no torque, 2000ms = full positive torque, 1000ms = full negative torque.

The first is a bit of a programming exercise in the CLI (Command Line Interface). I expect a little RTFM is in order, but you'll be fine.

The second . . . that's a lot less trivial if you don't already have a solution. You *could* use ESCs, but they control rotational velocity, not torque -- one derivative off. It may be possible to play with open source ESC ROMs, but that's not a trivial task. Take a look at BLHeli for a good open ROM ported to quite a few ESC models. One word of warning, not every ESC that claims to be BLHeli is, nor are all compatible ESCs equally easy to program. Look into the BLHeli compatibility lists before you select.
 

AndrewJJ

New member
Absolutely, in pretty much any of the *flight family of ROMs, but you'll need to:

- change the mixing in the board to map the outputs to the axies they control
- convert the PWM output of the controller to the control signals for the reaction wheels themselves -- 1500ms pulse = no torque, 2000ms = full positive torque, 1000ms = full negative torque.

The first is a bit of a programming exercise in the CLI (Command Line Interface). I expect a little RTFM is in order, but you'll be fine.

The second . . . that's a lot less trivial if you don't already have a solution. You *could* use ESCs, but they control rotational velocity, not torque -- one derivative off. It may be possible to play with open source ESC ROMs, but that's not a trivial task. Take a look at BLHeli for a good open ROM ported to quite a few ESC models. One word of warning, not every ESC that claims to be BLHeli is, nor are all compatible ESCs equally easy to program. Look into the BLHeli compatibility lists before you select.
Thanks a lot, I'll be looking into that!