inercial#
Inicializando la clase inercial#
Un sensor inercial se crea utilizando el siguiente constructor:
El constructor «inercial» crea un objeto inercial utilizando el sensor inercial interno del cerebro EXP.
Parámetro |
Descripción |
---|---|
director |
El directionType corresponde a un valor de rumbo positivo. El valor predeterminado es |
// Create a new object "Inertial" with the
// inertial class.
inertial Inertial = inertial();
El constructor inertial(port, dir)
crea un objeto inercial utilizando el sensor inercial interno del EXP Brain.
Parámetro |
Descripción |
---|---|
|
Un Puerto inteligente válido al que está conectado el sensor inercial. |
director |
El directionType corresponde a un valor de rumbo positivo. El valor predeterminado es |
// Construct a Inertial Sensor "Inertial" with the
// inertial class.
inertial Inertial = inertial(PORT1);
Este objeto “Inercial” se utilizará en todos los ejemplos posteriores a lo largo de esta documentación de API cuando se haga referencia a los métodos de clase inercial.
Métodos de clase#
calibrar()#
El sensor giroscópico o inercial ajustará automáticamente sus valores dependiendo de la orientación del EXP Brain durante la calibración para que permanezca consistente en todas las posibles orientaciones del EXP Brain.
Este método se llama de las siguientes maneras:
El método calibrate()
calibra el sensor inercial. La calibración debe realizarse cuando el sensor inercial no esté en movimiento. Espere al menos 2 segundos para que se complete la calibración.
Devoluciones: Ninguna.
// Start calibration.
Inertial.calibrate();
El método calibrate(value)
calibra el sensor inercial. La calibración debe realizarse cuando el sensor inercial no esté en movimiento. Espere al menos 2 segundos para que se complete la calibración.
Parámetros |
Descripción |
---|---|
valor |
Establece el tiempo de calibración. El valor predeterminado es 0. |
Devoluciones: Ninguna.
// Start calibration with the calibration time set to 3 seconds.
Inertial.calibrate(3);
está calibrando()#
El método isCalibrating()
verifica si el sensor inercial se está calibrando actualmente.
Devuelve: true
si el sensor inercial está calibrando. false
si no lo está.
// Start calibration.
Inertial.calibrate();
// Print that the Inertial Sensor is calibrating while
// waiting for it to finish calibrating.
while(Inertial.isCalibrating()){
Brain.Screen.clear();
Brain.Screen.print("Inertial Calibrating");
wait(50, msec);
}
restablecerEncabezado()#
El método resetHeading()
restablece el rumbo del sensor inercial a 0.
Devoluciones: Ninguna.
establecerEncabezado()#
El método setHeading(value, units)
establece el rumbo del sensor inercial a un valor especificado.
Parámetros |
Descripción |
---|---|
valor |
El valor del encabezado a establecer. |
unidades |
Una rotationUnit válida. |
Devoluciones: Ninguna.
// Set the Inertial Sensor's heading to 180 degrees.
Inertial.setHeading(180);
título()#
El método heading(units)
devuelve el rumbo actual del sensor inercial.
Parámetros |
Descripción |
---|---|
unidades |
Una rotationUnit válida. El valor predeterminado es |
Devuelve: Un doble que representa el rumbo actual del sensor inercial en las unidades especificadas.
// Get the current heading for the Inertial Sensor.
double value = Inertial.heading();
restablecerRotación()#
El método resetRotation()
restablece la rotación del sensor inercial a 0.
Devoluciones: Ninguna.
setRotation()#
El método setRotation(value, units)
establece la rotación del sensor inercial en un valor especificado.
Parámetros |
Descripción |
---|---|
valor |
El valor de rotación a establecer. |
unidades |
Una rotationUnit válida. |
Devoluciones: Ninguna.
// Set the Inertial Sensor's rotation to 180 degrees.
Inertial.setRotation(180);
rotación()#
El método rotation(units)
devuelve la rotación actual del sensor inercial.
Parámetros |
Descripción |
---|---|
unidades |
Una rotationUnit válida. El valor predeterminado es |
Devuelve: Un doble que representa la rotación actual del sensor inercial en las unidades especificadas.
// Get the current rotation for the Inertial Sensor.
double value = Inertial.rotation();
ángulo()#
El método angle(units)
devuelve el ángulo actual del sensor inercial.
Parámetros |
Descripción |
---|---|
unidades |
Una rotationUnit válida. El valor predeterminado es |
Devuelve: Un doble que representa el ángulo actual del sensor inercial en las unidades especificadas.
// Get the current angle for the Inertial Sensor.
double value = Inertial.angle();
rollo()#
El método roll(units)
devuelve el ángulo de balanceo del sensor inercial.
Parámetros |
Descripción |
---|---|
unidades |
Una rotationUnit válida. El valor predeterminado es |
Devuelve: Un doble que representa el valor de balanceo del sensor inercial.
paso()#
El método pitch(units)
devuelve el ángulo de balanceo del sensor inercial.
Parámetros |
Descripción |
---|---|
unidades |
Una rotationUnit válida. El valor predeterminado es |
Devuelve: Un doble que representa el valor de paso del sensor inercial.
guiñada()#
El método yaw(units)
devuelve el ángulo de guiñada del sensor inercial.
Parámetros |
Descripción |
---|---|
unidades |
Una rotationUnit válida. El valor predeterminado es |
Devuelve: Un doble que representa el valor de guiñada del sensor inercial.
orientación()#
El método orientation(axis, units)
devuelve la orientación de un eje del sensor inercial.
Parámetros |
Descripción |
---|---|
eje |
Un axisType válido. |
unidades |
Una rotationUnit válida. |
Devuelve: Un doble que representa el valor de la orientación del eje en las unidades especificadas.
// Get the orientation value for the X axis of the
// Inertial Sensor.
double orient = Inertial.orientation(xaxis);
tasa de giro()#
El método gyroRate(axis, units)
devuelve la velocidad del giroscopio para un eje del sensor inercial.
Parámetros |
Descripción |
---|---|
eje |
Un axisType válido. |
unidades |
Una velocityUnit válida. |
Devuelve: Un doble que representa el valor de la velocidad del giroscopio del eje en las unidades especificadas.
// Get the gyro rate for the Z axis of the Inertial Sensor.
double zrate = Inertial.gyroRate(zaxis);
aceleración()#
El método acceleration(axis)
devuelve la aceleración de un eje específico del sensor inercial.
Parámetros |
Descripción |
---|---|
eje |
Un axisType válido. |
Devuelve: Un doble que representa el valor de la aceleración del eje en unidades de gravedad.
// Get the acceleration for the Z axis of the
// Inertial Sensor.
double accel = Inertial.acceleration(zaxis);
// Print the value of the current acceleration of the z-axis
// of the Inertial Sensor to the Brain's screen.
Brain.Screen.print(accel);
cambió()#
El método changed(callback)
registra una función de devolución de llamada para cuando cambia el rumbo del sensor inercial.
Parámetros |
Descripción |
---|---|
llamar de vuelta |
La función de devolución de llamada que se llamará cuando cambie el rumbo del sensor inercial. |
Devuelve: Una instancia de la clase Event.
// Define the inertialChanged function with a void return
// type, showing it doesn't return a value.
void inertialChanged() {
// The brain will print that the Inertial Sensor changed
// on the Brain's screen.
Brain.Screen.print("accelerometer changed");
}
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Turn the robot right.
Drivetrain.turn(right);
// Run inertialChanged when the value of the
// Inertial Sensor changes.
Inertial.changed(inertialChanged);
}
colisión()#
El método collision(axis, x, y, z)
registra una función de devolución de llamada para cuando el sensor inercial detecta una colisión.
Parámetros |
Descripción |
---|---|
eje |
Un axisType válido. |
incógnita |
Un doble para los valores de aceleración para el eje x. |
y |
Un doble para los valores de aceleración para el eje y. |
z |
Un doble para los valores de aceleración para el eje z. |
Devuelve: Una instancia de la clase Event.
marca de tiempo()#
El método timestamp()
solicita la marca de tiempo del último paquete de estado recibido del sensor inercial.
Devuelve: Marca de tiempo del último paquete de estado como un entero de 32 bits sin signo en milisegundos.
instalado()#
El método installed()
regresa si el sensor inercial está instalado.
Devuelve: true
si el sensor inercial está instalado. false
si no lo está.