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):
|
||||
self.drive.axis0.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):
|
||||
self.drive.axis0.requested_state = AXIS_STATE_IDLE
|
||||
|
||||
Loading…
Reference in New Issue
Block a user