Update
This commit is contained in:
parent
1505a4a24b
commit
8731b22a75
BIN
Shield dimentions.sketch
Normal file
BIN
Shield dimentions.sketch
Normal file
Binary file not shown.
43
embedded/goal_detector/goal_detector.ino
Normal file
43
embedded/goal_detector/goal_detector.ino
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
#define OUT_ROBOT 6
|
||||||
|
#define IN_ROBOT 8
|
||||||
|
|
||||||
|
#define OUT_PLAYER 7
|
||||||
|
#define IN_PLAYER 9
|
||||||
|
|
||||||
|
int input_value_player;
|
||||||
|
int input_value_robot;
|
||||||
|
const int score_threshold_robot = 750;
|
||||||
|
const int score_threshold_player = 950;
|
||||||
|
int cycles = 0;
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
Serial.begin(115200);
|
||||||
|
pinMode(OUT_ROBOT, OUTPUT);
|
||||||
|
pinMode(OUT_PLAYER, OUTPUT);
|
||||||
|
pinMode(IN_ROBOT, INPUT);
|
||||||
|
pinMode(IN_PLAYER, INPUT);
|
||||||
|
digitalWrite(OUT_PLAYER, HIGH);
|
||||||
|
digitalWrite(OUT_ROBOT, HIGH);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
cycles++;
|
||||||
|
// delay(5);
|
||||||
|
input_value_player = analogRead(IN_PLAYER);
|
||||||
|
input_value_robot = analogRead(IN_ROBOT);
|
||||||
|
// Serial.println(input_value_player);
|
||||||
|
// Serial.println(input_value_robot);
|
||||||
|
if (input_value_player < score_threshold_player) {
|
||||||
|
Serial.println("***ROBOT SCORED***");
|
||||||
|
delay(500);
|
||||||
|
} else if (input_value_robot < score_threshold_robot) {
|
||||||
|
Serial.println("***PLAYER SCORED***");
|
||||||
|
delay(500);
|
||||||
|
} else {
|
||||||
|
if (cycles > 2000) {
|
||||||
|
Serial.println("...");
|
||||||
|
cycles = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -13,6 +13,28 @@ class Odrive:
|
|||||||
def set_zero(self):
|
def set_zero(self):
|
||||||
self.drive.axis0.encoder.set_linear_count(0)
|
self.drive.axis0.encoder.set_linear_count(0)
|
||||||
self.drive.axis1.encoder.set_linear_count(0)
|
self.drive.axis1.encoder.set_linear_count(0)
|
||||||
|
self.drive.axis0.controller.config.input_mode = 3
|
||||||
|
self.drive.axis1.controller.config.input_mode = 3
|
||||||
|
# self.drive.axis0.trap_traj.config.vel_limit = 100
|
||||||
|
# self.drive.axis1.trap_traj.config.vel_limit = 100
|
||||||
|
# self.drive.axis0.trap_traj.config.accel_limit = 50
|
||||||
|
# self.drive.axis1.trap_traj.config.accel_limit = 50
|
||||||
|
# self.drive.axis0.trap_traj.config.decel_limit = 50
|
||||||
|
# self.drive.axis1.trap_traj.config.decel_limit = 50
|
||||||
|
# self.drive.axis0.controller.config.inertia = 0.02
|
||||||
|
# self.drive.axis1.controller.config.inertia = 0.02
|
||||||
|
self.drive.axis0.controller.config.input_filter_bandwidth = 30
|
||||||
|
self.drive.axis1.controller.config.input_filter_bandwidth = 30
|
||||||
|
self.drive.axis0.motor.config.current_lim = 70
|
||||||
|
self.drive.axis1.motor.config.current_lim = 70
|
||||||
|
self.drive.axis0.motor.config.current_lim_margin = 30
|
||||||
|
self.drive.axis1.motor.config.current_lim_margin = 30
|
||||||
|
|
||||||
|
odrv0.axis0.motor.config.current_lim = 70
|
||||||
|
odrv0.axis1.motor.config.current_lim = 70
|
||||||
|
odrv0.axis0.motor.config.current_lim_margin = 30
|
||||||
|
odrv0.axis1.motor.config.current_lim_margin = 30
|
||||||
|
|
||||||
|
|
||||||
def set_idle(self):
|
def set_idle(self):
|
||||||
self.drive.axis0.requested_state = AXIS_STATE_IDLE
|
self.drive.axis0.requested_state = AXIS_STATE_IDLE
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user