I hacked it using MPPI and it only works on the cartpole model so as to not have to dwell in Javascript too long; just click the 'MPPI Controller' button and you can perturb the model and see it recover.
58 karma · joined January 1, 2017
I hacked it using MPPI and it only works on the cartpole model so as to not have to dwell in Javascript too long; just click the 'MPPI Controller' button and you can perturb the model and see it recover.
While there are now generic versions of Vyvanse, they’re unlikely to be as effective until other developers work out the manufacturing kinks.
However, generic extended release dextroamphetamine is generally not in short supply and 10x cheaper than Vyvanse. Might be worth a shot if that’s what worked best for you.
Under the hood it’s doing the same thing with a vector of ints (64 bits for bitvectors) and all the bulk manipulation is handled that way so SIMD in inherent as well. Worth a shot.
different configuration, but electric motors are fine if you get momentum on your side. Humans use their entire range of motion get build up velocity to jump; this is motion control thing.
This makes sense for quasi-static systems but obviously is a limiting factor for dynamic robots.
If the gear ratio on these motors is high, then there can only be faked compliance in the tuned force-torque controllers you mentioned. MIT's little cheetah robot, on the other hand, deliberately used low-gear ratios to keep things naturally squishy if needed. This is the way to go; putting elastic tendons or spring elements seems like a good idea but then you can't actually model the non-linearity well (the 1st order motor becomes a 2nd or higher order system).
Another limiting factor is that data collection is a big problem: not only will you never be sure you've collected enough data, they're collecting data of a human trying to do this work through a janky teleoperation rig. The behavior they're trying to clone is of a human working poorly, which isn't a great source of data! Furthermore limiting the data collection to (typically) 10Hz means that the scene will always have to be quasi-static, and I'm not sure these huge models will speed up enough to actually understand velocity as a 'sufficient statistic' of the underlying dynamics.
Ultimately, it's been frustrating to see so much money dumped into the recent humanoid push using teleop / BC. It's going to hamper the folks actually pursing first-principles thinking.
We had a paper that included MuJoCo (with custom defined adjoints) within Julia's DiffEq framework to learn continuous control policies (https://arxiv.org/abs/2012.06684) which revealed a whole host of other issues, namely that gradients are not all that helpful when your optimization landscape is insanely non-linear. But that's a different problem.
Open to chatting about; Julia is definitely the tool for this kind of work.
Of course give them lots of love in the morning and before bed.
It's pretty quick.
While I never made my research code public, https://openreview.net/forum?id=SyxytxBFDr documents a similar setup to what I use.
Disclosure: I contributed to the linked work.
To do simple tasks, you don’t even need neural networks, in short. If you want to do complex tasks, training the neural net isn’t the problem, but a NN can indeed represent more than say a linear policy. The issue is getting the NN to do the complex thing correctly: it’s more of an exploration problem than function approximation problem.