A PX4 based camera pointer
Michael Hope 87985d3b99 build: fix up the paths after switching to juju.nz 5 months ago
analysis analysis: add license files. 1 year ago
ansible ansible: add rules to install and start mavproxy. 2 years ago
etc pipoint: run gofmt -s 1 year ago
hardware hardware: pull the bracket arms in by 2mm. 1 year ago
param build: fix up the paths after switching to juju.nz 5 months ago
pipoint build: fix up the paths after switching to juju.nz 5 months ago
util pipoint: shift param and util under their own packages. 1 year ago
vendor/gobot.io/x pipoint: patches have landed upstream, so point to the upstream gobot. 1 year ago
.gitignore etc: add .gitignore. 2 years ago
.gitmodules pipoint: patches have landed upstream, so point to the upstream gobot. 1 year ago
.travis.yml build: enable coverage as part of travis-ci. 1 year ago
CONTRIBUTING.md license: add LICENSE and CONTRIBUTING. 1 year ago
LICENSE license: add LICENSE and CONTRIBUTING. 1 year ago
Makefile build: fix up the paths after switching to juju.nz 5 months ago
README.md build: fix up the paths after switching to juju.nz 5 months ago
audio.go build: fix up the paths after switching to juju.nz 5 months ago
cycle.go build: fix up the paths after switching to juju.nz 5 months ago
elog.go pipoint: move the Go files to the root so `go get` works. 1 year ago
filter.go pipoint: fix some spelling mistakes. 1 year ago
filter_test.go pipoint: move the Go files to the root so `go get` works. 1 year ago
hold.go build: fix up the paths after switching to juju.nz 5 months ago
latlon.go pipoint: fix some spelling mistakes. 1 year ago
latlon_test.go pipoint: move the Go files to the root so `go get` works. 1 year ago
locate.go build: fix up the paths after switching to juju.nz 5 months ago
orientate.go build: fix up the paths after switching to juju.nz 5 months ago
overview.svg pipoint: add extra states and auto change based on remote input. 1 year ago
pipoint.go build: fix up the paths after switching to juju.nz 5 months ago
rpipwm.go pipoint: move the Go files to the root so `go get` works. 1 year ago
run.go build: fix up the paths after switching to juju.nz 5 months ago
run_test.go pipoint: move the Go files to the root so `go get` works. 1 year ago
servo.go build: fix up the paths after switching to juju.nz 5 months ago
servo_test.go build: fix up the paths after switching to juju.nz 5 months ago
servoblaster.go pipoint: add a driver for the Raspberry Pi servoblaster. 1 year ago
types.go pipoint: move the Go files to the root so `go get` works. 1 year ago

README.md

pipoint - a PX4 based camera pointer.

Some time ago I set up a camera, pointed it at the sky, and recorded as I flew my model plane about. It was quite cool, but the plane covers so much area that most of the video was of blue sky.

PiPoint solves this problem by automatically pointing a ground based camera at the rover using GPS, a telemtry link, and pan/tilt unit.

Implementation

Overview

The system consists of:

On the rover:

In the base station:

Assembling this is left as an exercise for the reader :) There are some photos on my blog.

Build

  • See hardware/ and https://www.tinkercad.com/dashboard/search?q=pipoint for the camera adapter.
  • See ansible/ for rules to set up the Raspberry Pi.
  • See etc/ for files used on the PX4 or Raspberry Pi. Copy extra.txt to etc/extra.txt on the PixFalcon SD card.
  • See Makefile for shortcuts to build pipoint itself.

Note

This is not an official Google product.

-- Michael Hope michaelh@juju.nz mlhx@google.com