wuphilipp / gello_mechanical

MIT License
127 stars 18 forks source link

Add mechanical parts for the Annin AR4 arm #6

Closed adob closed 8 months ago

adob commented 9 months ago

Mechanical parts for the Annin AR4 arm

wuphilipp commented 9 months ago

Hey, sorry for the delay! Thanks, this looks great! Could you add a picture of the physical printed GELLO controller ?

adob commented 8 months ago

Done

Hey, sorry for the delay! Thanks, this looks great! Could you add a picture of the physical printed GELLO controller ?

wuphilipp commented 8 months ago

@adob is it ok if I promote this on twitter? I can use your twitter handle as well if you would like (or your github otherwise) to give you credit

adob commented 8 months ago

Yeah, that's totally fine! My twitter handle is a_dob https://twitter.com/a_dob.

On Tue, Mar 5, 2024 at 8:49 PM Philipp Wu @.***> wrote:

@adob https://github.com/adob is it ok if I promote this on twitter? I can use your twitter handle as well if you would like (or your github otherwise) to give you credit

— Reply to this email directly, view it on GitHub https://github.com/wuphilipp/gello_mechanical/pull/6#issuecomment-1980083104, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEUI7XRBVUF6JAM5SRALITYW2N6BAVCNFSM6AAAAABC3HXRLWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBQGA4DGMJQGQ . You are receiving this because you were mentioned.Message ID: @.***>

adob commented 8 months ago

Hi Philipp,

Just want to give you an update on a couple of observations/issues that I've observed:

Wobbliness. In my build, there is a lot of wobble in the connection between the Dynamixel horns and the 3D-printed parts to which they are attached. The main problem is that I could not drive the screws all the way in using my eye-glass style mini screwdriver. Past a certain point, there was just too much resistance. My design allowed for the screws to extend 2.9mm but this might be too much. What is the amount used in your design? Did you have this problem? I am considering replacing the screws with hex bolts, which should allow more torque to more easily applied when driving them in.

Vibration/jerky motion in the follower arm. I believe this issue is related to motion planning when controlling the follower arm. For example, suppose you want to move joint 2 (J2) from -25⁰ to +25°. If you issue the command directly, the arm will accelerate under constant acceleration from rest until it reaches maximum speed, coast at a constant velocity, and finally decelerate until it reaches a stop at the destination position. Acceleration, max speed, and in and out speeds are all configurable. However, if you perform the same movement with the GELLO leader, the follower will essentially be commanded to do that move in (let's say) 0.1° increments. Under my current architecture, during each increment, the arm will accelerate, decelerate (with no coast phase), then rest for a little while before moving again. Each acceleration/deceleration cycle creates a little bit of vibration that can add up if the increment frequency is high enough. This can be partially addressed by reducing acceleration but this also reduces arm capability.

I think a key problem is that when the arm is commanded to move to a certain position, it assumes that it needs to be at a stop when it gets there, but that's not always the case. We might be able to get velocity readings from the Dynamixel but this is not really workable with ALOHA behavioral cloning architecture as the trained model only outputs joint positions at each timestep. I'm curious if you're aware of any solutions for this. If we make an assumption about current speed, we may have to backtrack if we're wrong. I think we could maybe solve this by delaying moving the leader by one step. A simple approach might be to calculate the average speed over the previous two time steps and tell the arm to move at that speed to the current gello position, i.e. essentially at every time step, the arm is to told to move two time steps ahead. Let me know what you think.

Alex

On Wed, Mar 6, 2024 at 11:37 AM Aleksandr Dobkin @.***> wrote:

Yeah, that's totally fine! My twitter handle is a_dob https://twitter.com/a_dob.

On Tue, Mar 5, 2024 at 8:49 PM Philipp Wu @.***> wrote:

@adob https://github.com/adob is it ok if I promote this on twitter? I can use your twitter handle as well if you would like (or your github otherwise) to give you credit

— Reply to this email directly, view it on GitHub https://github.com/wuphilipp/gello_mechanical/pull/6#issuecomment-1980083104, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEUI7XRBVUF6JAM5SRALITYW2N6BAVCNFSM6AAAAABC3HXRLWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBQGA4DGMJQGQ . You are receiving this because you were mentioned.Message ID: @.***>