Shop OBEX P1 Docs P2 Docs Learn Events
Internet Enabled Force-Feedback 'Rod' — Parallax Forums

Internet Enabled Force-Feedback 'Rod'

RGuyserRGuyser Posts: 90
edited 2007-07-03 17:31 in General Discussion
Hey Everyone! Ive got a project... I need some advice on the mechanical side. Check out this illustration:
1axishaptic.gif

So. I am a bit stuck. Any ideas on how to make this thing feel like it would if you and a friend were fighting over a broomstick constrained to 1 axis of movement?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
3D & 2D Design - Technical Documentation
www.robertguyser.com
1608 x 1241 - 109K

Comments

  • FranklinFranklin Posts: 4,747
    edited 2007-02-07 16:01
    Do you want information on building the device or programming the software?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Stephen
  • RGuyserRGuyser Posts: 90
    edited 2007-02-07 18:12
    Do you want information on building the device or programming the software? said...


    Well, I have no worries about building whatever design i come up with, but in the meantime I am looking for advice or suggestions.. I dont know the best way to do this physically\mechanically..

    I am hoping someone else knows a bit more about force-feedback and closed-loop DC motor control... Enough to give some hints on a sensor\drive system.. The 2 have to be very intimately linked in this application, as the forces are dynamic and interrelated.

    thanks.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    3D & 2D Design - Technical Documentation
    www.robertguyser.com

    Post Edited (RGuyser) : 2/7/2007 6:16:52 PM GMT

  • LawsonLawson Posts: 870
    edited 2007-02-07 20:20
    making a "half teeter-totter" would be simpler to build. have a lever attached to the shaft of a gearmotor that has a low gear reduction (say 10:1) and a hi-torque motor. (this keeps the inertia of the system low, and the response times fast) Motor current would give a good approximation of the torque output of the motor. The motor's angular acceleration combined with the motor current and system inertia should allow a good approximation of the torque input to be calculated. A motor encoder would give a good position measurment. I'd also add a tachometer to directly measure the velocity because unless the encoder resolution is really high, diffrentiating the encoder position gives a low resolution velocity measurment. Another issue with diffrentiating the encoder position is that it adds a delay to the servo loop forcing the use of a faster update rate for the same performance.

    heh, this could be as easy as using the raw encoder position of system A as the position goal command for system B, while at the same time using the raw encoder position of system B as the position command of system A. (assuming a simple PID servol loop is used in each system A and B) Keeping the two servo loops from fighting could be interesting. I'd also think that the two linked systems would have instabilities each system alone would not have. (I wonder how well this would work for force amplification?)

    Is this going to be internet enabled? Tug-O-War from different time-zones!

    my 2 cents
  • RGuyserRGuyser Posts: 90
    edited 2007-02-09 05:36
    thanks!

    Yes. I want it to be internet enabled 'tug of war' . really this is research towards a larger goal, but i have simplified this larger goal into something easier to attain.the reason i am asking for help before building any test apparatus is that the timing cogs and belt, shaft couplers, etc. are very expensive, especially when building 2 identical devices.

    Your second paragraph outlines my initial conception of the project.. Device A's encoder directly updates the position of device B, and vice-versa. In addition, the current being consumed by the motors would be used to simulate force... The hard parts are many... feedback loops seem like a real problem... if device A tells device B to move just a little bit, and it overshoots....

    Grrr. this is hard, but I REALLY want to make it work.. Unfortunately I am possibly not smart enough.. I like to make pretty things..

    my first thought for the tug of war version involved a reel, a rope, a stepper motor, a spring loaded 'pneumatic tube', and a linear encoder... see...
    www.robertguyser.com/tug.jpg.

    In the near future I will hook up a small servo with encoder and a sense resistor circuit... To start....

    I am amazed noone else has done this project yet - internet tug of war.. i think its just soo cute.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    3D & 2D Design - Technical Documentation
    www.robertguyser.com
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2007-02-09 06:07
    RGuyser,

    Interesting concept!

    In order to do this, the "heart" of the device would consist of a strain-gauge at each end. BOTH values from the strain gauges should be equal or constantly strive to be equal.· With that said,·the only information that needs to be communicated is the·value of the strain-guage.· Each side would consist of a closed loop with reference to the strain-gauge values. What ever method you choose, a linear actuator, rope on a reel, etc. The idea would be to "match" the value from the strain gauge to the counter force of the actuator. Set limits in software, so that there needs to be a certain threshold on the strain-gauge before anything happens. This level should be set only slightly above any noise floor obtained from the sensors, so that at rest, everything is stable.

    Pseudo code(one side)

    1) Read Strain-gauge from remote side in the form of a data transmission
    2) Read Strain-gauge on·local side ; send information to remote side in the form of a data transmission
    3) If Strain-gauge from #1 is greater than Strain-gauge from #2 (add threshold) then increase pull on local actuator.
    4) If Strain-gauge from #1 is less than Strain-gauge from #2 (subtract threshold) then decrease pull on local actuator.
    5) repeat steps 1 through 5

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.

    Post Edited (Beau Schwabe (Parallax)) : 2/9/2007 6:13:59 AM GMT
  • LawsonLawson Posts: 870
    edited 2007-02-10 05:07
    I think position drift would be an issue if only data from a strain-gauge was sent back and forth. A cable reel would work just as well as a lever in the system I suggested above. A cable reel shouldn't even need a gearbox. (although it would need some way to maintain tension on the cable. use a long continuous belt with a handle on it?)
  • RGuyserRGuyser Posts: 90
    edited 2007-02-10 07:55
    Well,

    Thanks for the suggestions.. i am uploading this really half-assed worksheet i was using.. i sorta solve problems visually. and cuz i know i need help, i am doing it digitally for this project.. anyhow.. i think that both of you bring up good points... also worth mentioning, i am not going to build a giant machine that needs to be anchored to the foundation or whatever a real tug of war machine would require... its going to be for 2 fingers, pretty much.. i am working towards a different device.... which i do not know the term for.. but it is a grid of pins that you can push and make shapes.. i want to make an internet enabled one... yes. i know.. importantly, i want it to be forcefeedback both ways.. i dont know what else.. but... i am doing tug o war first!

    as you can see i stopped abruptly.. quitting time at work (hehe). and i somehow forgot the file at work. so i have to start a new one..

    but to explain what is here.. i think i have identified 4 states to make routines for:
    1. no action
    2. team a pulling only
    3. team b pulling only
    4 both teams pulling

    hardware (from the ol' 'inventory'):
    -DC servo with motor with 64CPR encoder (from largish inkjet)
    -section of linear encoder strip and optic sensor from a inkjet (dont know how many CPI yet, but its alot.. like 256)
    -simple damper device... whatever is most linear i can find.. also considering a spring scale with a 10lb limit or something)
    -thk linear slides - overkill!
    -Hip4801 & mosfet H-Bridge
    -Current Sense resistor and A/D convertor
    -1 or 2 BS2s per device

    i am working on trying to make pseudo-code loops to take care of each part.. the vb stuff is pretty easy for me, and the BS stuff is getting easier...

    so.. i will post a new sheet soon.. hopefully some more interesting suggestions will come in as i create it..

    thank you!

    robert
    tugofwar.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    3D & 2D Design - Technical Documentation
    www.robertguyser.com

    Post Edited (RGuyser) : 2/10/2007 7:59:53 AM GMT
  • LawsonLawson Posts: 870
    edited 2007-02-11 22:29
    AH! you already have some ball-slides.· I was thinking of other ways to do this because ball-slides are rarely cheap.· So a rack-and-pinion drive is certainly a good simple option.· www.sdp-si.com sells small gears and stuff for making mechanical prototypes.· (they have different selections in english and metric gearing so look at both)· If you use·a linear encoder make shure that the motor's·mount can be adjusted to minimise any backlash in the gears.··Any backlash will limit the maximum servo-loop gain that can be used·before the motor starts vibrating.·
  • RGuyserRGuyser Posts: 90
    edited 2007-02-12 16:30
    hehe... i got so lucky on my slides.. i have been slowly building a large CNC machine, and there are tons of 'leftovers'.

    these particular slides are brand new thks... 12" long, 4 rails, 4 blocks.. $30 for all of it. oh, i love ebay.

    in the meantime, i am late for work!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    3D & 2D Design - Technical Documentation
    www.robertguyser.com
  • PARPAR Posts: 285
    edited 2007-02-12 19:04
    RGuyser said...
    thanks!

    Yes. I want it to be internet enabled 'tug of war' .
    ...I am amazed noone else has done this project yet - internet tug of war.. i think its just soo cute.
    There was a tug o' war device discussed either in a Parallax forum, or elsewhere, in the past two years. I don't recall where. So, before you go further, you may want to google for it. There was a movie showing the thing in operation. It wasn't an internet-enabled device, but it was a "people against machine" style of mechanism.

    Meanwhile, if I happen across it, I'll let you know.
    PAR
  • RGuyserRGuyser Posts: 90
    edited 2007-02-12 20:34
    I DID A FAIRLY THOROUGH SEARCH. I DIDNT SEE ANYTHING.. MAN AGAINST MACHINE IS ENTIRELY DIFFERENT, AND IMO LESS INTERESTING... BUT THANKS FOR THE HEADSUP.

    SORRY FOR ALL CAP. GOOFY PDA WONT TPE LOWEERCASE ALL OF A SUDDEN!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    3D & 2D Design - Technical Documentation
    www.robertguyser.com
  • Brian SmithBrian Smith Posts: 44
    edited 2007-07-02 21:11
    RGuyser,

    Interesting idea.

    I like your solid modeling. Was that done in Pro-E? Ive been using Solidworks and It dosent look as cartoonish (not a bad thing)·as what you have. I like what you have, especially for a concept grawing.·Just wondering.
  • steve_bsteve_b Posts: 1,563
    edited 2007-07-03 17:31
    How about using synchro/resolvers?
    Google them to see how they work...but a summary would be....the action at one end gives an indicator at another.
    Our Radars use them....as do our wind direction systems.
    You have a synchro motor with 3windings (marked Stator 1, 2, 3) and a reference winding (marked R1,2). You put a reference voltage on R1/2 and connect a couple of these synchro resolvers up. In the case of a wind system, as the wind pushes the wind vane around, it changes the induced voltage on the stator. With the resolver connecting in parallel, you can connect a little arrow that will rotate with the wind vane from a remote location.

    Ok, these may or may not work for you....but to get things working across a network, you could use a synchro to digital converter, and send the packets along to a "digital>synchro converter" that'll put the action on that end.

    (being very vague and general with this as you have to find how to incorporate rotational directions in to your design...if applicable!)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·

    Steve

    "Inside each and every one of us is our one, true authentic swing. Something we was born with. Something that's ours and ours alone. Something that can't be learned... something that's got to be remembered."
Sign In or Register to comment.