Really great work Josh! I was thinking of doing something like this myself with your actuators (but got distracted by other things 😄). Always impressed with how productive you are. I leave the discord for 2 months and I come back to find a full C++ API and gravity-comp examples. Amazing!
I actually pay for a full fusion license, here my Windows computer was just occupied. Even at the full price F360 is a great value, although I am supremely unhappy with Autodesk removing features and their handling of Eagle CAD. (Adding a minimal mandatory cloud requirement, then discontinuing it entirely)
Re FreeCAD: The mainline version still suffers from TNP and is barely usable. Fortunately, the issue is almost resolved in a private branch of one of the developers, Realthunder. If I don't have a very good reason to use the mainline (e.g. for generating CNC paths), I only use RT's version. His patches are being integrated with the mainline, but last time I checked, it was a pain to use.
Just to understand where you're compiling the code and running it from, are you just at the Raspberry Pi command line and running make from there and then the Raspi talks over CAN bus to the Moteus controller? Or are you running that C++ compiled code on the Moteus microcontroller? Or a daughter microcontroller like an STM32?
In this example it was running on a desktop computer which communicated over a fdcanusb to the moteus. In the video you can see the stdout of the process running in my emacs buffer. You could also use the exact same code compiled on a Raspberry Pi to talk to a moteus either with a fdcanusb, and with the published but not yet announced update to the pi3hat C++ library, the pi3hat.
Hi, I've been trying to design a tool to help people who have had major shoulder trauma, a semi-prosthesis to help patients raise their arm, could anti-gravity brudhless be a solution? Would the algorithm help move the arm?
Gravity compensation is a fine approach to use in exoskeletons or rehabilitive devices. While mjbots products are not suited for medical applications, I believe there are a number of companies that make exoskeleton products for theraputic use for various conditions.
It is valuable in any real world manipulation scenario, if you use a system model like this to do all the work you "know" needs to be done, then the feedback controller can be much stiffer as it only needs to handle "unexpected" disturbances.
You should be able to transliterate the C++ into python, as the APIs for the libraries are nearly identical. Join the mjbots Discord and share what problems you're having: discord.gg/W4hUpBb
How did you learn all of this ? Especially motor control basic foc control and logic , were you really good at math to pull of this off ? Dont tell me your a mit grad ? 😭