Funny enough I actually did Android development contract work circa 2012-2014. I never did anything more complex than working with internal phone components (bluetooth, accelerometer/gyroscope, GUI/text, etc) and SQLite, but even so I quickly decided I wanted nothing to do with that platform.
Coming back a decade later for a side project, I guess I have the same opinion.
Now with the help of GPT-like assistants, I'm sure I could slog through some fairly vanilla development tasks like I did in the past, but when it comes to building anything a bit 'outside the box', no thanks.
Thankfully there are hardware equivalent packages (mini linux development machines like raspberry pi) that fit the bill, but they aren't as ubiquitous or nicely packaged as a modern smartphone unfortunately.
One wonders if there's some opportunity there, take all this great generic smartphone hardware (a $100 phone now is crazy) and package it with a developer-first OS. It could just be a linux system with a dumb, button-focused frontend for users to mimic Android/iOS.
Hey thanks for this! I gave it a try, imported and built in my Android Studio ("Koala" if that matters), tried getting it installed on a phone, and unfortunately got this cryptic error:
> ninja: error: 'lib/libjpeg.so', needed by 'C:/Users/ADMIN/AndroidStudioProjects/kineticstreamer/app/build/intermediates/cxx/Debug/3xf5p505/obj/arm64-v8a/libkinetic.so', missing and no known rule to make it
That being said, I browsed through the code some more and while I think it's a great Android project, I don't think (assuming I got it working) it would be advisable for me to build on top of this. The existing complexity, and my lack of faith on cross-compatibility (different phones, SDK updates, etc) are a turn off. Heck I've even seen certain libraries and includes fail because they require different versions of Java/JDK that I have available.
So in summary, I think the solution for myself at least for now, will be to explore a different hardware route. A cheap raspberry pi equivalent, with a small display, and battery - annoying to have all these extra components but at least I know it'll work reliably.
I get the sense that the only development environment the OP knows at all is Python. With that perspective I understand why they might think that error is cryptic.
People keeps forgetting that pretty much everything is C-based and only a few language ecosystems have abstracted it away enough. And even then, if you want to program in slightly esoteric environment, you have to confront that fact. Just understanding how C/C++ projects are used (libraries, header file, linking,...) can get you really far if you have to stray from the happy path.
As someone a lot deeper into robotics I totally get this sentiment... But I also think it's good to encourage people to share the basics, look how many newcomers in this thread find it interesting and may explore it further.
I wonder how smooth one could make a cheap servo-based robot arm operate with decent control algorithms.
Nice build! I always wanted one of those AR robot arms but I'd rather buy it off-the-shelf than assemble from scratch. I don't think anyone sells them pre-built though. This type of 'high level hobbyist robotics' is in a bit of business dead-zone unfortunately, as it's some combination of too small a market and not enough use cases to justify having a company around. Or maybe there's potential there but no one's thought of it yet.
Btw I bet your arm's movement smoothness can be improved with some different deceleration rates. It was really fun watching it sort those beans!
My research goal with one of these 'good enough' 1mm repeatability robots would be vision-guided adaptive control to complete tasks after seeing examples of them done via human manual control. Would be a really interesting ML/AI problem. Just need a reasonable hardware platform to get started. Right now I'm leaning more towards simple/smaller servo motors like in the OP of this post (plus there's the cost/time trade-off).
I've done similar projects in the past (robot arms pushing performance limits in the few thousand $ range), and I found pretty good results with stepper motors, and gearboxes with sufficiently low backlash. For reference, these designs got to approx 1mm repeatability with 2.5kg payload at ~80cm reach, meant to model a human arm somewhat.
Here's some specifics if you're interested. Depending on the end effector payload requirements, a mix of NEMA34,24,17 can do this (bigger ones for earlier joints). You can go cycloidal/harmonic gears if you have the budget, otherwise each actuator (motor + driver + gearbox + shaft coupling) would run you something like $100-$200 depending heavily on supplier and exact requirements (+$50 or so for closed-loop systems). So not terrible on the price front. Then for the base joint you'd want some wider cylindrical gearbox that distributes the load across better.
If you're able to work with a machine shop I think you can put together something really high quality. Here's some example design inspirations, some of them even better than what I described I was able to put together as a hobbyist:
Thanks for your response. Yeah, I don't see why to beat around the bush - I'm looking for ideas! And I figure people can dump something they'd like built but maybe don't have the time/effort to do. Doesn't need to be anything huge or important, just some starting point that ideally does something useful for someone.
Regarding yours, I think that's really cool but probably not within my purview :) Still appreciated though. Doing some basic research I played around with Dall E and Midjourney, but found them very hard to "guide" in such a way. Though I'm sure something more relevant and powerful is on the horizon.
That's a really good one. As a prototype, what do you think about something like:
- Paper you are currently reading taking up 2/3rds of the screen (left side)
- Right side of the screen is a graph of references from, and references to, the paper
- You can click on any node in the tree (paper titles of references and referencees) and then that paper loads up on your left side reading pane?
(Bonus: maybe nodes in the tree can be sized relatively by how cited a paper is.)
Also, would using a single site like arxiv.org be sufficient? Maybe for some fields of research but not others? As a dev I'd want to identify a single main repository as a starting point.
Fun project, made some sales and a small profit, then hand-built and delivered the units from my apartment. Lots of learnings.
Applied to YC and got an interview but ultimately didn't get in - I agree with their feedback that the platform was too general and "lacked a killer app". But it's a cool research platform due to its generality: you get a full Linux computer in your heads-up display, and can connect arbitrary USB peripherals (we had a version with a depth-sensing camera).
Over the last year on weekends I've been working on a new light-weight version that allows one to drop in their smartphone or other ~5" screen, and actually orienting a specific version towards the sport of airsoft. Polycarbonate encasing around a modified helmet protects the electronics as well as the user's head.
Hope to try it out sometime later this year; lately I've been pre-occupied with my day job and learning all the new AI software and theory out there.
If anyone is interested in this project and wants to connect, ask questions, etc, feel free to reach out via email (in my profile). Cheers!
I reject the claim that there is no killer app. Have you not seen Judge Dredd? ;)
But seriously, I like this. Honestly I think I’d rather this than a normal headset. There are so many design challenges and compromises made because of the notion that they should only cover the eyes. But that approach just leaves us looking gormless to any onlookers, so there’s not much aesthetic benefit.
Meanwhile your design looks, for lack of a better word, badass.
Coming back a decade later for a side project, I guess I have the same opinion.
Now with the help of GPT-like assistants, I'm sure I could slog through some fairly vanilla development tasks like I did in the past, but when it comes to building anything a bit 'outside the box', no thanks.
Thankfully there are hardware equivalent packages (mini linux development machines like raspberry pi) that fit the bill, but they aren't as ubiquitous or nicely packaged as a modern smartphone unfortunately.
One wonders if there's some opportunity there, take all this great generic smartphone hardware (a $100 phone now is crazy) and package it with a developer-first OS. It could just be a linux system with a dumb, button-focused frontend for users to mimic Android/iOS.