Visualizing the tension on wire for a suspended mass with python

I’ve been playing around with the idea of building a rig to suspend an object, like a camera or prop, using three wires and then control its position in 3-D space using a few stepper motors and a micro-controller. The general idea is similar to the skycam system they use at football games and other pro sports, or a large scale delta robot. The first thing I needed to figure out was how much I wanted this rig to be able to hold and how much tension (force) would be required to hold and move this weight around. Additional I wanted to be able to visualize the results so I could look for any peaks, valleys or other anomalies that would throw off my calculations. I ended up writing the python script below utilizing the mpmath, sympy and matplotlib libraries to calculate the tension on a wire due to a suspend mass at a specific height and plot it as the weight moves around the x/y plane. The image below is a sample of the output from this script for a 5 kg mass suspend 2.0 m above the ground with three anchor points at 3.0 m above ground level and each 120 degrees apart.


Continue reading



I’ve been working on a c library to simplify access to the gpio on the BeagleBone board for use with the robot I am working on. My initial pass at this worked decently but was not as flexible as I had hoped. Over the past week or so I’ve been re-writing the majority of the code as a base class and set of derived classes to handle the various pin functions. So far I have objects to handle accessing analog pins, basic digital gpio I/O, and serial ports. The results of my work can be found at:


BealgeBone unexport gpio script

This is a simple bash script, that took way to long to get correct, to unexport all the of exported gpio pins on your BeagleBone board at once.


for file in $GPIO
  if [[ $file =~ (.*)(gpio)([0-9]+) ]]
    echo "unexporting gpio${BASH_REMATCH[3]}"
    echo "${BASH_REMATCH[3]}" > $UEXT