Go to Post Words mean what words mean. If your robot is sitting on the ball, then by definition it is not hanging from the bar. NO 50 point bonus. - dlavery [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 04-12-2011, 00:54
biojae's Avatar
biojae biojae is offline
Likes Omni drives :)
AKA: Justin Stocking
FTC #5011 (BOT SQUAD) && FTC#72(Garage bots)&& FRC#0399 (Eagle Robotics)
Team Role: College Student
 
Join Date: Oct 2008
Rookie Year: 2008
Location: Lancaster
Posts: 276
biojae is a jewel in the roughbiojae is a jewel in the roughbiojae is a jewel in the rough
Grabbing oblong objects

I have a grabber mechanism that can pickup oblong objects.
How can I program it so that the grabber can sense when it has an object in its grasp, and change the setpoint of the closed loop controller to keep a gentle pressure on the object?

The only sensor that this mechanism has is a potentiometer that is used for position control.

The orientation of the object is not known by the robot beforehand, it has to be able to determine it only via the potentiometer.

I have tried using the first derivative of the potentiometer's values to determine if the grabber was moving or not, but that was very unstable.
__________________
FTC Team 72 - No site
FRC Team 399 - http://www.team399.org
2010 Rockwell Collins Innovation in Control Award - (Use of the CAN bus, among other reasons) Phoenix, Arizona!
  #2   Spotlight this post!  
Unread 04-12-2011, 04:55
Spirator Spirator is offline
Registered User
AKA: Munaum Muhammad
FRC #3132 (The Thunder Down Under)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2010
Location: Sydney, Australia
Posts: 109
Spirator is a jewel in the roughSpirator is a jewel in the roughSpirator is a jewel in the rough
Re: Grabbing oblong objects

You could wire up a limit switch as a simple boolean sensor.
__________________
  #3   Spotlight this post!  
Unread 04-12-2011, 08:51
CNettles11's Avatar
CNettles11 CNettles11 is offline
Registered User
AKA: Chris Nettles
FRC #3502 (Octo-Pi-Rates)
Team Role: Mentor
 
Join Date: Jan 2011
Rookie Year: 2011
Location: Tallahassee, FL
Posts: 122
CNettles11 is a jewel in the roughCNettles11 is a jewel in the roughCNettles11 is a jewel in the roughCNettles11 is a jewel in the rough
Re: Grabbing oblong objects

The limit switch is the easiest solution.
__________________

  #4   Spotlight this post!  
Unread 04-12-2011, 08:53
Ninja_Bait's Avatar
Ninja_Bait Ninja_Bait is offline
Former Prez of Making Things Go
AKA: Jake Potter
FRC #0694 (StuyPulse)
Team Role: Alumni
 
Join Date: Apr 2010
Rookie Year: 2008
Location: New York
Posts: 650
Ninja_Bait has a reputation beyond reputeNinja_Bait has a reputation beyond reputeNinja_Bait has a reputation beyond reputeNinja_Bait has a reputation beyond reputeNinja_Bait has a reputation beyond reputeNinja_Bait has a reputation beyond reputeNinja_Bait has a reputation beyond reputeNinja_Bait has a reputation beyond reputeNinja_Bait has a reputation beyond reputeNinja_Bait has a reputation beyond reputeNinja_Bait has a reputation beyond repute
Re: Grabbing oblong objects

You may be able to detect resistance from the ball with the potentiometer. If it's rotating slower or rotating in the opposite direction at times, that should indicate that the football is held tightly enough for it to push back against the motor. It would probably work best against a weak motor setup.
__________________
You can't fix something that isn't broken... but you can always break things that aren't fixed!

  #5   Spotlight this post!  
Unread 04-12-2011, 08:55
CNettles11's Avatar
CNettles11 CNettles11 is offline
Registered User
AKA: Chris Nettles
FRC #3502 (Octo-Pi-Rates)
Team Role: Mentor
 
Join Date: Jan 2011
Rookie Year: 2011
Location: Tallahassee, FL
Posts: 122
CNettles11 is a jewel in the roughCNettles11 is a jewel in the roughCNettles11 is a jewel in the roughCNettles11 is a jewel in the rough
Re: Grabbing oblong objects

A football you say? Oh here we go
__________________

  #6   Spotlight this post!  
Unread 04-12-2011, 14:03
jhersh jhersh is offline
National Instruments
AKA: Joe Hershberger
FRC #2468 (Appreciate)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 1997
Location: Austin, TX
Posts: 1,006
jhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond repute
Re: Grabbing oblong objects

Quote:
Originally Posted by biojae View Post
I have a grabber mechanism that can pickup oblong objects.
How can I program it so that the grabber can sense when it has an object in its grasp, and change the setpoint of the closed loop controller to keep a gentle pressure on the object?

The only sensor that this mechanism has is a potentiometer that is used for position control.

The orientation of the object is not known by the robot beforehand, it has to be able to determine it only via the potentiometer.

I have tried using the first derivative of the potentiometer's values to determine if the grabber was moving or not, but that was very unstable.
I recommend you use no additional sensor other than the current sensor that is already in the Jaguar. In current control mode, you can specify torque to apply and it will hold a grip on the object wherever it is encountered.

-Joe
  #7   Spotlight this post!  
Unread 04-12-2011, 18:00
biojae's Avatar
biojae biojae is offline
Likes Omni drives :)
AKA: Justin Stocking
FTC #5011 (BOT SQUAD) && FTC#72(Garage bots)&& FRC#0399 (Eagle Robotics)
Team Role: College Student
 
Join Date: Oct 2008
Rookie Year: 2008
Location: Lancaster
Posts: 276
biojae is a jewel in the roughbiojae is a jewel in the roughbiojae is a jewel in the rough
Re: Grabbing oblong objects

Quote:
Originally Posted by jhersh View Post
I recommend you use no additional sensor other than the current sensor that is already in the Jaguar. In current control mode, you can specify torque to apply and it will hold a grip on the object wherever it is encountered.

-Joe
I suppose that I should have been a little more specific.
This is for FTC, and the mechanism uses continuous turn servos for power.

I am not using jaguar motor controllers for this mechanism as they are not legal for FTC.
As far as I know, the HiTechnic Motor Controllers do not measure current, and the Servo controllers don't either.

As of last year's Q and A, putting a current sensor in line is not allowed.
__________________
FTC Team 72 - No site
FRC Team 399 - http://www.team399.org
2010 Rockwell Collins Innovation in Control Award - (Use of the CAN bus, among other reasons) Phoenix, Arizona!
  #8   Spotlight this post!  
Unread 05-12-2011, 20:07
theprgramerdude theprgramerdude is offline
WPI Freshman
AKA: Alex
FRC #2503 (Warrior Robotics)
Team Role: Mentor
 
Join Date: Feb 2010
Rookie Year: 2008
Location: Brainerd, Minnesota
Posts: 347
theprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud of
Re: Grabbing oblong objects

Do you know why your first derivative potentiometer readings may be unstable? I'd recommend trying to instead take the average derivative over a period instead, so either integrate a few derivative values and divide with respect to time, or just take the readings from the potentiometer at a much slower rate (I'd recommend the first one if your ADC+Pot combo is possibly the issue and you have the compute power, it essentially equates to crude oversampling).
__________________
Attending: MN Duluth Regional
  #9   Spotlight this post!  
Unread 06-12-2011, 02:04
biojae's Avatar
biojae biojae is offline
Likes Omni drives :)
AKA: Justin Stocking
FTC #5011 (BOT SQUAD) && FTC#72(Garage bots)&& FRC#0399 (Eagle Robotics)
Team Role: College Student
 
Join Date: Oct 2008
Rookie Year: 2008
Location: Lancaster
Posts: 276
biojae is a jewel in the roughbiojae is a jewel in the roughbiojae is a jewel in the rough
Re: Grabbing oblong objects

Quote:
Originally Posted by theprgramerdude View Post
Do you know why your first derivative potentiometer readings may be unstable? I'd recommend trying to instead take the average derivative over a period instead, so either integrate a few derivative values and divide with respect to time, or just take the readings from the potentiometer at a much slower rate (I'd recommend the first one if your ADC+Pot combo is possibly the issue and you have the compute power, it essentially equates to crude oversampling).
The HiTechnic prototype board has 10bits of ADC resolution.

Quote:
Originally Posted by Hitechnic.com;
The prototyping board update rate may be controlled within a range of 4-100 milliseconds per sample.
So, it can do 10 - 250 samples per second.
The code that I tested was sampling every 10 ms, or 100 times a second.

The mechanism is using a 270 degree linear 10k Ohm potentiometer, and uses almost all of that range ( > 230 degrees)
through gearing, and actual movement range.
with that, there are about 3.79259 ticks per degree on the pot.

While running, the velocity would be about 3 ticks per cycle.
The problem arises when it is not moving, as there are a few readings that have near the same values as when it is not moving.

I will try it with a longer sampling time, in an attempt to get more ticks per cycle, which should allow a better distinction between moving and not moving.

The question then becomes: how do I use the velocity readings to change the setpoint of the PID controller?
I would imagine that a timer would be needed, as I don't want it to think that it was stalled right when it started moving and thus immediately change the setpoint and not move.
__________________
FTC Team 72 - No site
FRC Team 399 - http://www.team399.org
2010 Rockwell Collins Innovation in Control Award - (Use of the CAN bus, among other reasons) Phoenix, Arizona!
  #10   Spotlight this post!  
Unread 06-12-2011, 02:19
AdamHeard's Avatar
AdamHeard AdamHeard is offline
Lead Mentor
FRC #0973 (Greybots)
Team Role: Mentor
 
Join Date: Oct 2004
Rookie Year: 2004
Location: Atascadero
Posts: 5,506
AdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond repute
Send a message via AIM to AdamHeard
Re: Grabbing oblong objects

Without knowing the exact mechanical design it's hard to give completely valid advice.

First it'd be good to test (as discussed) if looking at the velocity of the sensor is enough to determine the "edge" of the piece. If that's a no, this plan clearly won't pan out without modifications.

Could you modify the design such that the motor doesn't directly close the jaw, but rather moves and is linked to the jaw with a spring? If you got the ratio/spring figured out right this would allow you to "overclamp" substantially, and have a forgiving/flexible clamp due to the spring.

This would certainly simplify the software, as you only have one PID setpoint to call for closing, and it never changes.

You could also use some sort of limit/touch sensor on the jaw to indicate when the jaw first makes contact with the object, then set your setpoint to some value further than that (a constant which you figure out by testing of course).

It's important to take a step back and see if the overall approach needs modification, versus more advanced individual features.
  #11   Spotlight this post!  
Unread 06-12-2011, 03:06
biojae's Avatar
biojae biojae is offline
Likes Omni drives :)
AKA: Justin Stocking
FTC #5011 (BOT SQUAD) && FTC#72(Garage bots)&& FRC#0399 (Eagle Robotics)
Team Role: College Student
 
Join Date: Oct 2008
Rookie Year: 2008
Location: Lancaster
Posts: 276
biojae is a jewel in the roughbiojae is a jewel in the roughbiojae is a jewel in the rough
Re: Grabbing oblong objects

Quote:
Originally Posted by AdamHeard View Post
Without knowing the exact mechanical design it's hard to give completely valid advice.
Ok. Here's the design.

It is a chain based fourbar grabber. It is powered by 2 continuous turn servos.
Both arms are powered and move simultaneously. The potentiometer is part of the gear reduction.

Attached is a sketch.

The black object in the center is a crate.
The blue members are the C channels.
The red circles are sprockets/gears.

The sprockets that connect to the gears are mounted solidly to each beam, so that they do not spin, thus providing the fourbar motion.
The gears turn the black channels.
Attached Thumbnails
Click image for larger version

Name:	Photo12052354.jpg
Views:	17
Size:	144.4 KB
ID:	11157  Click image for larger version

Name:	Photo12060016.jpg
Views:	8
Size:	135.1 KB
ID:	11158  
__________________
FTC Team 72 - No site
FRC Team 399 - http://www.team399.org
2010 Rockwell Collins Innovation in Control Award - (Use of the CAN bus, among other reasons) Phoenix, Arizona!

Last edited by biojae : 06-12-2011 at 03:19. Reason: added side view sketch
  #12   Spotlight this post!  
Unread 07-12-2011, 17:49
Justin Stiltner's Avatar
Justin Stiltner Justin Stiltner is offline
The big guy
no team
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 2000
Location: Blacksburg, Va.
Posts: 305
Justin Stiltner has much to be proud ofJustin Stiltner has much to be proud ofJustin Stiltner has much to be proud ofJustin Stiltner has much to be proud ofJustin Stiltner has much to be proud ofJustin Stiltner has much to be proud ofJustin Stiltner has much to be proud ofJustin Stiltner has much to be proud ofJustin Stiltner has much to be proud ofJustin Stiltner has much to be proud of
Send a message via ICQ to Justin Stiltner Send a message via AIM to Justin Stiltner Send a message via MSN to Justin Stiltner Send a message via Yahoo to Justin Stiltner
Re: Grabbing oblong objects

with the sensors you have I think the most obvious one is:

You know the potentiometer value for a gripper that is closed with nothing in it(object of zero width) and you know fully open. If you command your claw to close, it does so, and the steady state value achieved is not that of a zero width object. Then you know you must have grabbed something, and your claw is no longer moving(steady state) so you change from your closed loop position controller to just applying some small amount of motor pwm signal that is enough to hold the object.

This works in this case because the motor is stalled and the pwm in effect controls the voltage, which will be proportional to the current which produces the torque in the motor.

alternatively you could have the set point for the claw position controller be set just a bit more closed than the steady state value, assuming you are only using a proportional controller this will have the same effect as setting a small pwm value as previously stated.
__________________
Justin Stiltner
Lead Robot Inspector, VCU Regional
Unmanned Systems Lab, Virginia Tech
KI4URQ
  #13   Spotlight this post!  
Unread 07-12-2011, 18:18
Jared Russell's Avatar
Jared Russell Jared Russell is online now
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,078
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Grabbing oblong objects

Have you considered passive compliance (e.g., something deformable like foam or rubber) on the interior of your gripper? Then design your setpoint so that it is at a position which compresses your gripper to the desired effect.

Alternatively, if you don't mind stalling your servos, simply tell the gripper to close all the way (or close to it), and don't use an I term in your PID controller. This will effectively limit how hard the controller tries to drive the motors.
  #14   Spotlight this post!  
Unread 05-12-2011, 21:21
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,113
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Grabbing oblong objects

Quote:
Originally Posted by BJT View Post
pneumatics...
...aren't really an option for FTC.
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 23:27.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi