28 December: see
blog
355.
27 December Blog
354
RaspberryPi3 & PiXtend: New
attempts to find out why an output LED doesn't function...with an
unexpected result. Then using the oscilloscope to find out why I
don't see any signal at all...again with a surprise. Click the
image to watch the video.
Mirft2: After last time, I
need to figure out if an image is actually grabbed so I change the
Python code. What's the result? Then, I switch firmware to check
with iPad and Andoid, and find a property about accessing the
camera. But how about the motors? Finally, making the video a bit
longer than intended, a bit with Blender3d finding something I
don't really like... which has consequences. Click the image to
watch the video.
BeagleBoard & rollertrack:
Trying to improve the lower track again and need to make a
modification. But will it work? Coming up with another
idea...Click the image to watch the video.
20 December Blog
353
ESP32: Another (last?) attempt
to make something of the keypad. Changing the algorithm seems to
work, but not consistent? What do the signals on the oscilloscope
say? Click the image to watch the video.
Arduino Mega2560: How easy
is it to go back from using Octave to AVR-C and have an LED blink?
Click the image to watch the video.
Hand: Focus is this time on the
pitch of the hand. How is the sensor detected? Does the motor
reverse direction? How does the hand-hangup work out? Is the
Python still correct? Diagnose gives a clue. Click the image to
watch the video.
13 December Blog
352
Hydraulics: Before trying
to push and pull the piston, I need to reconstruct the motor with
chain. After that, I find that things may not work the way I
envisioned. Althoug both diagnose and Python work, a question
about speed pops up? Also a connection may need some more thought.
Click the image to watch the video.
Discovery: Starting with
the default firmware, to catch up with the failed blog of 29
November and the camera on tablet. Will it show? The camera
modification is done again (much better visible on the
instagram
post). RoboPro does it again, or not? And some driving via Python.
Click the image to watch the video.
RaspberryPi2 & ROS:
Continuing with the ft_LED node to get message 3 working, I change
the count code, but will it do as I think? Then, using my
smartphone as a lamp, does the phototransistor do anything? For
compilation, I use the Macbook & VNC, but what's the result?
Click the image to watch the video.
6 December Blog
351
RaspberryPi3 & PiXtend:
Trying to get further, meets with a password issue, followed by
checking signals and finding yet another digital problem. How to
fix that one? Click the image to watch the video.
Mirft2: Starting with the
default firmware to test camera and motors, some things don't work
out the way I envisioned. In the community firmware. things even
go worse, but have to improve my pic code. RoboPro gives in, but
why? Click the image to watch the video.
BeagleBoard & rollertrack:
Continuing where I left last time: testing the lower track.
Observations make me decide to reconstruct several parts of the
track, but will they help? Running the Python program shows and
gives some insight again. Click the image to watch the video.
29 November Blog
350
Hydraulics: After the
first introduction, I want to add robotics via the RoboInterface
using a chain. Of course this requires some software, which is
where the oopses come in. What's up with Python, diagnose and
RoboPro? Click the image to watch the video.
Discovery: I was in the
process of recording a video, when I found out (rather late) that
the wrong microphone had been auto-selected. So, apart from the
usual 2:30 minutes intro, 9 of a 15 minutes video were without
audio. And in those 9 minutes a lot of interesting things
happened.
- the TXT interface worked on the AC adapter again
- I modified the angle of the USB camera to get a much better view
- using the default firmware and the Android tablet, I (after some
attempts..) managed to drive (ride?) the robot towards the
familiar objects. One onscreen joystick to control 2 motors turns
out not to be very handy.
- after changing to the community firmware, I find (again?) that
the RoboPro test-screen only works when the FT-GUI (so the GUI
from the default firmware) is selected. Then a motor test on full
speed makes the robot turn and the power go off and not coming
back. OOPS. A battery pack isn’t charged yet, so I start charging
one but in the meantime, what to do?
- I consider recording a voice-over, but Audacity doesn’t
recognize the PulseAudio microphone… it only shows ALSA for audio.
Yikes.
- Already being evening, making no money out of it, considering
the time needed to find out how to record 9 minutes of voice-over,
record a Blender3D segment, edit the whole video and upload it, as
well as putting it on Instagram and Twitter..... so I decide to
discard the made recordings.
-- Question: should I have published the partly silent video
anyway?
Hand: Focus is on the
counterweight: can it be stabelized? Some tests reveal also a
wiring issue (or more..) and a power issue. After solving those, a
close observation reveals a more serious problem with the arm. It
can be solved, but will it contribute to the balance? More tests
should reveal if the pitch keeps working. Click the image to watch
the video.
22 November Blog
349
ESP32: Focussing on the
keypad, I decide to measure with the oscilloscope straight on the
board. This gives some results which also confirm issues. Then a
short focus on the motors. Click the image to watch the video.
RaspberryPi2 & ROS: First I
need to check if everything that did work, still works. Then,
finding that I'm too happy with the flashlight...how can I replace
it? Finally, I decide to add a 3rd ft-LED message to do something,
but that's not entirely working out. Click the image to watch the
video.
15 November Blog
348
Mirft2: Starting with testing
the default firmware using RoboPro and the Android TXTcam app.
Then switching to the community firmware, doinf the same test and
Python. What are the differences? Some oopses? Click the image to
watch the video.
BeagleBoard & rollertrack:
Focus is to get the lower track working, but it seems that the
lower chain isn't properly positioned. So reconstruction is
needed. After that, what works (better) and what doesn't? Click
the image to watch the video.
8 November Blog
347
Hydraulics: Introduction
to a new experiment: set-up and testing. How to add
computerisation of robotisation? Click the image to watch the
video.
Discovery: First focus is
on the password of the new firmware, after which I get the idea to
use my Android tablet for trying the camera. Meanwhile, I get
another idea for an experiment. RoboPro works nicely (for a
change) and the final act is again for Blender3D. Click the image
to watch the video.
Hand: Due to (un)balance of the
counterweight, I realize I have to reconstruct it: move some of it
to the bottomside of arm. But how will this work out? Click the
image to watch the video.
1 November Blog
346
RaspberryPi3 & PiXtend:
After the intro, an oops comes up. But why? Another attempt to get
CodeSys installed using winehq. So what's the result? Apart from
that, how to get the digital-input working? This ends in a little
oops. How to continue? Click the image to watch the video.
Mirft2: Now the firmware
upgrade has succeeded, trying to get RoboPro get some testing
done, and some pictures using Python. Then trying a new version of
Blender3D: 2.80. What will happen? Click the image to watch the
video.
25 October Blog
345
ESP32: Continuing with the
keypad, can I get to know more? Using the oscilloscope, changing
wiring, checking the C code, watching the monitor? Click the image
to watch the video.
Discovery: Starting with
another attempt to upgrade the firmware: will it work and how?
Then, testing it all, finding a password oops, and floortesting.
Finally, Blender3D: an oops and an addition. Click the image to
watch the video.
RaspberryPi2 & ROS: New
attempt to get the response from the phototransistor to the LED
faster. This leads to a small code change with an unexpected
result. So what's next? Click the image to watch the video.
18 October Blog
344
RaspberryPi3 & PiXtend:
After the intro, I'm trying to get CodeSys installed using WineHQ.
As this doesn't go smoothly, after some time I run the python code
on the PLC and find a wiring issue. At least something works
again. Click the image to watch the video.
Mirft2: After the intro, I
try to test. Which results in a firmware battle. How will it end?
What does Python do? A short view on Blender. Click the image to
watch the video.
BeagleBoard & rollertrack:
After a bit lengthy intro, introducing a new but as-yet unusuable
part, I decide to use the HDMI monitor again. Needing a keyboard
and mouse (in my case: ergonomic trackball). If this works out, I
might work via VNC as well as on the BeagleBoard. Then, time to
test and change the speed of the lower track chain. What will
happen? Click the image to watch the video.
11 October Blog
343
ESP32: Checking the motors and
keypad using the oscillscope. Need to rewire, but analysis has to
bring clarity to that. A signal doesn't show, but the devices seem
to work? So what's up? Click the image to watch the video.
Discovery: Trying to
update firmware for new options, but what does ROBOPro do? What
can be updated? Next a floortest with Ok result, although could be
better. Finally modelling further using Blender3D: adding up.
Click the image to watch the video.
RaspberryPi2 & ROS:
Focussing on the fischertechnik phototransistor and the
LightEmittingDiode (LED): can I make the replacement work and see
the result: 1-> 0 -> 1? Somehow it seems to work, but
there's some time issue. Will adding spin rate help? Click the
image to watch the video.
4 October Blog
342
RaspberryPi3 & PiXtend:
First question to answer: would using 24V be better than 12V? The
answer is somewhat unexpected. Then, further with testing the
relais and digital in- and output. Some unexpected results results
in some code changes. But how to continue? Click the image to
watch the video.
Mirft2: Booting and testing
the motors again gives some oopses, but why and what happens? Then
Blender3D: which gear is which? Click the image to watch the
video.
19 September Blog
341
Discovery: Testing the
trajectory again: how does it work with the hindwheel in a
straight line? Then Blender3D: adding blocks according to the real
robot... and finding that it isn't all black or same direction or
size. So the first attempt was wrong, but is this right? Click the
image to watch the video.
BeagleBoard & rollertrack:
Testing again and adding a fixed angle for the balls in the lower
track curve. But does it work out? What else can go (or goes)
wrong? Click the image to watch the video.
13 September Blog
340
ESP32: At start, I find the
servomotor in action but w/out software. So, what happens w/
software? I needed to fix the 3V3 wire, but is that of influence?
More tests on RAM vs. flash give more food for questions. Click
the image to watch the video.
Mirft2: Starting with a gear
test using RoboPro and Python. It doesn't go well till the end,
but why? The imaging isn't as good as last few times. Distance?
Light? Position? Blender: adding gears but somehow the gears seem
to point to eachother? Click the image to watch the video.
RaspberryPi2 & ROS:
Continuing with the phototransistor: do I get a 1 and 0 with
charged batteries in the flashlight? A search find an loose wire,
but is that it? Adding a piece of code to show a variable? Do I
need to check the circuitry for signal? Click the image to watch
the video.
6 September Blog
339
RaspberryPi3 & PiXtend:
Testing the digital output and RS232, raises the question what can
be seen on the relais 0 - 3. Does it help adding more wires and an
LED? What does pxauto show? What's next? Click the image to watch
the video.
Discovery: Testing course,
hindwheel, oops, Blender3D, colour, duplicates, oops. Click the
image to watch the video.
BeagleBoard & rollertrack:
Tesing the track leads to a problem, which point to an angle
issue. Then, the lower curve is still a pain. Adding more support
may help. More tests to follow. Click the image to watch the
video.
30 August Blog
338
ESP32: Focus is on the buzzer:
can I set the time short? Also: wiring the servomotor when the
fischertechnik motor seems to work. What's wrong with what? Some
other wiring oops as well. Click the image to watch the video.
Mirft2: Starting with a test
of the motors using RoboPro, with a little touch it all seems to
run nicely. What if I use Python? Then, the imaging: does it still
look nice? Next Blender3D: adding another gear. How will it work
out? Click the image to watch the video.
RaspberryPi2 & ROS: Message
debugging coniinues. Is it the algorithm? Is it number vs. string?
It looks like some good result, but when light doesn't work
nicely...oops. Click the image to watch the video.
23 August Blog
337
RaspberryPi3 & PiXtend: A
continuation with digital output signals, relais and RS232 with a
small extension of the Python code. Connecting to grond solves 1
thing, but what's on next? Something is not as expected. Click the
image to watch the video.
Discovery: Testing
course, battery low in datalog, battery to AC, Blender3D:
wireframe to solid, adding wheel. Click the image to watch the
video.
Arduino Yún S2: Another attempt
to get life back into this board. Using a sketch from the internet
with a small modification. But getting access to the interface has
some issues. The serial terminal works, but what's with Rx? Also,
why does it seem to freeze? Click the image to watch the video.
16 August Blog
336
ESP32: Last time, I noticed
the buzzer doesn't stop and the 7segment display keeps burning. So
how does any GPIO with the toolchain top? Some testing reveals an
oops and after a quick fix it works. But the buzzer sound is very
irritating and sounds on camera way louder than in reality.
SORRY!!! Click the image to watch the video.
Mirft2: After a problem with
the connection, I had to reboot. Next: testing sensors and motors
using Python. Grabbing an image with OpenCV and modelling with
Blender3D for gear orientation. Click the image to watch the
video.
BeagleBoard & rollertrack:
Testing the lower trajectory again, and finding I need to
reconstruct 2 parts: looping and ending. But will it help? Click
the image to watch the video.
09 August Blog
335
RaspberryPi3 & PiXtend
Continuing with the digital output and testing using Python and
pxauto. The oscilloscope shows nice signals but do they make
sense? A short look at the RS232. Click the image to watch the
video.
Discovery: Starting with
intro & 2 tests. How do they go? Then on with Blender3D: some
changes and additions. Once again: what's with the metrics? Click
the image to watch the video.
RaspberryPi2 & ROS:
Continuing with the double messaging from the fischertechnik (ft)
phototransistor to the ft LED. After some more attempts there's
improvement, but something is missing. Click the image to watch
the video.
02 August Blog
334
ESP32: Starting with a test on
both ArduinoIDE and IDF toolchain, I add an LED segment and the
buzzer. But somehow I've made a mistake. Quite audibly. But how to
solve it? And the motors? Click the image to watch the video.
Mirft2: Checking on gears
again using RoboPro and Python, grabbing an image using OpenCV and
trying to add another gear using metrics. But what's the result?
Click the image to watch the video.
BeagleBoard & rollertrack:
Testing the system again and finding a weird oops. After fixing it
(with a need to fixation), how about the other places? Click the
image to watch the video.
26 July Blog
333
RaspberryPi3 & PiXtend:
Focus is on the LEDs that either indicate the pulsewitdhmodulation
OR the digital output. So using pxauto and changing the Python
algorithm a bit. And what does the oscillscope show? If
anything...... Click the image to watch the video.
Discovery: Focus on some
more testing with various results, changing to AC and introducing
Blender3D for creating another model. Click the image to watch the
video.
RaspberryPi2 & ROS: A new
attempt to get the numbers and messages coming through. Finding a
previous comment-out was not ok, but how to send 2 messages? Time
for trial & error. Click the image to watch the video.
19 July Blog
332
ESP32: Testing the motors
gives mixed results. But what do the signals on the oscilloscope
show? Adding more LED segments to the toolchain/code needs a fix
but works. But again, those motors. Click the image to watch the
video.
Mirft2: After booting, a
short test with OpenCV to check images using ImageMagick. Then
adding datalog to the algorithm and in Blender3D, modelling by
adding gear & metrics. Trying reveals a way that just may
work. Click the image to watch the video.
BeagleBoard & rollertrack:
Testing the whole system results in another reconstruction and
another modification. Will it all work out or just not? Running
Python and the diagnose software bring an answer. Click the image
to watch the video.
12 July Blog
331
ESP32: Using the ESP-IDF
toolchain, I try to fix the LDR. Then, focus shifts to the motors
and the voltage level. What about a wire check? Then, using the
ArduinoIDE, another check and timebase change. What does it tell?
Click the image to watch the video.
RaspberryPi: After the intro, I
check for the datalog. Somehow this time it works better, but
still not all is explainable. With oscilloscope at a different
timebase, all signals (SPI & RS232) are visible, but nice?
Finally, a test on the Android tablet, with a nice result. To be
continued?! Click the image to watch the video.
Mirft2: Testing the gears
again, which gives some unexpected results and needs a small fix
in the code. Also, a datalog is missing. Further with Blender3D
and gears. What's with the numbers? Click the image to watch the
video.
RaspberryPi3 & PiXtend:
Focus is on the pulsewidthmodulation: with changes in algoirithm,
jumpers and settings, will it finally work? Then the Octave
datalog: a small change, but what's the result. An epilogue shows
it. Click the image to watch the video.
Discovery: Continuing with
the addition of distance differences to the datalog with some test
which have varying outcomes. Click the image to watch the video.
RaspberryPi2 & ROS: Focus
on publishing msg2 from the phototransistor to the ft LED. Why
does 1 msg work and another not? Would eliminating a wrong-placed
publish work? Charged batteries for sure do work. Click the image
to watch the video.
BeagleBoard & rollertrack:
Trying to fix several things: chain, lower trajectory. The first
needs a reconstruction, But what's the result? Nice or oops? Or
both? Click the image to watch the video.
5 July Blog
330
RaspberryPi: Another attempt to
get the data from the MCP3008 ADC via SPI & Python and RS232
& Octave readable in a datalog. Finally, 1 single character
makes a big difference. Click the image to watch the video.
ESP32: Trying to get the LDR
working, results in an oops. It's input but not as I thought. So
while the ArduinoIDE works well, something with the code in
ESP-IDF has some oddities. Click the image to watch the video.
Mirft2: It's time for an
attempt to fix the right-side hind-gear. But will it work? Next,
testing showing that the screen-input of the software needs
specific input, so I have to change the variable somehow. Next,
modelling in Blender3D: what's with the gear's width? Click the
image to watch the video.
RI-BASIC: Continuing with
the output from BASIC and Octave. Changing the algorithms and
adding time works, but not the way I want it: some mismatch
(again). Click the image to watch the video.
Discovery: Focus is on the
distance: what is the difference between the distance_left of the
encoder motors? Can it be used for correction? After some testing,
it's clear (once again) that testing isn't easy. Click the image
to watch the video.
RaspberryPi2 & ROS: Focus
again on the numbers and counts as message and stringstream.
Comparing the code of phototransistor and control gives a surprise
and a new direction to look. But to look for what? Click the image
to watch the video.
BeagleBoard & rollertrack:
Testing the trajectory at the switch and the big lower curve. This
ends with modification at the switch with a promising result. But
at the curve? No so sure yet. Click the image to watch the video.
28 June Blog
329
ESP32: Focus is to solve a few
compile errors. After doing so (with some mistakes), 1 issue
remains. But is it wiring or C code? And there's something with
the signals on the oscilloscope. But what? Click the image to
watch the video.
RaspberryPi: Focus is on the
datalog from Octave: why does it show bytes, not ASCII? Changes to
the algorithm shows some insight, but what's the real problem?
Also: what's the delay of piscope on Linux, Android and Mac?
Click the image to watch the video.
Mirft2: Starting with gear
testing via RoboPro, it's still very odd at the righthand side.
But how? Why? Looking at the Blender model, there's no real clue.
Then I do a test with OpenCV with larger distance with a surprise
result. Next, I decide to introduce manual speed change, but this
doesn't go entirely as hoped. Finally, with Blender, adding a gear
ends with another surprise. And I don't like it. Click the image
to watch the video.
RI-BASIC: Checking the code
and searching for reasons the output and Octave datalogs give
weird results. Introducing a new length indication, showing my
suspicion was right. So, how to go on? Click the image to watch
the video.
Discovery: First, how does
it boot this time? After some confusion, a first run and checking
the datalog, I decide to add code to prevent the distance from
going negative. But will it work? Some tests follow, but with
which result? Click the image to watch the video.
RaspberryPi2 & ROS:
Checking on the number sent from the phototransistor node, but
what's going on inside the node? Some typos, compiles and checks
furthers, something still doesn't make sense in sumbers. But how
come? Click the image to watch the video.
BeagleBoard & rollertrack:
Starting by adding an LED for the motor switch and changing the
wiring. Then reconstructing the wormgear of the motor, so the
transport of the tracks won't fail anymore. Finally, an overall
test. What will go wrong this time? Click the image to watch the
video.
21 June Blog
328
RaspberryPi3 & PiXtend:
First focus again on the serial connection: can I get something
over the line and into the datalog? Then: pulsewidthmodulation
(pwm) for 2 motors. Will checking the state of the pwm port
bring a solution? After recording the video, I find that the
Octave RPi3-PiXtend-datalog.txt does have data, but not exactly as
I expected: only a lot of 'h' characters. So it has to be
improved. Click the image to watch the video.
ESP32: First, a test using the
ArduinoIDE. What's (again) with the motors?Then, change to the IDF
toolchain. What can be done? Adding an LED, and adding input. But
what's wrong? Click the image to watch the video.
Hand: First focus is the holder
of the counterweight: it's not upright but should be. Then: I want
to change to the construction of last time with the sensor. But
how? Then, when testing, I find another big problem: the
construction is blocked by the yaw-sensor. How to solve that one?
Click the image to watch the video.
RaspberryPi: Focus is again on
the data aquisition from Python via Octave to the datalog. What's
wrong with the conversion to ASCII? I find some mistakes, but is
the one I'm looking for among it? Click the image to watch the
video.
Mirft2: First focus: the
gears. Why doesn't it work properly? Using gEDA, I realize I make
a mistake. After redrawing the schematics, and retesting with
RoboPro 1 question remains. But time to move on to OpenCV. It
doesn't look the way I want, but for now: ok. Then
animation/simulation with Blender3D comes with a bad surprise.
What's up with the gears? How to solve it? Click the image to
watch the video.
RI-BASIC: Checking BASIC
and Octave algorithms, code and output. After analysis, I find an
elementary mistake in a vector (easy to fix) but what's the end of
the data? Intro of extra output and a delimeter...which shows some
unexpected data about data. Click the image to watch the video.
Arduino Yún S2: First, I've
changed the power to the breadboard. But it won't work unless I
get the Arduino back to work. So attempts for reset and recovery
follow. Click the image to watch the video.
RaspberryPi2 & ROS: Testing
the fischertechnik LED again with the phototransistor. Some things
don't go right, though. And not just message-wise. Typos, hanging
processes, compilation. What more? Click the image to watch the
video.
BeagleBoard & rollertrack:
Focus is on the curvy trajectory and on the worm-gear. I decide to
add LEDs to use instead of probes, but this gives issues I find
out and fix later on. Rewiring brings solution. Ending with
testing. Click the image to watch the video.
14 June Blog
327
RaspberryPi3 & PiXtend:
First focus: the motors. Would it work with rewiring on both
fischertechnik & servo? Then: new attempt on RS232. Changes to
the algorithm on both sides reveals some more issues (oor
questions..). Click the image to watch the video.
ESP32: Focus is on ESP-IDF
toolchain, but first a quick test on the motors via de ArduinoIDE.
Some things just don't make sense. Then: programming more...an
LED? Using GPIO, via an example, just could work. Click the image
to watch the video.
RaspberryPi: Continuing with SPI
& RS232 for data aquisition to log, I find some oddities.
Using my Android tablet & Macbook as well because of space, I
find out what the Octave-logged numbers are. Which are correct,
but not how I want them. Also: some data is missing. But why?
Click the image to watch the video.
Mirft2: Starting with another
connection oops, the first focus is on HSV with a new strategy.
But what's the result? Then with Blender3D, trying gears animation
again. This reveals also that new parts are not really getting
nice with old. Click the image to watch the video.
RI-BASIC: Continuing with
improving algorithms in BASIC and Octave to get the data better
into the logs. Still mysterious missing of and changed characters,
But why? Click the image to watch the video.
Arduino Yún S2: Back to upgrade:
what happens if I can find an older OpenWRT image and try? If
anything, what can go wrong? Change IP addresses? Using Wifi only?
DHCP? What about connection USB to the computer? Click the image
to watch the video.
RaspberryPi2 & ROS:
Starting with the LED nodes that interfere. Then: an oops with a
publishing node, and why does integer not work out? Documentation
shows why, but does a change solve it? Multiple messages may be
better, but how to send them? Click the image to watch the video.
BeagleBoard & rollertrack:
Focus on the extended trajectory: why do the marbles stop? What's
wrong with the rest of the track? Reconstruction and modification
is needed. Click the image to watch the video.
7 June Blog
326
ESP32: Starting out with 2
motors: servo & fischertechnik. From the ArduinoIDE it works.
Then on with the riddle of the software: flash or RAM? Using
ArduinoIDE as well as ESP-IDF, things seems to get clear after
some attempts. Then, the oscilloscope shows an oops. But why?
Click the image to watch the video.
Hand: Focus is on the hand-lift
sensor, now that the motor has been relocated. This ends up in a
connection oops and a fix for the sensor. But it seems that each
solution brings another oops. Click the image to watch the video.
RaspberryPi: Focus is again on
the data aquisition by the SPI protocol and writing to datalog via
Octave.. To have something "to look at" via the raspicam, an LED
is rewired and algorithm is changed. Click the image to watch the
video.
Mirft2: First: connection
going wrong (sigh). Then: test using Python. It will go wrong, but
where exactly? Next: modelling and simulation/animation. Since
GazeboSim means starting from scratch, I decide to stay with
Blender3D. Intro gears, but how to simulate? What goes wrong and
why? Click the image to watch the video.
RI-BASIC: Trying to get the
datalogs filled with nice data. But why the garbage-looking data
in Octave? Trying to fix both algorithms, increasing the occurence
of "sonar". Finally, it becomes clear when you see content in
"gelijk"... oops. Click the image to watch the video.
Arduino Yún S2: Focus is to
upgrade the firmware, e.g. the Linux version. After meeting with
an old problem, I find a way around. Only to meet with another
issue: how obsolete is obsolete? Ending with a small program, to
have something to show. Where there's some delay again. Hm. Click
the image to watch the video.
RaspberryPi2 & ROS: Focus
is on 2 nodes: phototransistor and one still to be created. The
first needs to become a publisher as well. But how to do that? In
theory it's called intranode. But what's the practise? Click the
image to watch the video.
BeagleBoard & rollertrack:
Focus is again on the extended trajectory to the new chain with
magnets. What is needed to get the balls run nicely? Answer:
reconstructions. Result: some nice and some oopses. Click the
image to watch the video.
31 May Blog
325
RaspberryPi3 & PiXtend:
Focus is on the servomotor & fischertechnik motor with changed
pulsewidthmodulation jumper. Will it work this time? Also focus on
the RS232 connection. Why aren't the bytes sent over the line?
What does pxauto show? Click the image to watch the video.
ESP32: Focus is on the ESP-IDF
toolchain, but first a quick test with ArduinoIDE. This ends with
a USB error, but why? Then the toolchain...what's up? Again,
fischertechnik to the rescue? Click the image to watch the video.
Hand: Focus is on the
relocation of the hand-lift motor: from elbow to wrist. But what's
the consequence forthe balance? A solution is fond, with another
modification. And another oops, being solved. Click the image to
watch the video.
Mirft2: Using the elevations
for testing the gear to find out what the issue is. Then,
modelling again for metrics gives an oops for size. Then GazeboSim
seems to need a start from zero. Click the image to watch the
video.
RI BASIC: Focus again on
the datalogs: why isn't the "gelijk" ("equal") log being filled.
This turns out tbe (another) vector issue. After recording the
video, it showed that is (kind of) works: see the bottom of the
screenshots at the very end. Click the image to watch the video.
Arduino Mega2560 S2: As a
new attempt to use Octave, I decide to try the SG90 servomotor. It
runs on 3.3V, uses pulsewidthmodulation and has a ground wire. So
will this work according to the online info? Click the image to
watch the video.
RaspberryPi2 & ROS: Trying
to add another node for the phototransistor. By lack of VNC space
on the Fedora Linux laptop, I use the Macbook for this. But why
don't the motor and LED node stop when requested? Click the image
to watch the video.
BeagleBoard & rollertrack:
After starting, I find I have a networking issue. This means I
can't use the vnc. So the trajectory reconstruction has to be done
by hand. How will this work out? Click the image to watch the
video.
24 May Blog
324
RaspberryPi3 & PiXtend:
Starting with the pulsewidthmodulation: can I use a small
fischertechnik motor or a servomotor after all? What's with the
digital output signal? Some surprise... Finally, some RS323
testing again. Click the image to watch the video.
ESP32: Starting with the
servomotor, I try a replacement: a fischertechnik motor. What
works? What doesn't? Then ESP-IDF: I need a new version of the
toolchain, then flash and check the pulsewidthmodulation. Click
the image to watch the video.
Hand: Another attempt to fix
the hand-lift sensor, this time using a fixation and a block. But
will it all help? Extensive testing reveals the answer: I'm not
there quite yet. Click the image to watch the video.
RaspberryPi: Focus on data
acquisition using Octave and datalogs, I have to correct the way
the data is written. But with "LDR" being logged, how to deal with
"LDR2"? And what's with the numbers in the datalog? Click the
image to watch the video.
Mirft2: After another test
with Python, it's not only gears that go wrong. But it's the
focus, so Blender3D for metrics which comes with a surprise. Then
with the *dae file, using a web-tutorial, I manage to start
GazeboSim but find a problem
with links and objects. Click the image to watch the video.
RI-BASIC: Continuing with
the BASIC via Octave to datalog. But why is "gelijk" not appearing
anywhere? Adjusting the algorithm in both, things keep going odd.
But why? Click the image to watch the video.
Arduino Mega2560 S2:
Continuing with the playTone function from Arduino with Octave,
what's going on? Will replacing variables help? Finally,
introducing pauses where it shouldn't be, I get an idea of what it
should sound like. And I don't like it..(duh), but still a
mystery. Click the image to watch the video.
RaspberryPi2 & ROS: So now
that 1 node works (i.e. the motor), it's time to add a node.
Choosing the red LED, apart from copying and adjusting code, a few
changes need to be made in the settings. Will a new node run this
time? Then (by lack of space) using VNC on the macbook: will the
non-ROS C++ software run as well? Click the image to watch the
video.
BeagleBoard & rollertrack:
After placing the 3rd motor with chain, I have to write it to the
interface. Best way is rewiring the 1st motor. But what's up with
the power? After solving this (taking quite a bit of time), the
track is next. Click the image to watch the video.
17 May Blog
323
RaspberryPi3 & PiXtend:
Starting with RS232 rewiring for oscilloscope & data
reception. Checking out the LED for digital output. Intro of
pulsewidthmodulation for a servomotor. Intro of datalog in Octave
because of signalling. Click the image to watch the video.
ESP32: Following some hints, I
rewire the 7segment display and add resistors. What will the
result be? Also, I change the keypad library. Will this work out?
Finally, back to ESP-IDF to explore ending with an oops? Click the
image to watch the video.
Hand: First focus: changing the
hold of the counterweight. Then the hand-pitch sensor needs a
modification but how? Also, the direction needs a change. More to
come... Click the image to watch the video.
RaspberryPi: Focus again on
acquiring SPI data over the RS232 interface via Octave. Some
things don't quite work out, though. But why? Checking with
Android and MacOSX. What's with the datalogging? Click the image
to watch the video.
Mydfir: Because of some
issues, I decided to do another video after all: replacing the
buzzer by a lamp. But what's up with the sonar?! Click the image
to watch the video.
RI-BASIC: Focus is on
improving the datalog and intro comparing data. And what's up with
the inserted character (should be a space). Adding another datalog
for compares and get oopses. Click the image to watch the video.
Discovery: Testing and
changing the distance setting for the contact 1 & 2 conditions
gives unexpected results. But what to do with it? (apologies for
the bad audio during the screencast parts) Click the image to
watch the video.
10 May Blog
322
RaspberryPi3 & PiXtend:
relay 1 second, digital in/output, algorithm. Click the image to
watch the video.
ESP32: Starting with the
servomotor to see if it works (spoiler: it does after a while),
focus shifts to the keypad. Still a mystery after a few more
attempts. Then it's time to introduce ESP-IDF, which enables more
functionality. But how does it work? Click the image to watch the
video.
Hand: Focus on the yaw, I have
to modify the hand-pitch switch/sensor. But still, algorithm and
diagnose respond different. Why? Then a compressor issue has to be
resolved, More modifications are ahead. Click the image to watch
the video.
RaspberryPi: Using SPI again,
the focus is on getting indexing to work in Octave as well get
checking the datalog. Also, does piscope work again via Android
and Mac? Accidentally, I come across a VNC possibility of which I
thought it couldn't work. Click the image to watch the video.
Mirft2: After reconstruction,
how does it walk? How does the image-taking go? Finding more
trouble with the gears, the modelling using Blender3D seems not
quite correct. And it doesn't simulate. Being a robot, using
Gazebo may solve this. Click the image to watch the video.
RI-BASIC: Focus is on
putting the ASCII data vector into a datalog. But again, what's
with the bytes? Using C-style programming, I need to format it as
char. Will it work? Click the image to watch the video.
Discovery: Focus again on
distance and counters. After several additions to the datalog, I
find an oops in the code that explains why things may go wrong.
Click the image to watch the video.
Arduino Mega2560 S2:
Focus again on the duration of the tones. But also: can I get them
to show nicely on the oscilloscope? A settings-change seems to
work out nicely. Not so much for the keyboard interrupt. Why does
that oops now? Click the image to watch the video.
RaspberryPi2 & ROS: With
the wiringPi library successfully compiled and linked, does
anything really work? After some testing and changing settings,
some does and some doesn't. But why? If timing is equal and my
separate C++ program has the desired result, then what's
different? Click the image to watch the video.
BeagleBoard & rollertrack:
Focus is on the chain at the end of the track with looping. How
can I build it? How will the track go? After some attempts it
works, kind of.... because the power-controller seems to give
issues with the speed. Click the image to watch the video.
03 May Blog
321
RaspberryPi3 & PiXtend:
Focusses: RS232, digital input and voltage. Severe issues with the
oscilloscope make that I have to rely on a multimeter. This gives
non-plausible readings at first. Then, using ground, everything
works but what about screen-output? Introduction to relays, but
what's the difference between pxauto and Python? Click the image
to watch the video.
ESP32: Focus on keypad and
more: first checking the algorithm since the change last time.
Will it work or not? Then, introducing RS232 via TX/RX. This
raises a big question on voltage and safety, but also on signals.
What's up with the pulsewidthmodulation signal for the servomotor?
Something isn't right, but what? Click the image to watch the
video.
RaspberryPi: Focus again on the
processing of serial data through Python: Octave, minicom and
introducing datalog. How can the bytes be aligned similarly? And
more....Click the image to watch the video.
Mirft2: Using RoboPro, I find
that the motors do work, kind of. I need another major
reconstruction to fix the gears. After this, do they work? Yes and
no. Another try at pictures: oops but no time to fix. Click the
image to watch the video.
Mydfir: Testing the single
linefollowing sensor and getting crazy from the buzzer. The line
is followed to near perfection after a small change in the
algorithm. But what's with the buzzer? A simple run of the
calibration tool brings clarity. Click the image to watch the
video.
RI-BASIC: Continuing with
improving Octave to put data into a vector as ASCII. I finally
seem to manage. Then changing the algorithm in BASIC to make mmore
use of the switch. Click the image to watch the video.
Discovery: Focus once
again on the synchronization and contacts. Can I sync on speed? To
find out, I have to add more datalog entries. Except from some
more weird behaviour of the robot, I found my answer. Question:
was it helpful? In a way, yes. Click the image to watch the video.
Arduino Mega2560 S2:
Continuing with the tones and frequencies, I have to repair a wire
of the speaker. Fortunately, the cone isn't damaged (too much).
Changing frequencies, adding comments and changing time/duration:
what can I see on the oscilloscope, if anything? Click the image
to watch the video.
BeagleBoard & rollertrack:
Starting with a modification to stabilize the first curve from
top, I then focus on the transportation from the bottom curve:
screwpump or something else? Several tests go oops. Click the
image to watch the video.
26 April Blog
320
RaspberryPi3 & PiXtend: To
avoid more power-interruptions, I add a connection for the
power-supply to easily plug it. Also, DI jumpers are added. Then:
how to put voltage to additional electronics? The result gives
very weird levels. Click the image to watch the video.
ESP32: First focus is on the
7segment display: it needs relocation and rewiring. After that,
something odd shows with 1 of the segments. How come? Then the
keypad: what is read? When? Can I fake it? What's a char? Oops.
Click the image to watch the video.
Hand: Starting with a long
overdue motor replacement and rewiring. Then the focus shifts to
the yaw. What goes wrong where? Also: re-introduction of a camera,
but fps isn't nice. Click the image to watch the video.
RaspberryPi: Focussing on
getting the SPI results displayed in Octave and into vectors.
Conversion from byte to ASCII works, but what's up with getting it
into a vector? Double conversion seems to work but regexp sure
doesn't in my case. Click the image to watch the video.
Mirft2: Testing the new
motors doesn't go smooth. Observation leads to a new
reconstruction and addition. Also, the battery wiring goes oops.
What does OpenCV show? Click the image to watch the video.
Mydfir: Checking
linefollowing using the datalog file. Some weird results on buzzer
and colours...but why? Finally, sonar with objects also shows some
issues. Hm. Click the image to watch the video.
RI-BASIC: Continuing
getting ASCII via bytes and RS232. But I want to get them in a
vector or matrix. After some attempts, I manage to do it...but not
entirely the way I want (and like). Click the image to watch the
video.
Arduino Mega2560 S2: A new
attempt to get the speaker working from Octave is interrupted by
more issues. Following an idea, I find this
generator,
and have to adjust my algorithm. Now things work nicely, apart
from the duration. The oscilloscope shows something nice, but
still.... Click the image to watch the video.
BeagleBoard & rollertrack:
Continuing with the screwpump: can I get it working? What goes
wrong? Testing shows some oopses and another part that needs at
least a modification. Click the image to watch the video.
19 April Blog
319
RaspberryPi3 & PiXtend:
Focus again on the RS232 data communication. Why, what, how?
Adding functions to get more clarity, but does it help? Installing
pxauto to test the PLC: relais & digital. The latter needs
some jumpers. The HDMI monitor seems to work, but what's with the
input? And some power issues. Sigh. Click the image to watch the
video.
ESP32: Trying to find the
cause of the failure of the keypad, I check the algorithm, change
the wiring, and examine the headerfile background. This leads to
the conclusion that my assumption was wrong: instead of 3 faulty
line, there's only 1! But then: why no key detection? Click the
image to watch the video.
RaspberryPi: Starting with an
intro, I have an oops with VNC. Then with Python, getting RS232
connection with minicom and Octave. Via a wiring oops I solve the
data problem for SPI. Click the image to watch the video.
Mirft2: With new parts
arrived, it's time for the reconstruction: taking off the back
part and putting the motors in a new 2nd frame. Comparing it with
the Blender3D model, I have to find a new idea for the gears. And
program some too. Click the image to watch the video.
Mydfir: Changing the code by
completely commenting out the linesensors 3 & 4. But have to
be careful. And why doesn't it drive (or ride)? Several typos
later and checking with diagnose, I find the problem. But does it
follow the line? Click the image to watch the video.
RI-BASIC: Replacing the
croc-beaks by ordinary connections and a socket, things work safer
for the phototransistor. Testing a break-replacing variable
doesn't improve the code. Adding a keyboard intervention in Octave
does work, though. Click the image to watch the video.
Discovery: Going further
with the counter weirdness. Changing more print statements into
datalog input and testing again. Although the robot moves nicely,
comparing the data gives some more weird and questionable results.
Click the image to watch the video.
Arduino Mega2560 S2: Focus
again
on the duration of tones from Octave. Varying time, variable,
timebase of the oscilloscope and algorithm. And what's with the
disappearance error of the board? Click the image to watch the
video.
Raspberry2: Trying out more C
en C++ with a change in the algorithm with reading button and
light. Then, a new attempt on ROS: how can I use the linked
libraries (-l....) used with C and C++ compilation? How will it
compile? And what about the nodes? Click the image to watch the
video.
12 April Blog
318
Raspberrypi 3B & PiXtend:
Focus is again the RS232: what works and how? So I try multiple
options, new functions and combinations: Python, minicom, Octave,
an oscilloscope for the signals. After ending the recording, when
closing Octave, in the RPi3/minicom suddenly a lot a garbage shows
up. So is it a buffer issue? Click the image to watch the video.
ESP32: Focus is on the keypad.
So I attach the oscilloscope and change the algorithm a bit so
it's clear which gpio is column or row. Then finally it becomes
clear the rows give a problem. But how to fix? If possible....
Click the image to watch the video.
Hand: First I need to fix the
arm-pitch cord. Then after testing the yaw winch, I need to
reconstruct and replace. Will this work better? More
reconstructions are necessary. Click the image to watch the video.
RaspberryPi: Continuing with SPI
via the mcp3008 ADC, I want to expand the serial communication
using Octave. I also want to see the signals on the oscilloscope.
Both the Python and Octave algorithms need a change. Also using
VLC on the Android tablet to watch the raspicam. Click the image
to watch the video.
Mirft2: With focus on vision
and modelling, I start the community firmware and find again an
oops with login. After this, I need to find another (better?)
colourspace
conversion program doe
OpenCV
that, with some code changes, compiles and gives results that
surprises me. With Blender3D, modelling takes a turn when I resize
a simple block. Nice idea, but what's the consequence? Click the
image to watch the video.
Mydfir: Focus again on the
line sensors location and signalling. Using diagnose and a ruler,
I find that there's more than just mislocation. A reconstruction
seems needed. But that implies rewriting the Python code is needed
too. Click the image to watch the video.
RI-BASIC: Trying to get the
algorithm fixed which is stuck in the ">" while loop. And after
trying the maximum distancec (fail..) it works. But what changed?
Just some output? A small change in Octave makes it better
readable. What next? Click the image to watch the video.
Discovery: Focus is again
on the counters, but also on replacing screenoutput by datalog.
Making more tests give reason to think not just API functions but
also motors sometimes fail. But is it? Click the image to watch
the video.
Arduino Mega2560 S2: With
the focus again on the playTone() function in the Arduino for
Octave program. What does the time mean? Several test and
algorithm changes, but do they show what the solution is? Click
the image to watch the video.
BeagleBoard & rollertrack:
A very short video this time: introducting a a screw pump and
meeting an oops preventing me to actually bring it to life with
another (major?) reconstruction needed. Click the image to watch
the video.
5 April Blog
317
RaspberryPi3B & PiXtend:
Testing the serial connection again: baudrate, details with
minicom and Octave. Improving algorithms on both sides reveal some
issues. When signals show up on the oscilloscope, not all is
clear. But what's up? Click the image to watch the video.
ESP32: Focus is on the keypad.
How come everything else works? Putting the oscilloscope on
C1& 4 and R1 & 4, adjusting the timebase. I find what's up
signal-wise. But then what's with the code? Finally, I realize I
made a mistake and after making adjustments, I find another
problem with some signals. But how come? Click the image to watch
the video.
Hand: Focussing on the yaw, I
realize that I have to reconstruct the yaw gear. But how? Looking
at arm-base pivot and the hand-pitch, there's only 1 way that may
work. In the end, it seems to work. Kind of. Click the image to
watch the video.
RaspberryPi: Using a newly
installed Raspbian, I find that some library doesn't work. But
with the focus on RS232 serial communication, that doesn't matter.
Using minicom and introducing Octave I try to send words and
numbers. Will it work? Click the image to watch the video.
Mirft2: After using the HSV
colortool in combination with
darktable
with some doubtful results, I return to
HSV colorpicker. The question is why these
colourspaces RGB, BGR and HSV are so hard to convert. Further
modelling with
Blender3D:
applying more colour and more attention to size. This reveals that
parts may be not just too short...oops. Click the image to watch
the video.
Mydfir: Focussing again on
the linefollowing, I decide to do some distance measurements on
the sensors. Although these are ok, another measurement reveals
the big flaw. A modification needed but will it work out? Click
the image to watch the video.
RI-BASIC: Continuing with
the phototransistor, I did a bit rewiring and it still works. Then
the powermotor sticks in a loop but why? Changing the algorithm in
BASIC and in Octave, I'm in for a surprise with Minicom too.
Finally, with a small code change, I find a problem with the
sonar. Which explains what's up. But how to solve it? Click the
image to watch the video.
Discovery: Focus again on
the counter, with & w/out motor argument. This gives some odd
results, but what's the cause? And I need to change screenoutput
into datalog. Click the image to watch the video.
Arduino Mega2560 S2: Trying
out
another function for Octave: playTone(). With some restrictions, I
could be nice. Changing the algorithm, applying the oscilloscope,
what happens? Something I didn't think of at first.. ? Click the
image to watch the video.
BeagleBoard & rollertrack:
Focus is on the wormgear-track whch didn't look nice last time.
Some extensive testing must be done. Then another little
modification must be applied to the track ending. And why do balls
still go wrong at 1 place? Click the image to watch the video.
29 March Blog
316
RaspberryPi3 & PiXtend:
Focus again on RS232: can I get it to work? Using Python, changing
settings, minicom on both sides, Octave? Something does work, but
how? Why not all? Click the image to watch the video.
ESP32: Focus is on the buzzer:
why doesn't GPIO23 function correctly? After some more analysis of
the initialization, I find the (logical) explanation...and find an
oddity with the value to use. Next: the keypad. What's wrong and
can I change that? Click the image to watch the video.
Hand: Focussing on the
algorithm for testing switch12, I find an old problem has
returned. But what to do about it, this time? Analyzing and
testing reveals another result of the 2 pitch-movements influence,
or is it? The fingers still work, but what's with the compressor?
Click the image to watch the video.
Mirft2: Again the focus on
getting the HSV values right with OpenCV. Using the HSV
colourtool, I find values, but the result is questionable. So,
what to do? Next, modelling with Blender3D gives, apart from
adding more colour, yet another insight. Click the image to watch
the video.
Mydfir: Focus is on leaving
the line and the datalog. Then it shows I made a small mistake:
using screenoutput instead of writing to datalog. This reveals
some nice results. But the mid-position is still way off. But why?
Click the image to watch the video.
RI-BASIC: Adding a
phototransistor but have to improvise the wiring. Will that work?
After adding it to the algorithm, I find I made a little mistake
with the sonar. But solving proves hard. The manual doesn't bring
clarity. Then: can I use Octave on RS232? Yes, but how to deal
with the data? This proves easy, at least for a part. How to go
on? Click the image to watch the video.
Discovery: Focus once
again on the difference between distance and counter. After a few
odd trajectories, I want to know the difference in arguments for
counter. This gives a surprising result. Click the image to watch
the video.
Arduino Mega2560 S2: The
focus
is again on the data aquisition. Knowing what the voltage
functions do, the question is what the graphs show and how similar
they are. This gives some surprise. Also, I find the wiring issue.
After solving this, I get another surprise. But what does it mean?
Click the image to watch the video.
RaspberryPi2: Focus again on
gaining control on the GPIO, only Bash is left out. So after an
initial check with C and C++, I use the Mac for checking. And find
I made some mistakes. Adding the webcam, I get a nice result.
What's next? Click the image to watch the video.
BeagleBoard & rollertrack:
Testing all, I find the recurring issue of magnet stuck behind the
track annoying. I decide to add another support for the track and
make a slight modification. Just when all seems well, I find
another issue with the wormgear. Which wasn't there earlier. Click
the image to watch the video.
22 March Blog
315
RaspberryPi3 & PiXtend: New
attempt to get RS232 working. Following some docs, I need to
adjust settings. But seeming contradiction causes confusion on how
and what. In the end, I create a file using 2 libraries, but will
I see something in minicom? Also, the power connection needs to be
more robust. Click the image to watch the video.
ESP32: First focus is on the
microphone. I finally find out what's wrong, but is there a fix?
Then the buzzer. Is that the same issue? Click the image to watch
the video.
Hand: After finding a big
problem in the algorithm (only doing the hand-pitch), I should
change something. The yaw can only work with some distance. But
how to achieve that? Modify the switch? Then: testing all, what
does work and what doesn't? And why? Click the image to
watch the video.
Mydfir: Focus again on line
detection and function calling of lijn_volgen. By close
observation of the robot riding in circles, I notice a location
problem. This worries me, because why does it happen? If I can't
fix this somehow, it may never work. And why is one function never
called? Click the image to watch the video.
RI-BASIC: Focus is on
solving the sonar & speed problem, but I need to get feedback
to debug. So introducing the RS232 connection to minicom for
showing printed output. This shows valuable info. But how do I
solve the software problem? In the end it's solved, but there's
still the question: why did it happen? Click the image to watch
the video.
Discovery: Doing some more
tests, that do not go well. But the datalog doesn't really reveal
info, so I need to add more. Then there's confusion about some
variables. Back to the beginning: what's the distance in the first
part? I need to get clarity, but info on the functioning of
methods() is scarce. Click the image to watch the video.
Arduino Mega2560 S2: Improving
the graphs leads to the find of a little mistake but also the
range needs to be larger. What's the difference with the RL
circuit fully connected again? Click the image to watch the
video.
RaspberryPi2: A new attempt to
control and read from electronics and fischertechnik using C, C++
and Bash via wiringpi. Using the info from the
website, I find that some ideas aren't
possible. And I make a small mistake. Also, batteries need to be
charged. Oops. But will the result be for the button and
phototransistor? Bash via the mac. Click the image to watch the
video.
BeagleBoard & rollertrack: First
focus
is
the curve after the looping. It needs to change, but how? Next is
the track end with chain: how to get a single ball wait at the end
so a magnet picks it? Finally, why doesn't the wormgear switch
work? Click the image to watch the video.
15 March Blog
314
RaspberryPi3 & PiXtend: I
discover that the PiXtend chip needs to be reseated, but why?
Then: time for some demos, with some nice (dry) results. The
interface easiest to use is RS232. Time to wire and check, but
what are the settings? The search for an example gives a nasty
surprise. Click the image to watch the video.
ESP32: Focus again on the
buzzer and microphone. What's with the signals? The gpio's should
be ok. Some changes to the microphone code reveals an apparent
difference between ANSI & AVR C. I decide to make more use of
the LCD and have a little oops. Click the image to watch the
video.
Hand: First, I've added a
power-distributor so I need only 1 adapter. Then the
hand-detection switch needs a fix. But how? Next, the algorithm
needs to be changed for both switch and yaw. But why does the
diagnose say yes and Python say no? Click the image to watch the
video.
RaspberryPi: Again: the
Digital-Analog-Converter MAX522. What goes wrong? Analyzing the
algorithm, I change a few things such as byte size and baudrate.
But will that help? Searching for more info reveals that a website
has changed contentsno more help. What to do? End of experiment?
Click the image to watch the video.
Mirft2: Starting with an
(long) intro, I want to set up a connection and meet with Mr.
Murphy's Law. Then, continuing with the RGB-HSV conversion tool, I
manage to compile it after changing the code a bit and adding
link-options. Finally, using Blender3D again, I have to re-model
and add more colour to the frame because of a mistake I made.
Click the image to watch the video.
Mydfir: Testing the algorithm
and checking the datalog, I find that the algorithm lacks some
continuity. But after fixing this, Murphy visits and logic is far
away. Or is it? Click the image to watch the video.
RI-BASIC: Focussing on the
problem with the sonar and power-motor: what's wrong with the
algorithm. An example shows several differences, but doesn't
explain why the small distance is acting up. And it seems I have
to change to old-school connectivity. Click the image to watch the
video.
Discovery: More testing on
turning at impact, this time with ROBOPro. This shows it's
speed-related. Oops. Also: does the counter work? There's a need
to change the algorithm. How about the counter and distance at the
start? Is there a 0 or reset? Click the image to watch the video.
Arduino Mega2560: More
tests using Octave for data acquisition. Putting data into graphs,
why are the data so different and similar? Function check reveals
I may change thinking. But should I? Click the image to watch the
video.
RaspberryPi2: New attempts to
get it working after adding a motor. This shows differences
between Bash and C/C++ but why? Having an idea with rewiring it
works, sort of. Again, why? Click the image to watch the video.
BeagleBoard & rollertrack:
Checking with the problems: magnet sometimes at start and end,
curve support and looping. The curve support needs a modification,
the end needs some distance and the looping is too large. So does
this fix everything? Click the image to watch the video.
8 March Blog 313
RaspberryPi3B & PiXtend:
After last time, I have to fix a few bad contacts, a missing
jumper, find a power solution and get a new Linux image. I also
find how to fix the mount for the RPi3. With all set & done, I
can power the PiXtend...and I can get in. But what do I find? What
works, and what doesn't? Click the image to watch the video.
ESP32: A new attempt to get
the buzzer checked.. with weird signal timing. Rewiring prompts
for a look at the manual. Another look at the microphone, 7segment
display and servomotor. What's going on? Click the image to watch
the video.
Hand: After last time, I have
to check the motor direction in Python. Starting to change the
algorithm, things don't match up and cause confusion. By adding
print statements, the confusion only get bigger until I finally
notice a mistake in the algorithm. But then I also notice another
mistake with the switch. Time for another reconstruction. Click
the image to watch the video.
RaspberryPi: Focus again on the
SPI signalling to the MAX522. First, a big oops before I even
start: reboot. Then the question is why I see so few signals. I
decide to do a rewiring. Can I solve the signals by timebase or by
timing? Just for fun: another view by Android and Mac. Click the
image to watch the video.
Mirft2: Continuing with
OpenCV: how can I get the good values? Using darktable I get some
RGB values, but how to convert to OpenCV HSV? Search delivers a
tool with source code but compilation goes oops. Twice. Then
modelling with Blender: observation with colours reveals I made a
mistake repeatedly. Oops. Click the image to watch the video.
Mydfir: Focus again on the line
detection during driving in circles. What's wrong? Values?
Conditions? Structure? In the end, the datalog reveals some code
is not executed. But why? Click the image to watch the
video.
RI-BASIC: After adding
support for the motor, I try to add another (power)motor and a
sonar. Wiring is no problem, but how to program the sonar? The
manual gives some clues but something isn't working quit well.
Why? Click the image to watch the video.
Discovery: Focussing on the
difference between covered distance and counter, I decide to add
sonar. And again, the robot seems to have its own ideas on what
(not) to do. Click the image to watch the video.
Arduino Mega2560 S2: Going
further on plotting the vectors in
Octave, I
realize I need to change the way the time is used. Also, subplots
are better, but when the "while" has to be changed. In the end,
graphs are plotter and changes become more clear. But what's the
solution? Click the image to watch the video.
RaspberryPi2: Focus again on
wiringPi and C: can I get the GPIO working? Using the knowledge of
pin 0, I count to 12 and try. If it works, I can count the rest of
the green pins. Would it work using C++? What's that 4th output
again? A motor? Click the image to watch the video.
BeagleBoard & rollertrack:
Time to test, which reveals a problem leading to a reconstruction.
Then running the algorithm, something goes wrong. But what? When
the cause is finally traced, yet another problem returns. Now what
to do? Click the image to watch the video.
1 March Blog 312
RaspberryPi3B & PiXtend:
Time to finish construction, mount the RPi3 and get started. First
cutting the wires, correcting bad solderpoints, placing the ICs.
Then the long awaited mount with spacers, to find out that screws
are missing?! Also: Raspbian is the wrong Linux to start with?
Power has a wire connector...for 2 wires. OOPS. Click the image to
watch the video.
ESP32: Time to check out the
buzzer, signal, algorithm via oscilloscope. A decision to rewire
leads to a discovery that may set things into a different light.
Back to the microphone, I check again for the difference between
ANSI and AVR C. Also, is my ESP32 the same as the book shows?
Click the image to watch the video.
Hand: After all the fixes last
time, it's now time to fix the algorithm in Python: adding the
motor and switch in conditions switch on and off. After some
indentation struggle, something isn't quite right yet. A rewire
should fix it, but does it? And then there's the arm-pitch and a
hand-pitch. Another oops? Click the image to watch the video.
RaspberryPi: With probing the
signals to and from the MAX522 DAC, I try to figure out how to
change the algorithm to get the LED work the way I want. But why
do the piscope and oscilloscope not go synchronous? Or is it the
timing, again? Click the image to watch the video.
Mirft2: New attempts to use
HSV
in
OpenCV
and checking values with
darktable. This gives some results which
don't work out. Finding a mistake in the end, will a 'fix' make it
better? Counting gear cycles shows somw consistency.
Finally, modelling with
Blender3d. Adding more colour reveals some
errors. Click the image to watch the video.
Mydfir: To find out why the
robot looses track, I decide to add the line sensor input to the
datalog. After a few mistakes, I find that it happens way too
fast. And not in a consistent way. So what next? Click the image
to watch the video.
RI-BASIC: Continuing from
last time: can I add a switch and LED? How can I check the wiring?
I find that BASIC really isn't Python.. but also the diagnose lets
me down in an unexpected way. Click the image to watch the video.
Discovery: Continuing from
last time, I add counters from both motors to all sonar-IFs,
except the last. When analyzing the datalog, the results are not
what I hoped, but also not logical. So where's there cause of the
problems? Firmware? API? Click the image to watch the video.
Arduino Mega2560 S2: Going
on with
Octave: I've enlarged the size of v1. Can I
do the same for the other vectors? If so, what does it show? Can I
plot it? Click the image to watch the video.
RaspberryPi2: Being familiar
to control the GPIO using Bash and Python, but failing using
C/C++, I want to find out. So I decide to take another chance and
in the end finding some info that raises a big question. Click the
image to watch the video.
BeagleBoard & rollertrack:
Time to reconstruct the wormgear. How can I make it stick to the
axle? The solution seems simple, but needs a relocation of
the motor and some more action. Will everythng work then? Or will
it go oops somehow? Click the image to watch the video.
22 February Blog 311
RaspberryPi3 & PiXtend:
Placing the last jumper, the voltage-regulater and the battery.
Then checking out CODESYS on the laptop. This leads to 2nd
thoughts about it. Also: PiXtend Python Lib...can this be done?
Click the image to watch the video.
ESP32: Focussing on the
microphone algorithm, I decide to write a similar one in ANSI C.
After some issues, it works. So what does the comparation show?
Then: the servomotor worked for a bit, but when? How? And what's
with the buzzer? Does it do SOS? Click the image to watch the
video.
Hand: Checking everything, I
find that I have to fix several things, wires mostly. But where?
Diagnose shows what, but then analysis is needed. In the end, I
decide for a rewiring and have to adjust the algorithm for
switch12. Click the image to watch the video.
RaspberryPi: Focussing on the
output A from the MAX522: how do I know it's the correct output?
Why does the LED burn w/out the program even running? Switching
the 4th probe between A and Din, I get a first glimpse of what is
up. Too bad I don't have more than 4.... Click the image to watch
the video.
Mirft2: On with OpenCV and
HSV: can I restore the colours I got a while back? What do value
changes show? Intro to
darktable for colour probing. HSV or
something else? In the end: more modelling with
Blender3D
and finding some mistakes. Click the image to watch the video.
Mydfir: After adding the 4th
lamp, I need to check and adjust the alogrithm. But what speed is
best? Light seems to interfere as well, again. So what is best to
do? A small mistake with power shows that the battery won't last
as long. Oops. Click the image to watch the video.
RI-BASIC: Introduction into
using the BASIC programming language for the RoboInterface using
wine emulation on Linux. I skipped the installation of the library
on Fedora, which differs slightly from installation on Ubuntu.
Click the image to watch the video.
Discovery: With the new
distance set, how does it behave? What's the difference between
distance and counter value? The algorithm has to be changed again.
Click the image to watch the video.
Arduino Mega2560 S2: After
disconnecting the resistor from the 5V, I find another
instruction: readVoltage(). What's the value for the Ax pins? I
decide to add another Ax: A2 from the transistor. What's the
result? Finally, I want to enlarge the vectors. But how? Click the
image to watch the video.
BeagleBoard & rollertrack:
After finishing the looping, it needs to get an ending. But how?
Chain? Block? Then: the switches to change course and trajectory.
It works manually, but what's wrong with automation? Looks like
it's the gears, but how to solve it? Click the image to watch the
video.
15 February Blog 310
RaspberryPi3 & PiXtend:
Starting with a check on VNC with Android, I continue with
soldering a resistor and a jumper. Ending with a nasty surprise:
the jumper gets a bit ruined as well as a connector. But why? How?
Finally some software: wine and CODESYS. Ending with another
surprise. Click the image to watch the video.
ESP32: Continuing with the
microphone: what's the signal? From where? Why doesn't the
algorithm function? Then big oops and Murphy's Law. Click the
image to watch the video.
Hand: The hand-pitch motor
needs an immediate replacement (20:1 -> 50:1) as well as a very
different setup. Will a worm-gear work? Then a switch yo I4 (I12
actually) but how to put it in place? How to wire it? Click the
image to watch the video.
RaspberryPi: With the MAX522 DAC
using SPI 3wire, can I get the signal? Using the good timebase,
and new data, something seems to happen. Finally. Not really
visible on the videostream, but it's there. Click the image to
watch the video.
Mirft2: After the Veghel
convention (
video,
pictures), I continue with OpenCV and a
better elevation for the objects. But does it work? Also more
modelling using Blender. Click the image to watch the video.
Mydfir: Focus on the
linefollower with speed, but that doesn't go without problems
(what's new..). New modification: adding a lamp on top, so I can
(in theory) see the line-status. Right... Click the image to watch
the video.
Arduino Yún: After a final
intro, I need to re-capture data, display in Octave. Test Wifi and
Linux. After which it's the end for this project. Click the image
to watch the video.
Discovery: More tests with
the trajectory: from the "distance_left", I find that the distance
set in the algorithm better be changed. Then I find that
distance_left isn't everywhere yet. So what's the result? And
something with the camera...without a camera?! Click the image to
watch the video.
Arduino Mega2560 S2:
Using Octave I read the analogue values from the RL circuit. But
do they make any sense? How is 585 the same as 5 V on the scope?
How does pulling the resistor effectuate it? Click the image to
watch the video.
RaspberryPi2 & ROS:
Another attempt on wiringPi: can I get the GPIO to work? On the
Mac via VNC with Bash, it seems fine after an oddity. So time to
change the subscriber. What will happen? Run or fail? Click the
image to watch the video.
BeagleBoard & rollertrack:
Reconstruction of the looping takes more than initially
anticipated. How should the trajectory go? How large should the
looping be? Some solution is found. Click the image to watch the
video.
8 February Blog 309
RaspberryPi3 & PiXtend:
Parts assembly for the inductors and jumpers. More tests on vnc
with Android and Mac. Click the image to watch the video.
ESP32: It's time to add the
microphone. Looking at the available GPIOs, I decide to use DO:
Digital Output, and wire to D0. Then, the LED from D1. But then,
the algorithm. It's an event-registering device. So when it's the
time? Click the image to watch the video.
Hand: First: ensuring that the
pitch cord can't escape the hook. Then: reconstructing the
hand-pitch winch and motor. But how? Finally: how to make sure I
pick the correct interface in diagnose? Click the image to watch
the video.
RaspberryPi: Focussing
on the MAX522 DAC again, using the pigpio library, piscope and
oscillscope, I hope to get a result at the output of the DAC.
Altough I do see signals on both scopes, I realize very late that
the timebase is way off. Ouch. Click the image to watch the video.
Mydfir: Following the Veghel
convention, I decide to use artificial light only, and do
linefollowing only. When things go wrong, the data isn't
consistent with the observation or code. So what needs to be done?
The end is...an oops. Click the image to watch the video.
Arduin Yún: Continuing with scp,
I realise that I may have to check the settings via the GUI. And
find something I wasn't looking for. Then, a quick search leads me
to ssh-keygen. Will it work? After upload of the changed code, the
console acts odd. Why? Taking a look in Octave to adjust last
time's issue with some graphs, I have to change a name. Click the
image to watch the video.
Discovery: At the Veghel
convention (
video,
photos)
the robot showed very normal behaviour. But: I did manual guide
the AC-cable by lack of a charged battery. Time to recheck its
behaviour: will it go crazy of stay normal? Click the image to
watch the video.
1 February Blog 308
RaspberryPi3 & PiXtend: New
discoveries for ppl, VNC for iPad and some parts assembly which
doesn't go easy. Click the image to watch the video.
ESP32: Focus is on wiring: the
7segment dispplay and the buzzer. A closer look reveals a mistake
for the display, which is quickly corrected. Then: the buzzer
signal is weird, the wiring is fine. So what's up? Also the motor
doesn't cooperate, again. What's next? A mic or other sensor?
Click the image to watch the video.
Hand: Time to put the
hand-pitch motor under an angle and hook up to the 2nd interface.
As expected this takes a lot of wire. But the serial number could
be an issue. The interface wasn't detected by ROBOPro, so I
couldn't set it. Will the standard "1" work? Then also, the wrist
pivot get a much needed re-reconstruction. Finally, gEDA has to be
edited. Click the image to watch the video.
RaspberryPi: Continuing with
pigpio/piscope, I play with the loop count and the sleeping time.
Checking if the LED is fine (it is!), I put a resistor between
output and LED. Then put probe 4 on the output and find it works
(sort of.) So what's wrong then? Click the image to watch the
video.
Mirft2: An attempt to repeat
last time's result, I realize I've made a thinking mistake: the
objects should be elevated as well. And the camera needs a
modification. In the end, more modelling with Blender3d.
Click the image to watch the video.
Mydfir: More testing with
linefollowing and detecting objects: what goes wrong this time? I
decide to modify the new object: increase the weight. When that
seemingly doesn't help. I add something else. But why does colour
get sensed again when there's just white!? Sigh. Click the image
to watch the video.
Arduino Yún: After the
introduction, I try to get scp working and after a code correction
and again some data acquistion, I face a few oopses. Also, a
possible mistake in the Octave graphs. An unexpected result is
noticed in the data console, but how? From what? Click the image
to watch the video.
Discovery: Continuing with
the calculation of the distance by putting the code into more IFs.
Meanwhile, ROBOPro and the datalog show something with the
battery....which is supposed to be freshly charged. Oops. Click
the image to watch the video.
Arduino Mega2560 S2:
Running the algorithm, I find that the green LED burns, and keeps
burning. This points to a bug. Then: what the difference between
the RL circuit backlash the voltage measured? New reading could
give answers, but do they? Click the image to watch the video.
BeagleBoard & rollertrack:
First focus is on the monitor: how is the view now. Then: the
motors & switches, probed on the oscilloscope. WIll it finally
work? Last: the looping. It's not good, but how to take care of
it? Reconstruction is needed. Click the image to watch the video.
25 January Blog 307
RaspberyyPi3 & PiXtend:
Assembly of (a LOT of) resistors, some LEDs, a few relais and
something else. Way too boring to watch, and soldering shows to be
a little nightmare. Then on with the RPi itself: despite settings,
vnc doesn't just start. And where' are the libraries and
tools? Click the image to watch the video.
ESP32: Now the 7segment works
via function, it's easy to add digits 4 - 6, but something goes
odd at 6. And why does the buzzer sound at odd moments? Probably
bad wiring, but the oscilloscope reveals another issue as well.
Click the image to watch the video.
Hand: I need to correct the
wrist-switch and base-pivot. But after the base-pivot, I turn to
the hand-pitch: the motor needs to be in-balance: making a
perpendicular angle with the axle. But how to do that? Also, can
the motor speed be slower than 1? Click the image to watch the
video.
RaspberryPi: A new attempt to
get the MAX522 working, I try spidev with the expected outcome.
Further searching brings me back to the pigpio library, running
piscope. It also shows effect on the oscilloscope, but will it
work on the LED? Click the image to watch the video.
Mirft2: Continuing from last
time with the improved red detection, I find the new image not as
good. Trying other distances to the objects gives some different
results. But how to do it w/out ImageMagick? More modelling with
Blender3D. Click the image to watch the video.
Mydfir: Focus again on
detection by sonar. After more robot-object collisions, I find a
mistake in the algorithm. How does it get there?! Then I decide to
make another object to delete any possible reflections of the
sonar. But will it help? Click the image to watch the video.
Arduino Yún: After a bit lengthy
intro & recap, trying to increase the size of the graphs, I
end up changing the graph setup. Then in C, can I determine
filesize and copy to laptop, without too much hassle? Click the
image to watch the video.
Discovery: Focus si again
on the distance value: adapting if-condition for 30-35 cm. Bit the
datalog shows it's not ok at all. So what's the problem? Click the
image to watch the video.
Arduino Mega2560 S2:
Reading the input goes wrong, but why? Adding a wire for voltage
reading shows I have to rename variables. Some rewiring needed and
what's the result? Click the image to watch the video.
RaspberryPi2 & ROS: First,
does the GPIO still work after the rewiring of last time? Using
the Android tablet for this. Then, checking on GPIOClass, I come
across a familiar alternative solution, which after some errors
compiles fine. But will it actually work? Click the image to watch
the video.
BeagleBoard & rollertrack:
Planning to check the wormgear and the looping, things go
different. The "rescue" monitor looks like **** and the wormgear
has its own issues. After recording, a reboot shows that the
monitor can look ok. See
instagram.
Click the image to watch the video.
18 January Blog 306
RaspberryPi3 & PiXtend:
Starting with the downloaded construction manual (apart from
startup-manual and data-sheet) I can start with actual
placement..which takes hours. Then, after the c(apacitors),
d(iodes) and q (for transistors), I continue with ssh and vnc and
find I should replace some software. Click the image to watch the
video.
ESP32: First, I try to
optimize the 7segment display function, after the errors of last
time. After solving this, the LDR needs a solution. An observation
leads to a quick solution. Also, a reseat of the ESP32 is needed
to make the servomotor work. What's next? Click the image to watch
the video.
Hand: Checking on the lift on
the hand, it's actually a 2nd pitch. Which needs a modification, a
checkout and wiring. But how? What should the algorithm be like
with what controlling hardware? Does everything work now?
(spoiler: several oopses during overall testing). Click the image
to watch the video.
RaspberryPi: Investigating the
mystery, I first check the spi on the ADC/MCP3008. Then I go on
with the spi-3wire on DAC/MAX522. After also using the Mac, while
checking on wiring, a big oops happens. Why? How? A final test
shows what? Click the image to watch the video.
Mirft2: Starting with the HSV
array, I try with several values for H,S and V to get rid of
yellow. At the same time, watching the # of cycles..which make
much sense. Finishing again with Blender3D to model the robot.
Click the image to watch the video.
Discovery: First checking
the trajectory (a mess again), I turn to the algorithm to find
that I made a mistake in variable and in algorithm. And why
doesn't a if-condition apply, according to the data? Click the
image to watch the video.
Arduino Mega2560 S2: Once
again: how can I read the pwm that is delivered by Octave?
Changing the algorithm, pressing the ft switch and finally adding
some more input. Something has to work, right?
Click the image to watch the video.
RaspberryPi2 & ROS:
Checking the GPIO using Bash, I find that a comparison with gEDA
goes wrong. For some reason, details are missing and wrong. Wiring
is wrong too. After fixing, compilation goes wrong. But it
runs...how? why? Click the image to watch the video.
BeagleBoard & rollertrack:
Starting with adding another angle to the trajectory, I find a
problem with the wormgear. But how to solve that? Also, the chain
motor should stop during the shift. Then problems set in. Oops.
Click the image to watch the video.
11 January Blog 305
RaspberryPi3 & PiXtend:
Introduction of the RaspberryPi3 in combination with the PiXtend:
an open-source PLC that can operate together. The setup just needs
some work. Also, what's with VNC? Click the image to watch the
video.
ESP32: First focus is on the
keypad: why doesn't it work? Can I work out the schematics? Then,
the 7segment display can be optimized in the algorithm. But this
gives an unexpected problem. What's with void and int? Click the
image to watch the video.
Hand: Focus again on the winch:
how to make this work? Will a modification to the hand work? Then
the balance: how about a reinforcement of the arm-base? Then an
oops with the wiring to the interface. How to solve that? Click
the image to watch the video.
RaspberryPi: Trying again to get
the MAX522 working using spidev, I decide to update and
reboot..and try the MCP2008 DAC. What will happen? Do I need a
rewire? I'm in for a surprise (again) and some food for
thought. Click the image to watch the video.
Mirft2: Trying again on
OpenCV with values things go bad. Finding other values, what
happens? Why? Then: modelling using Blender and close observation
reveals I need to change the model. Click the image to watch the
video.
Mydfir: Starting with the
usual linefollowing test towards objects, I notice something odd
in response and direction. Testting with diagnose, something is
wrong with the sonar. But how to solve this? Click the image to
watch the video.
Arduino Yún: Starting with a
short overview, I continue with Octave to get the graphs correct.
Then: the lamp mechatronics need improvement to hold the lamp and
I find out what's wrong with the flashlight. Oops. Finally, an
idea to maybe copy the data to the computer. Click the image to
watch the video.
Discovery: Focus is on
distance again and trying to get the trajectory straight. But I
find that my algorithm isn't effective and contains flaws. Also:
what's with ROBOPro again? Click the image to watch the video.
Arduino Mega2560 S2:
Focussing on input again, I change the algorithm bit by bit and
find out that 0 isn't 0? Time for a switch replacement, but will
it make a difference? Another analysis and an small mistake in the
schematics. Click the image to watch the video.
RaspberryPi2 & ROS:
Starting with another test on GPIO, this time on the Mac. Then,
trying to find a solution for the GPIOClass. Finally, back to Mac
and GPIO with a camera. Click the image to watch the video.
BeagleBoard & rollertrack:
First, checking the switches using Python, since it can't be done
properly with the diagnose tool. Then more reconstruction to give
the balls more speed for the looping. But will it work out? Click
the image to watch the video.
4 January (
Playlist)
Blog 304
ESP32: First focus: keypad.
Does it help to change the algorithm? Then: why do the LCD, motor
and LDR not work? Some rewiring leads to an unexpected solution
for most. But the keypad still gives some questions. Click the
image to watch the video.
Hand: After a short overview:
how can the hand be lifted? This simple question starts a new
analysis with parts missing and a looming reconstruction of the
lower arm. But something has to be done. Click the image to watch
the video.
RaspberryPi: For the MAX522 DAC,
back to trying Python via the shell, using Mac as well. Is there
any logic in what happens? Will some rewiring bring a solution?
The live+4 seconds videostream is nice, but a bit .... Click
the image to watch the video.
Mirft2: Focus starts on
connecting: will it go fine this time? Then, OpenCV and HSV:
what's up with the number of pixels. What about
Gimp? Finally,
further with modelling in
Blender3D and finding some points to
improve. Click the image to watch the video.
Arduino Yún: Focus is on the
attempt to get data visible from the phototransistor. So new data
acquisition, making sure all 100x''s are there. Next:
Octave..careful observation reveals a viewing mistake which leads
to change in the algorithm. Click the image to watch the video.
Arduino Mega2560 S2:
Testing the input from the button, takes some code changes but
will it solve the mystery? Then, to signal the next loop of the
algorithm, I add another LED and another code bit. Click the image
to watch the video.
RaspberryPi2 & ROS: For the
GPIOClass.h, I realize this must be a linker issue, so this must
be solved in the settings. But how and where? Then, with the Mac,
another attempt with Bash for the GPIO with surprising results.
Click the image to watch the video.
BeagleBoard & rollertrack:
Instead of timing, 2 switches should be added to the wormgear and
tthe algorithm changed. Does it work? Diagnose says yes. Then the
track needs an adaption which requires a reconstruction. Click the
image to watch the video.