Sadness, a small update

A project log for Twerk lidar robot

An insect-quad style robot with an IMU plus ToF lidar sensor for mapping and navigation.

Jacob David C CunninghamJacob David C Cunningham 03/09/2022 at 23:040 Comments

it is carrying a weight to reduce the backwards tipping.

Needs work

Well, what started out as a cool/fun project ended up in disappointment, just because of all the inaccuracies/weak parts/etc...

What I aimed to do was to get the tracking to work as it moved. But progressively it just kept getting worse and worse, where I was just using hardcoded values vs. what the IMU would read.

Also I burned too much time trying to rework the gaits; the reason being the robot would not walk straight... I ended up going with Regis Hsu's Spider Robot walking and turning gait. I watched a few of his videos at 0.25x speed to see how it moved. While it works well for moving forward/covering a lot of ground eg. 2 inches per gait, it has this problem where it tips backwards to one corner. And that's probably just due to my robot's geometry but yeah... I'm just annoyed with how crappy this robot is.

The ToF sensor is also problematic, I usually always get at least a few bad readings... which you would try to work around/"smoothen" but it's like, what if there is actually a stick there/it's not a mistake? The problematic measurements seem to occur more for the "infinity" case where you're scanning open space. I am using default which caps out at 1.2 meters. The issue I'm talking about though is where it will just randomly say 0 or some really low number when it should be more than 3 feet away.

This is a time consuming project and unfortunately every error/inaccuracy adds up to where the whole thing is pointless so yeah... just a good reminder to not half-ass things.

This is a scan in open space, the bottom pink triangle is an example of a random weird measurement (should be a flat plane viewed from the side).

This is the last thing I have to do in another update is to do the actual ray-polygon collision stuff based on the mesh above. And plotting cubes. I also have to clean up that ThreeJS code, it's so bad... just throw things in there/get it to work.

Also today while I was messing around I wasn't watching the robot and after it turned/somehow two of the servos burned out... like the plastic almost melted (could smell something and was hot to touch) so that was great.

The ESP-01 bridge is also problematic, I did figure out part of the problem (needing to use Serial.flush()) but aside from that, there's still a build up and eventually the ESP crashes. So the comms need work too.

I have been distracted as well the last couple of days. I got the Pinephone Pro Explorer Edition in and I was messing around with that. I have to focus the next several days/week to get some work done. I wanted to get to an "end state" of this project for a week or two before I returned back to it. I need to wrap it up though.

Next update

As mentioned above will include more ThreeJS work and some other improvements that I'm too tired to do now.

The next robot

It will have positional feedback on the legs, current draw spike detection, better IMU, will use a vision system eg. VIO. Will possibly still use a dedicated pan/tilt lidar assembly, arguable with a good enough VIO you don't need it but it would be a cool unit to build, maybe as a stand alone.

Also inverse kinematics or non-manually-programmed gaits would be nice.