Recommended Posts

On 1/30/2021 at 9:14 AM, Mr Jos said:

@all of you: Wanted to let you know that it is possible with Micropython/Pybricks to perform Inverse Kinematics on the 6DoF!!

Now I want to find out if and how I can use a bluetooth controller together with the 6DoF. I think like Playstation or something? I don't have any consoles. But what I want to do is move X/Y with joystick whilst maintaining Z altitude, that gets controlled by other buttons. 2nd joystick for Yaw/Pitch and buttons for Roll. Then use a button to save positions (with the forward kinematics), and then let the program run. But not tracking exactly what was done with remote, but using a linear path with IK.

 

Good to know Pybricks is viable!  I'm finding it a test of patience to boot up 2 ev3s running ev3dev.  Also looking to see if hub-to-hub communication will be better on Pybricks than with RPyC.  With my current implementation using RPyC, the slave has an inherent delay and for some reason resetting the "zero" positions of the motors doesn't work reliably.

 

I recommend you go get yourself a PS4 controller, it has enough joysticks and buttons to control a robot arm for sure!   I also found out that you can "read" all the inputs from the joypad, touchpad, and accelerometer on the PS4 controller all at the same time.   Just imagine the control you can have with your robot arm with the combination of these inputs in your hand. =)

Check this out and follow on the comments on Github:

https://www.ev3dev.org/projects/2018/09/02/PS4Explor3r/

 

1 hour ago, Tomphase3 said:

My 6 DOF manipulator has been sitting on a shelf for a few weeks, waiting for more programming. I've decided to pause programming until I have a better handle on inverse kinematics. The other day I came across this:

https://github.com/lanius/tinyik 

"tinyik is a simple and naive inverse kinematics solver."

I need to look at this more closely, but it does look pretty reasonable. Going through the library code, I can see the inverse kinematics solver is iterative/analytical/converging on a solution, as you would expect. Beyond that, I can't yet vouch for the efficacy of the code. However it's promising, and most appealing to my laziness. All I have to do is plug in the coordinates of the end effector, and I get the thetas (angles) for all the joints. For now, I'm not concerned about the orientation of the end effector.

At a minimum, this is raising my comfort level.

 

Good find and thanks for sharing!  I'll be trying this library out when I can go back to working on my robot arm!   For the meantime, I've only been able to make some tweaks to my build - less rare parts at the base, fixed some clicking issue at the waist, and some body panel color change.

 

800x600.jpg

With the gripper end-effector

800x600.jpg

No end-effector

Share this post


Link to post
Share on other sites

Ninoguba: Thanks for the PS4 controller recommendation. I'm now the proud owner of the device, and have been having fun figuring out events: this is a pleasant diversion. Did you ever manage to intercept accelerometer events?

Share this post


Link to post
Share on other sites
3 hours ago, Tomphase3 said:

Ninoguba: Thanks for the PS4 controller recommendation. I'm now the proud owner of the device, and have been having fun figuring out events: this is a pleasant diversion. Did you ever manage to intercept accelerometer events?

Yes, I recall being able to intercept events from the accelerometer input but haven’t gone far as interpreting them for control of the arm. I’ll check if I kept some notes and share with you the event codes. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.