VEXcode Pro V5-ൽ അടിസ്ഥാന റോബോട്ട് ചലനങ്ങൾ സംയോജിപ്പിച്ചിരിക്കുന്നു

The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.

VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.

എൻകോഡർ കണക്കുകൂട്ടലിനും ചലന കൃത്രിമത്വത്തിനുമായിട്ടല്ല, മറിച്ച് ചില അടിസ്ഥാന ചലന കോഡുകളെ ഫംഗ്ഷനുകളായി എങ്ങനെ സംയോജിപ്പിക്കാമെന്ന് നിങ്ങളെ കാണിക്കുക എന്നതാണ് പ്രധാന ലക്ഷ്യം.

നിങ്ങളുടെ അടിസ്ഥാന ചലന കോഡ് നിർമ്മിക്കാൻ ഇനിപ്പറയുന്ന സാമ്പിൾ ചലന പ്രവർത്തനങ്ങൾ സഹായിക്കും:

  • കൂടുതൽ സംഘടിതമായി
  • കൂടുതൽ വായിക്കാൻ കഴിയുന്നത്
  • പിശകുകൾക്ക് സാധ്യത കുറവാണ്

ഒന്നാമതായി, നിങ്ങൾ ഇനിപ്പറയുന്ന അടിസ്ഥാന വേരിയബിളുകൾ നിർവചിക്കേണ്ടതുണ്ട്:

ഫ്ലോട്ട് വീൽ = 10.16;
ഫ്ലോട്ട് WB = 36.75; //V5 Clawbot കോൺഫിഗറേഷൻ അടിസ്ഥാനമാക്കി

കുറിപ്പ്: നിങ്ങൾ ഗിയർ അനുപാതം മാറ്റുകയാണെങ്കിൽ, ഗിയർ അനുപാതത്തെ അടിസ്ഥാനമാക്കി ഇനിപ്പറയുന്ന കണക്കുകൂട്ടലിൽ നേരിയ മാറ്റം വന്നേക്കാം.

മോട്ടോർ എൻകോഡറിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്ന മറ്റൊരു ലേഖനത്തിൽ ഇത് ചർച്ച ചെയ്യും:

ഫ്ലോട്ട് EncPerCm = 360/(ചക്രം* M_PI);
ഫ്ലോട്ട് EncPerDeg = WB/ചക്രം;

ഈ സാമ്പിൾ പിവറ്റ് ടേണിന് മാത്രമുള്ളതാണ്. ഉദാ. വലത് മോട്ടോർ = 100, ഇടത് മോട്ടോർ = -100, മുതലായവ.

രണ്ടാമതായി, താഴെ പറയുന്ന സാമ്പിളുകൾ നിങ്ങൾ അവലോകനം ചെയ്യുമ്പോൾ, പാരാമീറ്ററുകൾക്കും അവയുടെ സ്പെസിഫിക്കേഷനുകൾക്കുമായി ഓൺലൈൻ API റഫറൻസ് നോക്കാൻ നിങ്ങളെ പ്രോത്സാഹിപ്പിക്കുന്നു. പാരാമീറ്ററുകൾ പരിചയപ്പെടാൻ,https://api.vexcode.cloud/v5/html/സന്ദർശിക്കുക, ഉദാ:rotateToഎന്ന് തിരയുക.


സാമ്പിൾ 1: വിവിധ ദൂരങ്ങളെ അടിസ്ഥാനമാക്കി നേരായ ചലനത്തെ സംഗ്രഹിക്കുക.

ഫ്ലോട്ട് വീൽ = 10.16; 
ഫ്ലോട്ട് WB = 36.75; 
ഫ്ലോട്ട് EncPerCm = 360.0 / (വീൽ* M_PI); 

void reportMotionValues(motor m, int line){

  Brain.Screen.printAt(5,line, "%8.2lf%8.2lf%8.2f", 
    m.position(rev), 
    m.position(deg)); 
}

// ദൂരം സെന്റിമീറ്ററിലാണ്
void goStraight( ഫ്ലോട്ട് ദൂരം ){
	
	LeftMotor.resetPosition();
	LeftMotor.resetRotation();
	RightMotor.resetPosition();
	RightMotor.resetRotation();
  	
	float totalEnc = ദൂരം * EncPerCm;
	
	// കുറിപ്പ്: “deg” എന്നത് vex:: namespace-ൽ നിന്നാണ്. അതിനാൽ, നിങ്ങൾ 
        // "deg" എന്നും പേരുള്ള മറ്റൊരു വേരിയബിൾ സൃഷ്ടിക്കരുത്. 

       LeftMotor.setVelocity(50.0, ശതമാനം);
LeftMotor.spinToPosition(totalEnc, ഡിഗ്രി, തെറ്റ്);

RightMotor.setVelocity(50.0, ശതമാനം);
RightMotor.spinToPosition(totalEnc, ഡിഗ്രി, തെറ്റ്); while (LeftMotor.isSpinning() || RightMotor.isSpinning() ) wait(50, msec); return; } int main() { vexcodeInit(); goStraight(100.0); Brain.Screen.printAt(5,60, "Done"); reportMotionValues(LeftMotor, 30); reportMotionValues(RightMotor, 60); }

സാമ്പിൾ 2: വിവിധ ഡിഗ്രികളെ അടിസ്ഥാനമാക്കി ഇടത് തിരിവുകൾ എൻക്യാപ്സുലേറ്റ് ചെയ്യുക

ഫ്ലോട്ട് വീൽ = 10.16; 
ഫ്ലോട്ട് WB = 36.75; 
ഫ്ലോട്ട് EncPerCm = 360.0 / (വീൽ* M_PI); 
ഫ്ലോട്ട് EncPerDeg = WB / വീൽ;

void turnRight( ഫ്ലോട്ട് ഡിഗ്രികൾ){
	
	LeftMotor.resetPosition();
	LeftMotor.resetRotation();
	RightMotor.resetPosition();
	RightMotor.resetRotation();
  	
	ഫ്ലോട്ട് ടോട്ടൽഇൻക് = ഡിഗ്രികൾ * എൻസിപെർഡെഗ്;
	
       // കുറിപ്പ്: ഈ “ഡിഗ്രി” വെക്സ് നെയിംസ്‌പെയ്‌സിൽ നിന്നുള്ളതാണ്
       LeftMotor.setVelocity(100.0, ശതമാനം);
LeftMotor.spinToPosition(totalEnc, deg, false);

RightMotor.setVelocity(-100.0, ശതമാനം);
RightMotor.spinToPosition(-totalEnc, deg, false); while(LeftMotor.isSpinning() || RightMotor.isSpinning() ) wait(50, msec); return; } int main(){ ... വലത്തേക്ക് തിരിയുക(90.0); ... }

സാമ്പിൾ 3: ഒരൊറ്റ ഫംഗ്ഷനിൽ ഇടതും വലതും സംയോജിപ്പിച്ച് നോക്കുക.

void doTurning( float degrees ) {
	//
ന് മുകളിലുള്ള turnRight ന്റെ അതേ കോഡ് }

int main() {
...
   doTurning(90.0); // വലത് പിവറ്റ് ടേൺ
...
   doTurning(-90.0); // ഇടത് പിവറ്റ് ടേൺ
}

കൂടുതൽ വിപുലമായ പ്രോഗ്രാമിംഗിനായി, നിങ്ങളുടെ കോഡ് കൂടുതൽ വായിക്കാൻ കഴിയുന്നതാക്കണമെങ്കിൽ, നിങ്ങൾക്ക് ഇനിപ്പറയുന്നവ പരീക്ഷിക്കാം:

#doLeftTurn(d) doTurning(d)
നിർവചിക്കുക #doRigtTurn(d) doTurning(-d)

int main() {
...
   ഡൂലെഫ്റ്റ്ടേൺ(90.0);  
   ഡൂറൈറ്റ്ടേണിംഗ്(90.0);
...
}

#defineഎന്നത് ഒരു പ്രീപ്രൊസസ്സർ മാക്രോ എക്സ്പ്രഷൻ എന്ന് വിളിക്കുന്നു. ഈ പദപ്രയോഗത്തെ ഒരു പ്രതീകമായി കാണുക. കോഡിൽ ഈ ചിഹ്നം എവിടെയാണെങ്കിലും,എന്നത്എന്ന പദപ്രയോഗം ഉപയോഗിച്ച്doTurning(നിർദ്ദിഷ്ട മൂല്യം)ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കും.

പ്രീപ്രൊസസ്സർ മാക്രോ വ്യത്യസ്തമായ ഒരു വിപുലമായ വിഷയമാണ്, ഈ ലേഖനത്തിൽ അത് ചർച്ച ചെയ്യുന്നില്ല.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: