Skip to content
Snippets Groups Projects
Commit 898c6425 authored by m-guberina's avatar m-guberina
Browse files

cm

parent 3eafd83e
Branches
No related tags found
No related merge requests found
File added
No preview for this file type
...@@ -329,7 +329,12 @@ def BaseAndEEPathFollowingMPCControlLoop(args, robot : RobotManager, solver : cr ...@@ -329,7 +329,12 @@ def BaseAndEEPathFollowingMPCControlLoop(args, robot : RobotManager, solver : cr
#print('adding base', path_base[i]) #print('adding base', path_base[i])
#print("this was the prev ref", runningModel.differential.costs.costs['base_translation' + str(i)].cost.residual.reference) #print("this was the prev ref", runningModel.differential.costs.costs['base_translation' + str(i)].cost.residual.reference)
runningModel.differential.costs.costs['base_translation' + str(i)].cost.residual.reference = path_base[i] runningModel.differential.costs.costs['base_translation' + str(i)].cost.residual.reference = path_base[i]
if robot.robot_name != "yumi":
runningModel.differential.costs.costs['ee_pose' + str(i)].cost.residual.reference = pathSE3_handlebar[i] runningModel.differential.costs.costs['ee_pose' + str(i)].cost.residual.reference = pathSE3_handlebar[i]
# MASSIVE TODO: actually have different references for left and right arm
else:
runningModel.differential.costs.costs['l_ee_pose' + str(i)].cost.residual.reference = pathSE3_handlebar[i]
runningModel.differential.costs.costs['r_ee_pose' + str(i)].cost.residual.reference = pathSE3_handlebar[i]
# idk if that's necessary # idk if that's necessary
solver.problem.terminalModel.differential.costs.costs['base_translation'+str(args.n_knots)].cost.residual.reference = path_base[-1] solver.problem.terminalModel.differential.costs.costs['base_translation'+str(args.n_knots)].cost.residual.reference = path_base[-1]
......
...@@ -491,6 +491,11 @@ def createBaseAndEEPathFollowingOCP(args, robot : RobotManager, x0): ...@@ -491,6 +491,11 @@ def createBaseAndEEPathFollowingOCP(args, robot : RobotManager, x0):
runningCostModel.addCost("uReg", uRegCost, 1e-3) runningCostModel.addCost("uReg", uRegCost, 1e-3)
if args.solver == "boxfddp": if args.solver == "boxfddp":
runningCostModel.addCost("limitCost", limitCost, 1e3) runningCostModel.addCost("limitCost", limitCost, 1e3)
##########################
# single arm reference #
##########################
if robot.robot_name != "yumi":
eePoseResidual = crocoddyl.ResidualModelFramePlacement( eePoseResidual = crocoddyl.ResidualModelFramePlacement(
state, state,
robot.model.getFrameId("tool0"), robot.model.getFrameId("tool0"),
...@@ -499,6 +504,28 @@ def createBaseAndEEPathFollowingOCP(args, robot : RobotManager, x0): ...@@ -499,6 +504,28 @@ def createBaseAndEEPathFollowingOCP(args, robot : RobotManager, x0):
state.nv) state.nv)
eeTrackingCost = crocoddyl.CostModelResidual(state, eePoseResidual) eeTrackingCost = crocoddyl.CostModelResidual(state, eePoseResidual)
runningCostModel.addCost("ee_pose" + str(i), eeTrackingCost, args.ee_pose_cost) runningCostModel.addCost("ee_pose" + str(i), eeTrackingCost, args.ee_pose_cost)
#########################
# dual arm references #
#########################
else:
l_eePoseResidual = crocoddyl.ResidualModelFramePlacement(
state,
robot.model.getFrameId("robl_joint_7"),
# MASSIVE TODO: actually put in reference for left arm
path_ee[i],
state.nv)
eeTrackingCost = crocoddyl.CostModelResidual(state, eePoseResidual)
runningCostModel.addCost("l_ee_pose" + str(i), eeTrackingCost, args.ee_pose_cost)
r_eePoseResidual = crocoddyl.ResidualModelFramePlacement(
state,
robot.model.getFrameId("robr_joint_7"),
# MASSIVE TODO: actually put in reference for left arm
path_ee[i],
state.nv)
eeTrackingCost = crocoddyl.CostModelResidual(state, eePoseResidual)
runningCostModel.addCost("r_ee_pose" + str(i), eeTrackingCost, args.ee_pose_cost)
baseTranslationResidual = crocoddyl.ResidualModelFrameTranslation( baseTranslationResidual = crocoddyl.ResidualModelFrameTranslation(
state, state,
robot.model.getFrameId("mobile_base"), robot.model.getFrameId("mobile_base"),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment