Lab3(b): MPC - ece545au20/catkin_ws GitHub Wiki

Model Predictive Control

Rollouts

image-20201028121040531

  • rollouts dimension: N x T x 3

    • N: we have N = 11 different trajectories in figure above
    • T: how many time steps(green dots) in one trajectory
    • 3: dimension of pose, [x, y, θ]3
  • rollouts are generated w.r.t current car frame, or it’s relatively static w.r.t current car.

  • how to compute the rollouts pose in world frame?

    • pick one pose B in one trajectory A[x, y, θ]
    • if we set x = 0, y = 1.5, θ = 0, then this problem equivalent to clone follower in lab1.

Penalize collision into walls

Understanding Laser scanning data

$ rosmsg show sensor_msgs/LaserScan
# Single scan from a planar laser range-finder
#
# If you have another ranging device with different behavior (e.g. a sonar
# array), please find or create a different message, since applications
# will make fairly laser-specific assumptions about this data

Header header            # timestamp in the header is the acquisition time of 
                         # the first ray in the scan.
                         #
                         # in frame frame_id, angles are measured around 
                         # the positive Z axis (counterclockwise, if Z is up)
                         # with zero angle being forward along the x axis
                         
float32 angle_min        # start angle of the scan [rad]
float32 angle_max        # end angle of the scan [rad]
float32 angle_increment  # angular distance between measurements [rad]

float32 time_increment   # time between measurements [seconds] - if your scanner
                         # is moving, this will be used in interpolating position
                         # of 3d points
float32 scan_time        # time between scans [seconds]

float32 range_min        # minimum range value [m]
float32 range_max        # maximum range value [m]

float32[] ranges         # range data [m] (Note: values < range_min or > range_max should be discarded)
float32[] intensities    # intensity data [device-specific units].  If your
                         # device does not provide intensities, please leave
                         # the array empty.

How do we tell whether a rollout pose is collision-free or not

⚠️ **GitHub.com Fallback** ⚠️