|
ME 405 Term Project
|
Public Member Functions | |
| __init__ (self, ir_array, battery, control_mode, mtr_enable, left_sp_sh, right_sp_sh, k_line, lf_target, bias, abs_x_sh, abs_y_sh, abs_theta_sh, nav_target_x_sh, nav_target_y_sh, nav_speed_sh, heading, k_heading, heading_setpoint) | |
| run (self) | |
Public Attributes | |
| ir = ir_array | |
| battery = battery | |
| left_sp_sh = left_sp_sh | |
| right_sp_sh = right_sp_sh | |
| control_mode = control_mode | |
| mtr_enable = mtr_enable | |
| k_line_sh = k_line | |
| lf_target_sh = lf_target | |
| k_heading = k_heading | |
| heading = heading | |
| heading_setpoint = heading_setpoint | |
| bias = bias | |
| abs_x_sh = abs_x_sh | |
| abs_y_sh = abs_y_sh | |
| abs_theta_sh = abs_theta_sh | |
| nav_target_x_sh = nav_target_x_sh | |
| nav_target_y_sh = nav_target_y_sh | |
| nav_speed_sh = nav_speed_sh | |
| float | search_speed = 0.5 |
| float | reacquire_thresh = 0.05 |
| int | state = self.S0_INIT |
| last_time = millis() | |
| int | first = 1 |
Static Public Attributes | |
| int | S0_INIT = 0 |
| int | S1_WAIT_ENABLE = 1 |
| int | S2_FOLLOW = 2 |
| int | S3_LOST = 3 |
| int | S4_HEADING = 4 |
Protected Member Functions | |
| _compute_clamp_bound (self) | |
| _publish (self, v_left, v_right) | |
Outer-loop controller for closed-loop line following.
Attributes:
ir: IR sensor array object for line detection.
battery: Battery monitor object.
control_mode: Share for control mode (0: effort, 1: velocity, 2: line-following, 3: waypoint navigation).
mtr_enable: Share for motor enable flag.
left_sp_sh: Share for left motor velocity setpoint.
right_sp_sh: Share for right motor velocity setpoint.
k_line_sh: Share for line-following gain.
lf_target_sh: Share for line-following target speed.
bias: Share for centroid bias to influence line following.
abs_x_sh: Share for absolute x position.
abs_y_sh: Share for absolute y position.
abs_theta_sh: Share for absolute heading.
nav_target_x_sh: Share for navigation target x position.
nav_target_y_sh: Share for navigation target y position.
nav_speed_sh: Share for navigation target speed.
heading: Share for current heading.
k_heading: Gain for heading control.
heading_setpoint: Share for desired heading.
| steering_task.SteeringTask.__init__ | ( | self, | |
| ir_array, | |||
| battery, | |||
| control_mode, | |||
| mtr_enable, | |||
| left_sp_sh, | |||
| right_sp_sh, | |||
| k_line, | |||
| lf_target, | |||
| bias, | |||
| abs_x_sh, | |||
| abs_y_sh, | |||
| abs_theta_sh, | |||
| nav_target_x_sh, | |||
| nav_target_y_sh, | |||
| nav_speed_sh, | |||
| heading, | |||
| k_heading, | |||
| heading_setpoint ) |
|
protected |
|
protected |
| steering_task.SteeringTask.abs_theta_sh = abs_theta_sh |
| steering_task.SteeringTask.abs_x_sh = abs_x_sh |
| steering_task.SteeringTask.abs_y_sh = abs_y_sh |
| steering_task.SteeringTask.battery = battery |
| steering_task.SteeringTask.bias = bias |
| steering_task.SteeringTask.control_mode = control_mode |
| int steering_task.SteeringTask.first = 1 |
| steering_task.SteeringTask.heading = heading |
| steering_task.SteeringTask.heading_setpoint = heading_setpoint |
| steering_task.SteeringTask.ir = ir_array |
| steering_task.SteeringTask.k_heading = k_heading |
| steering_task.SteeringTask.k_line_sh = k_line |
| steering_task.SteeringTask.last_time = millis() |
| steering_task.SteeringTask.left_sp_sh = left_sp_sh |
| steering_task.SteeringTask.lf_target_sh = lf_target |
| steering_task.SteeringTask.mtr_enable = mtr_enable |
| steering_task.SteeringTask.nav_speed_sh = nav_speed_sh |
| steering_task.SteeringTask.nav_target_x_sh = nav_target_x_sh |
| steering_task.SteeringTask.nav_target_y_sh = nav_target_y_sh |
| float steering_task.SteeringTask.reacquire_thresh = 0.05 |
| steering_task.SteeringTask.right_sp_sh = right_sp_sh |
|
static |
|
static |
|
static |
|
static |
|
static |
| float steering_task.SteeringTask.search_speed = 0.5 |
| int steering_task.SteeringTask.state = self.S0_INIT |