Gimbal Creator Letter – Ben Hollerer

Frank GouldSun, May 12, 5:28 PM (3 days ago)
to Benjamin

Hi Ben,
I can’t believe it has been so long since we last connected.  I’ve made great progress with the whole rover concept prototype and documenting it.  Below is a link to an online “data sheet” I drafted to show the components and features of this prototype version.

Of course, the most important and prominent feature is the exquisite gimbal you designed and created!  Your gimbal is still my favorite remote control device I’ve worked with and in the video you can see a demo of it in action using a touchscreen remote control.

Ironically, I’d love to keep working with the gimbal motor software to try some other options based on your original code.  Unfortunately, I’ve created a new rover prototype #2 design, using the same core technology, but it will not include a gimbal.  Regardless, I will maintain and upgrade this rover prototype #1 for future presentations, including Maker Faire Orlando in November 2019 which I intend to attend this year.  I would have attended last year but my prototype was not near enough ready for show time, nor was I for a booth when I learned about the show, about a month in advance.

You can see in the link below how close I was at the time, but my Linux OS was not fully operational, stable, nor reliable.

The reason I’m sharing this with you is to offer you an opportunity to “market” or brand yourself on my slide I’ll be showing at the show this year.  A Finnish kivy chatroom forum friend of mine accepted and I’ve included his name on a slide along with the brands I used to create the rover prototype, and I’ve included Thingiverse.
I also just scanned your email below and found a couple questions that I’m not sure now if I answered last year, so I have responded this time to be sure.

Two questions: How essential is this direct drive for your project? And how good are you in programming (general and python)?

1.  The direct drive functions great as I’ve implemented using your drivers with small increments and code stopping from going too far but there are glitches that I’ve not had time to debug or enhance.  What I would like to enhance if possible is when turning right, it goes too far right then backs up.  The left turn does not exhibit this same behavior but when I looked at the code I realized there is more to it than I expected and leads me to the answer to your second question:

2.  I am an integration (I also call it copy/paste coder/hacker) coder but that’s about as far as I go into the mathematics of gears, ratios, and matrices.  For example, the code I have “assembled” includes sockets for device communications, gimbal management code, wheel motors code, Wi-Fi access point mobility on a private network, and video streaming code.  The user interface is Kivy code, which works great on Arch Linux ARM.  Once I get to the level of python programming where it uses higher levels of structures and references, that’s where I get lost, like in your code.  I have had college classes that taught me how to calculate graphics manually, but it was a long time ago and not applied to python nor 3D spaces.  Which leads me to a response to your suggestion below.

Maybe i could give it a shot to implement the direct drive function (i got way more experienced with python in the last years), but i got lots of work to do right now, no functioning PTZ unit at my place and it will take at least two weeks…

I am interested in pursuing further enhancements to the gimbal and would love to help make something happen (no rush on the two weeks).  FYI, I sent my Finnish friend/mentor a RPi3B+ and 7” Touchscreen because of all his excellent help getting me over the learning curve hurdles across many technologies.  I would be willing to offer sending you whatever you might need to tinker with the gimbal code and see how it might work better in this rover prototype configuration.  Below, I’ve listed what I changed from your design to the rover configuration:

  1. Removed the trigger switches because I could not get them to work or stay in place.
  2. Used the python instantiate object to calculate the pan/tilt center for front calibration.
  3. Maintain a position coordinate to restrict turn too far left or right.
  4. Restricted the tilt to 90 degrees because in this application that’s all that’s needed.
  5. Modified the head plate to recede the camera to fit tightly within the glass dome.

I was also able to run the camera ribbon cable over the top of the housing and down through the base to pan 360 and so that it’s under the dome extending down into the RPi board.  For easier swapping out the camera, I included a ribbon cable extension plug (link below) but when I installed the final prototype camera, I learned they flipped their connector from what I had been testing with on a different camera.  So, then I had to flip the ribbon cable to make the camera work.  Really surprised me.

So, maybe we can come up with what you might need from me for you to setup a configuration like this prototype for further research or changes.  I can printout another gimbal, assemble it, and ship it to you with the motors setup to attach to a RPi to run it.  In the Maker Faire link above, you’d be able to do what I show in the gimbal video (not sure about power).  If you need the glass dome, I can send you one since it fits the base and I ordered several for test breakages that I’ve not had happen so far.  I’m not sure if you want my modified head because I’m not sure if this camera I used to fit it is the one with the flipped ribbon cable and its PCB may not be the same dimensions for other cameras.

One thing about me building this gimbal again for you is that I can quality check my US-version assembly guide of yours, for this rover configuration that includes the toggle switches, as options.  Maybe together we can refine the code and assembly to fix what I couldn’t for the switches to work.  I’d be glad to post it and my gimbal code on github or other sites to collaborate and publish once we confirm it all works.  Not sure where to go with this.

Let me know what you think.  When I started this email, I was just going to let you know I had finished my prototype then it grew into this dissertation after I found your questions.  I am seriously interested in your reply and opportunity to move forward.  At some point, I may even need a robot arm that could be a morph of this gimbal design, who knows?

  • All the best,
  • Frank Gould