A system to optimize a drilling parameter of a drill string, the system comprising: a drill string control subsystem (108, 110, 112, 700); and an optimization controller configured to, at least in part, coordinate operations of the drill string control subsystem (108, 110, 112, 700) during a drilling process; the optimization controller being configured to: determine a first optimized rate of penetration based, at least in part, on a drilling parameter model and a first drilling parameter estimate; provide a first set of commands to the drill string control subsystem (108, 110, 112, 700) based, at least in part, on the first optimized rate of penetration; determine a second drilling parameter estimate during the drilling process based, at least in part, on the drilling parameter model and feedback from the drill string control subsystem; determine a second optimized rate of penetration during the drilling process based, at least in part, on the second drilling parameter estimate; and provide a second set of commands to the drill string control subsystem based, at least in part, on the second optimized rate of penetration, wherein one or both of the first optimized rate of penetration and the second optimized rate of penetration is/are based, at least in part, on a constraint set, the constraint set comprising drilling parameters including weight on bit and speed, wherein the constraint set defines a region where stick-slip at a drill bit of the drill string may occur. a drill string control subsystem (108, 110, 112, 700); and an optimization controller configured to, at least in part, coordinate operations of the drill string control subsystem (108, 110, 112, 700) during a drilling process; the optimization controller being configured to: determine a first optimized rate of penetration based, at least in part, on a drilling parameter model and a first drilling parameter estimate; provide a first set of commands to the drill string control subsystem (108, 110, 112, 700) based, at least in part, on the first optimized rate of penetration; determine a second drilling parameter estimate during the drilling process based, at least in part, on the drilling parameter model and feedback from the drill string control subsystem; determine a second optimized rate of penetration during the drilling process based, at least in part, on the second drilling parameter estimate; and provide a second set of commands to the drill string control subsystem based, at least in part, on the second optimized rate of penetration, wherein one or both of the first optimized rate of penetration and the second optimized rate of penetration is/are based, at least in part, on a constraint set, the constraint set comprising drilling parameters including weight on bit and speed, wherein the constraint set defines a region where stick-slip at a drill bit of the drill string may occur. determine a first optimized rate of penetration based, at least in part, on a drilling parameter model and a first drilling parameter estimate; provide a first set of commands to the drill string control subsystem (108, 110, 112, 700) based, at least in part, on the first optimized rate of penetration; determine a second drilling parameter estimate during the drilling process based, at least in part, on the drilling parameter model and feedback from the drill string control subsystem; determine a second optimized rate of penetration during the drilling process based, at least in part, on the second drilling parameter estimate; and provide a second set of commands to the drill string control subsystem based, at least in part, on the second optimized rate of penetration, wherein one or both of the first optimized rate of penetration and the second optimized rate of penetration is/are based, at least in part, on a constraint set, the constraint set comprising drilling parameters including weight on bit and speed, wherein the constraint set defines a region where stick-slip at a drill bit of the drill string may occur.