The thing that catches everybody
There are two different clicks, and they are not the same click.
One starts a photograph. One starts a painting. The arm beeps and then
waits for a left click on the mouse before either, every time, and it
will wait all day. Nothing is stuck: it is waiting for you.
A portrait does not jump the queue. Somebody who has just
been photographed is not about to watch their picture appear. It joins the
same queue as the drawings and gets painted in turn, forty to ninety
minutes a job. Tell them when to come back.
A portrait, start to finish
- Sit them in the chair, facing the arm, with the plain background
behind them. The pose is taught once and is not redone
per person.
- They press New person on the portrait page. That only
asks. Nothing moves.
- The arm beeps. You click. That click means a person is
in the chair and knows the machine is about to move.
- The arm turns to the taught pose and frames their face,
panning and tilting until it sits on the mark, because everybody is a
different height. A few seconds. If it cannot find a face in 45 seconds
it gives up, parks, and the page says so. Have them sit up, look at the
camera, and press it again.
- It takes one photograph, after it has stopped moving,
and turns it into 1260 dabs in memory. The photograph is never saved to
anything.
- They see the render and choose: Paint it,
Another go (runs the whole thing again from the click),
or No thanks (nothing is kept, because there is nothing
left to keep).
- Paint it puts it in the queue. The arm parks at Home and stops.
Painting whatever is in the queue
- Put blank paper down on both sheets before you click.
This is what the pause between jobs is for.
- The arm beeps. You click. It paints the oldest job first, both copies
together, so the two sheets finish at the same time.
- It beeps when the job is done. Take both sheets off.
One for the wall, one for whoever made it.
- Fresh paper down, click, next job.
Before any of it works
Two things have to be true, and both survive a reboot, so this is a
once-per-setup check rather than a daily one.
- The portrait pose has been taught. If it has not, the
page says the arm has not been told where to look, and no amount of
pressing helps. Someone has to hand guide the arm onto the chair once.
- The camera service is running. Without it there is
nothing to look through.
systemctl is-active kinova-stream pointillism-pad pointillism-queue
Three lines saying active is what you want.
When nothing is happening
Work down this list and stop as soon as something works. Most stops never
get past the first line.
- Click the mouse. It is almost always this. The arm is
waiting for a person, which is the design, not a fault.
- Read the page. If a portrait failed it says why, in
words. If the arm is painting, New person is switched off on purpose and
says how long is left.
- Hand guide it clear. Wrist button to go compliant, lift
the tool up and back, let go, click.
- Ask what has the arm. Only one thing may drive it at a
time.
python3 ~/kinova/armlock.py
It names what is holding it, or says nothing is.
- Power cycle the arm. There is a state where it reports
itself perfectly healthy and refuses every move, and nothing but this
clears it. If a five degree jog is refused, you are in it. Do not spend
forty minutes first; somebody already did.
If somebody asks about the photograph
It is never stored. It exists inside the machine for about a second,
becomes 1260 cells of colour, and is gone. There is no folder of faces and
no setting that makes one. If they say no thanks, nothing is deleted,
because nothing was ever written down. You can say all of that plainly.
The other pages
Setup is where the paper and pots are placed. The pad and the portrait
page are the two visitor pages. The display is for a screen on the wall.
Studio setup
Anything this page does not cover is in README.md beside the
code, which goes into a great deal more detail about why the arm refuses
things.