Go to Post Let's not speak without knowing the "facts." If you say something please have valid reasonings behind it. =) - Arefin Bari [more]
Home
Go Back   Chief Delphi > FIRST > General Forum
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rating: Thread Rating: 12 votes, 5.00 average. Display Modes
Prev Previous Post   Next Post Next
  #14   Spotlight this post!  
Unread 08-03-2011, 14:21
fox46's Avatar
fox46 fox46 is offline
Registered User
FRC #2013 (Cybergnomes)
Team Role: Mentor
 
Join Date: Feb 2003
Rookie Year: 2000
Location: Toronto, ON, Canada
Posts: 400
fox46 has a reputation beyond reputefox46 has a reputation beyond reputefox46 has a reputation beyond reputefox46 has a reputation beyond reputefox46 has a reputation beyond reputefox46 has a reputation beyond reputefox46 has a reputation beyond reputefox46 has a reputation beyond reputefox46 has a reputation beyond reputefox46 has a reputation beyond reputefox46 has a reputation beyond repute
Re: Take the "Bane" out of your Banebot P60s - Solution to Banebot P60 Weaknesses

Correct-
Quote:
biased with gas shocks
I never said it was balanced. The shocks only relieve some of the load, they do not remove it.

Ether: We may be thinking the same thing but I am just having a little bit of trouble visualizing what this pseudo code will do. Are newCmd and oldCmd encoder values or motor commands? (bear in mind I have very limited programming knowlege). I was thinking some sort of function like this:

Quote:
accelerationscaling = |originvalue - destinationvalue| + (0.1 * max speed)
decelerationscaling = |destinationvalue - originvalue| + (0.1 * max speed)

"Where originvalue and destinationvalue are the position of the arm as determined by the encoders. This tells the function how close it is to the target position (affects deceleration of the mechanism) and how far away from its origin position (affects acceleration). The addition of the 10% factor is to eliminate the asymptote in the speed of the arm near its target and origin positions. Otherwise it would be infinitely slow starting and stopping."

if (accelerationscaling > decelerationscaling) scalingfactor = decelerationscaling

else

if (accelerationscaling < decelerationscaling) scalingfactor = accelerationscaling

"This basically makes the function look at the decelerationscaling factor when it is time to start throttling down the motor as it approaches its destination. Or it makes it look at accelerationfactor when it is time to throttle the motor up as it moves away from the original position."

Motor speed value = Max speed value in direction of target * scalingfactor

"This part of the function adjusts the speed of the motor relative to how close it is getting to its destination position or how far away it is from its original position."
What I am trying to accomplish would be to start the motors off slowly, throttle them up to full speed as the arm gets moving, and then as it approaches its destination point, to throttle them back down. Basically a soft start and soft stop function. Is this the same sort of thing your pseudocode does?
__________________
Mentor, Team 2013 Cybergnomes 2010 - 2014, 2016
Mentor, Team 3756 RamFerno 2011 - 2013
Mentor, Team 854 Iron Bears 2005-2007
Founding member, Team 854 Iron Bears 2000-2005

Mech.Eng.+Mgt University of Ontario 2009
B.Ed OCT Trent University 2015
Professional Education and Product Knowledge Consultant - Toyota Canada Inc.
Reply With Quote
 


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 13:47.

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