ME 405 Term Project
Loading...
Searching...
No Matches
path_planning_task.PathPlanningTask Class Reference

Public Member Functions

 __init__ (self, planning, bias, total_s_sh, abs_x_sh, abs_y_sh, abs_theta_sh, kp, ki, k_line, lf_target, control_mode, driving_mode, abort, mtr_enable, setpoint, stream_data, heading, heading_setpoint, k_heading, eff)
 pivot_in_place (self, effort, target)
 run (self)

Public Attributes

 planning = planning
 abort = abort
 mtr_enable = mtr_enable
 stream_data = stream_data
 total_s_sh = total_s_sh
 abs_x_sh = abs_x_sh
 abs_y_sh = abs_y_sh
 abs_theta_sh = abs_theta_sh
 setpoint = setpoint
 heading = heading
 heading_setpoint = heading_setpoint
 k_heading = k_heading
 eff = eff
 bias = bias
 kp = kp
 ki = ki
 k_line = k_line
 lf_target = lf_target
 control_mode = control_mode
 driving_mode = driving_mode
list threshold = [580, 720, 910, 1070, 1550, 1750, 2000, 3140, 3640, 4220]
int first = 1
int checkpoint = 0
bool pivotting = False
int maneuver = 0
int state = self.S0_INIT

Static Public Attributes

int S0_INIT = 0
int S1_SEG1 = 1
int S2_SEG2 = 2
int S3_SEG3 = 3
int S4_SEG4 = 4
int S5_SEG5 = 5
int S6_SEG6 = 6
int S9_DONE = 9
dict CHECKPOINTS

Detailed Description

This task is responsible for planning the path of the robot.

Attributes:
    planning: Share to start/stop path planning.
    bias: Share for centroid bias to influence line following.
    total_s_sh: Share for total distance traveled along center line.
    abs_x_sh: Share for absolute x position.
    abs_y_sh: Share for absolute y position.
    abs_theta_sh: Share for absolute heading.
    kp: Share for proportional gain in heading control.
    ki: Share for integral gain in heading control.
    k_line: Share for line-following gain.
    lf_target: Share for line-following target speed.
    control_mode: Share for control mode (0: effort, 1: velocity, 2: line-following, 3: waypoint navigation).
    driving_mode: Share for driving mode (0: forward, 1: pivot).
    abort: Share to signal task abortion.
    mtr_enable: Share for motor enable flag.
    setpoint: Share for velocity setpoint.
    stream_data: Share to enable/disable data streaming.
    heading: Share for current heading.
    heading_setpoint: Share for desired heading.
    k_heading: Share for heading control gain.
    eff: Share for motor effort.

Constructor & Destructor Documentation

◆ __init__()

path_planning_task.PathPlanningTask.__init__ ( self,
planning,
bias,
total_s_sh,
abs_x_sh,
abs_y_sh,
abs_theta_sh,
kp,
ki,
k_line,
lf_target,
control_mode,
driving_mode,
abort,
mtr_enable,
setpoint,
stream_data,
heading,
heading_setpoint,
k_heading,
eff )

Initialize the object's attributes

Member Function Documentation

◆ pivot_in_place()

path_planning_task.PathPlanningTask.pivot_in_place ( self,
effort,
target )

HELPER FUNCTIONS

◆ run()

path_planning_task.PathPlanningTask.run ( self)

FINITE STATE MACHINE

Main method for the PathPlanningTask FSM.

Member Data Documentation

◆ abort

path_planning_task.PathPlanningTask.abort = abort

◆ abs_theta_sh

path_planning_task.PathPlanningTask.abs_theta_sh = abs_theta_sh

◆ abs_x_sh

path_planning_task.PathPlanningTask.abs_x_sh = abs_x_sh

◆ abs_y_sh

path_planning_task.PathPlanningTask.abs_y_sh = abs_y_sh

◆ bias

path_planning_task.PathPlanningTask.bias = bias

◆ checkpoint

int path_planning_task.PathPlanningTask.checkpoint = 0

◆ CHECKPOINTS

dict path_planning_task.PathPlanningTask.CHECKPOINTS
static
Initial value:
= {
0: (100.0, 800.0),
1: (950.0, 425.0),
2: (1400.0, 800.0),
3: (1350.0, 100.0),
4: (800.0, 175.0),
5: (175.0, 300.0),
6: (100.0, 800.0)
}

◆ control_mode

path_planning_task.PathPlanningTask.control_mode = control_mode

◆ driving_mode

path_planning_task.PathPlanningTask.driving_mode = driving_mode

◆ eff

path_planning_task.PathPlanningTask.eff = eff

◆ first

int path_planning_task.PathPlanningTask.first = 1

◆ heading

path_planning_task.PathPlanningTask.heading = heading

◆ heading_setpoint

path_planning_task.PathPlanningTask.heading_setpoint = heading_setpoint

◆ k_heading

path_planning_task.PathPlanningTask.k_heading = k_heading

◆ k_line

path_planning_task.PathPlanningTask.k_line = k_line

◆ ki

path_planning_task.PathPlanningTask.ki = ki

◆ kp

path_planning_task.PathPlanningTask.kp = kp

◆ lf_target

path_planning_task.PathPlanningTask.lf_target = lf_target

◆ maneuver

int path_planning_task.PathPlanningTask.maneuver = 0

◆ mtr_enable

path_planning_task.PathPlanningTask.mtr_enable = mtr_enable

◆ pivotting

bool path_planning_task.PathPlanningTask.pivotting = False

◆ planning

path_planning_task.PathPlanningTask.planning = planning

◆ S0_INIT

int path_planning_task.PathPlanningTask.S0_INIT = 0
static

◆ S1_SEG1

int path_planning_task.PathPlanningTask.S1_SEG1 = 1
static

◆ S2_SEG2

int path_planning_task.PathPlanningTask.S2_SEG2 = 2
static

◆ S3_SEG3

int path_planning_task.PathPlanningTask.S3_SEG3 = 3
static

◆ S4_SEG4

int path_planning_task.PathPlanningTask.S4_SEG4 = 4
static

◆ S5_SEG5

int path_planning_task.PathPlanningTask.S5_SEG5 = 5
static

◆ S6_SEG6

int path_planning_task.PathPlanningTask.S6_SEG6 = 6
static

◆ S9_DONE

int path_planning_task.PathPlanningTask.S9_DONE = 9
static

◆ setpoint

path_planning_task.PathPlanningTask.setpoint = setpoint

◆ state

int path_planning_task.PathPlanningTask.state = self.S0_INIT

◆ stream_data

path_planning_task.PathPlanningTask.stream_data = stream_data

◆ threshold

list path_planning_task.PathPlanningTask.threshold = [580, 720, 910, 1070, 1550, 1750, 2000, 3140, 3640, 4220]

◆ total_s_sh

path_planning_task.PathPlanningTask.total_s_sh = total_s_sh

The documentation for this class was generated from the following file: