
Helloooo! I am Moose! They/Them/He/Him I am a embedded software engineer with autism, depression and anxiaty ( Wooo! ). I post about... whatever I want... software things, mental health things... whatever I feel like Feel very wellcome to send me asks about... anything that strikes your fancy :3
266 posts
It Works!*
It works!*
So I (FINALLY) put the final touches on the software for my robot PROTO! (Listen, I am a software person, not a coming-up-with-names person)

Basically, it is a ESP32 running him. He takes HTTP messages. Either GET odometry, or PUT twist. Both just being a string containing comma separated numbers
Odometry is the robots best guess based on internal sensors where it is (Since PROTO uses stepper motors, which rotates in tiny tiny steps... it is basically counting the steps each motor takes)
Twist is speed, both in x,y and z directions, and speed in angular directions (pitch, roll and yaw). This is used to tell the robot how to move

Now, since PROTO is a robot on two wheels, with a third free-running ball ahead of him, he cannot slide to the side, or go straight up in the air. You can TRY telling him to do that, but he will not understand what you mean. Same with angular movement. PROTO can turn left or right, but he have no clue what you mean if you tell him to bend forward, or roll over.
The software is layered (Which I use a BDD diagram to plan. I love diagrams!)

Basically PROTO gets a twist command and hands that over to the Differential_Movement_Model layer.
The Differential_Movement_Model layer translate that to linear momentum (how much to move forward and backwards) and angular momentum (how much to turn left or right). combines them, and orders each wheel to move so and so fast via the Stepper_Motors layer.
The Stepper_Motors turns the wanted speed, into how many steps each stepper motor will have to do per second, and makes sure that the wanted speed can be achieved by the motors. It also makes sure that the wheels turn the right way, no matter how they are mounted (In PROTO's case, if both wheels turn clockwise, the right wheel is going forward, and the left backwards.). It then sends this steps per second request down to the Peripheral_Hub layer.
The Peripheral_Hub layer is just a hub... as the name implies, it calls the needed driver functions to turn off/on pins, have timers count steps and run a PWM (Pulse-width modulation. It sends pulses of a particular size at a specific frequency) signal to the driver boards.
Layering it, also means it is a lot easer to test a layer. Basically, if I want to test, I change 1 variable in the build files and a mock layer is build underneath whatever layer I want to test.
So if I want to test the Stepper_Motors layer, I have a mock Peripheral_Hub layer, so if there are errors in the Peripheral_Hub layer, these do not show up when I am testing the stepper motor layer.
The HTTP server part is basically a standard ESP32 example server, where I have removed all the HTTP call handlers, and made my own 2 instead. Done done.
So since the software works... of course I am immediately having hardware problems. The stepper motors are not NEARLY as strong as they need to be... have to figure something out... maybe they are not getting the power they need... or I need smaller wheels... or I will have to buy a gearbox to make them slower but stronger... in which case I should proberbly also fix the freaking cannot-change-the-micro-stepping problem with the driver boards, since otherwise PROTO will go from a max speed of 0.3 meters per second, to most likely 0.06 meters per second which... is... a bit slow...
But software works! And PROTO can happily move his wheels and pretend he is driving somewhere when on his maintenance stand (Yes. it LOOKS like 2 empty cardboard boxes, but I am telling you it is a maintenance stand... since it sounds a lot better :p )
I have gone over everything really quickly in this post... if someone wants me to cover a part of PROTO, just comment which one, and I will most likely do it (I have lost all sense of which parts of this project is interesting to people who are not doing the project)
-
sweetpoetrygladiator liked this · 1 year ago
-
trans9000 reblogged this · 1 year ago
-
trans9000 liked this · 1 year ago
-
hydralisk98 liked this · 1 year ago
-
koecode reblogged this · 1 year ago
-
f69f96 liked this · 1 year ago
-
scgascart liked this · 1 year ago
-
miquerinus liked this · 1 year ago
-
who-are-we-to-change liked this · 1 year ago
-
ourephemeraluniverse liked this · 1 year ago
-
skylarlilith liked this · 1 year ago
-
lqvhss liked this · 1 year ago
-
umibunn liked this · 1 year ago
-
soupy-bastard liked this · 1 year ago
-
soaked-in-starlight liked this · 1 year ago
-
totomouse liked this · 1 year ago
-
silk-sheet liked this · 1 year ago
-
dannimalslol liked this · 1 year ago
-
rklek liked this · 1 year ago
-
hello-trainman99 liked this · 1 year ago
-
xxsneep-snorpxx liked this · 1 year ago
-
1997nikeairs liked this · 1 year ago
-
bethblo liked this · 1 year ago
-
magnificentcreatorexpertathlete liked this · 1 year ago
-
orange-lover liked this · 1 year ago
-
the-42nd-fish liked this · 1 year ago
-
chasentail liked this · 1 year ago
-
zohohaz liked this · 1 year ago
-
akaddouble liked this · 1 year ago
-
winryrockbellwannabe liked this · 1 year ago
-
acute-acatalepsy-blog liked this · 1 year ago
-
lilydaelf liked this · 1 year ago
-
xr-k reblogged this · 1 year ago
-
xr-k liked this · 1 year ago
-
toastyraccoon liked this · 1 year ago
-
asvionyaa liked this · 1 year ago
-
volcanicallyfeels liked this · 1 year ago
-
su-andherpileof-thoughts liked this · 1 year ago
-
coldstrawberrytrash liked this · 1 year ago
-
wobinbug liked this · 1 year ago
-
add-to-none liked this · 1 year ago
More Posts from Moose-mousse
Good luck! I hope it turns out how you imagine it! :D I have this… great love for diagrams. I mainly use UML-ish ones but I love all types!
They are like… the middle point between the pure idea in your head (That may have missing parts you do not realize, because brains are silly like that) and the finished product.
They are the shaping of ideas and inspiration into reality. Taking shape like trying to fit a formless blob into one or more boxes so it can become real, without harming the core of the idea. It really is... very neat to get this view into peoples head, in a way I have trouble articulating.
This is one of mine(which had to go into a "real" report, so it is a bit formal):

Making wireframes again


Tuesday 8th August 2023
My head has too many ideas that it has come to me making terrible sketch wireframes, hopefully converting this to code makes sense and looks pretty(˶′◡‵˶)
I'm sure there's a quote out there that talks about something ugly can be turned into something beautiful - yeah, that's what's going to happen to these awful sketches.
Wish me luck o(*^▽^*)┛
>> note: have a nice day/night and good luck with your studies and in life!
If you do ANY C++, You need to watch Jason Turners!
Oh my god, I just realized I have never plugged Jason Turners youtube channel on this blog!!! This must immediately be remedied!

Not only is this man VERY easy to listen to, and give great examples of everything he talks about, from super basic begginer concepts and up to stuff about how C++ compilers decide what template classes to implement for any given use of the function. Can only be recommended. It is FACINATING how all the tiny details of C++ clicks and pops, and make that glorus optimized, and smooth machine that is C++ run. Love it
This is... horrifyingly accurate....
Going from being an introverted lurker on reddit to trying to post my own stuff here is so wild. I keep typing out a post, deleting it, then retyping because I think it's not good enough but then I look at other posts and why am I so worried?
It's like I'm at a fancy Italian restaurant and keep glancing around the room to see which hand people use to pick up the forks. But then I realize that everyone is shoveling spaghetti into their mouths using their bare hands and I'm like ah okay so I'm clearly overthinking this
What is even some companies websites...

Jobhunting is WILD! Your self confidence is just on a roller-coaster. One minute doubting yourself because of the ghosting and rejection (Yes, big professional companies behave with all the maturity of a 14 year old boy starting online date and being very bad at it) and the next I see shit like this... And I am CLEARLY very competent compared to whoever did... this... I am not taking that picture out of context, that is a picture on the website of a electronics firm that intents to convey (checks notes)... enviromentalism.... Which perfectly explains the well dressed sitting dude with the birdnest with eggs he clearly stole from some birds, winking at me and making fingerguns... Did someone go to their companies unused stock photo assets and hit random? What is happening??? Source:
