Programmed Autonomy

I’ve been obsessed by automation lately. I’ve had two dreams about riding in a Tesla on Autopilot. I fantasize about owning a Spot robot from Boston Dynamics and taking him out for walks. I’ve been browsing programmable robotic arms, robot parts, and lidar systems. I even got back into programming as a hobby, making little simulations of self-driving cars and autonomous-ants finding food — nothing fancy, just rectangles on the screen doing their own thing.

Ideally, I’d like to get some actual robots and program them to do stuff. The idea of having a small commercial-quality robotic arm to program seems like a fun hobby. I went so far as to order a Windows-based laptop recently, in-case I need to interface with some electronic-components. It hasn’t arrived yet, but I think it’s been about a decade since I used one. I’ve been exclusively using an iPad Pro for the past few years. I happened to mention a laptop to my mom and she offered to get me one, so that was that.

Until robot-parts magically fall into my lap, I’ll probably be using the PC for more hobby-level programming projects. I have the software lined up and I’m itching to go. Who knew it would take over a week for the laptop to arrive!? Excuse me, I thought this was 2019! I ordered from Dell because it’s all I know — I used to configure PCs and order from them in the late-90s/early-2000s. For this build, I wanted a solid-state hard-drive and a dedicated graphics-card. I can’t believe they still sell spinning hard-drives.

Oh and just to mention, I’ve been using Codea on my iPad for programming. It’s a neat app that allows you to program with the Lua language to create on-screen interacting sprites — it even includes a basic physics-engine for motion and collisions and gravity and such. It’s not really a beginner’s app, so you kinda have to know what you’re doing. And for the PC, I’ve been looking at Godot, which seems like a super-charged version of that. I’ll also take a look at Visual Studio and C# to see what’s new there as well.

But that’s not the point. The point is this: what interests me, is attempting to program something to navigate its world autonomously i.e. based solely on the initial instructions I provide. Basically, wind it up and let it go. Then, I observe it interacting with its world, evaluating how well I did with the programming. That takes me to my larger point: if I was an infinite-being, I would probably do something similar i.e. create a character and let it go within a world while observing and evaluating how well I did with the initial programming.

I’d see him attempting to navigate a path through life, interacting with others, and even just walking through the world using his body. And perhaps I’d see where I made mistakes and try to correct them for the next time around. Maybe some parameters were tweaked a bit too high, some too low. Perhaps my buddy sent her character in too and they linked-up for some squad-play — who knows. But I must admit that I’m not impressed with how my character’s performing — hopefully some hot-fixes can boost his abilities.

Advertisements