-
Notifications
You must be signed in to change notification settings - Fork 241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MPC GPS #81
base: master
Are you sure you want to change the base?
MPC GPS #81
Conversation
Conflicts: python/tests/test_box2d/test_box2d.py
1. This MPC mission is follow offline trajectory. 2. Regularize Quu by small eta to make it PD. 3. When using raw cost, must adjust around sample, that the important thing to make the gradient of cost work. 3. Still not sure about this MPC, because original MPC is running online, meaning that x0=current_x (feedback state), and then minimize the same cost function as offline trajectory with shorter horizon. On the other hand, when using this MPC on test phase, it seem we just need to find current_x belong to which MPC (at time t), and then call MPC[m].act(...), NO OPTIMIZATION OCCUR AT RUNTIME ????
When compute gradient of cost using feedback state x0 for all t in short horizon.
TODO: Anwser why the policy too far from trajectory at iteration > 10? It happened to all point mass world (arm world a little bit).
This inhedrit and modified to adapt with robotplugin.cpp in gps_agent_pkg. Use min_distance_to_obstacle from turtlebot_mpepc to measure nearest obstacle. RESULT: It already can move robot in desired velocity and orientation, but can not avoid obstacle. TODO: move updateObstacleTree to another node like costmap_server in Matt Derry original package. Check about thresh in min_distance_to_obstacle and the dsafe in hyperparams.
…admm QUESTION: Why pol_wt (nu) need to scaled using median like tgt_mu in policy_opt_caffe?
RESULT: Still working on it ... (Tried MPC_GPS weighted, then PLATO)
…) for avoiding obstacle task.
Conflicts: README.md
Conflicts: python/gps/algorithm/cost/config.py src/proto/gps.proto
Thanks for the PR thobotics! @TZ2016 will take the first pass at reviewing. Glancing over the PR, please make sure that you remove commented out code and remove unneeded changes to parts of the code that MPCGPS does not use. |
Hi: I think the reason is that the libvtkWrappingTools-6.2.a is a static link library so I try to add some code in CMakeLists.txt to fix the -fPIC problem like:
but I still get the same error above. I can compile the master branch of gps normally, so how can I fix this compiled error? |
mpc_gps information
This PR implement MPC Guided Policy Search, which described in [1].
Main contribution:
gps_main.py
is modified to make the agent able to run the MPC trajectory optimizer during sampling.mpc_traj_opt.py
: implement the MPC algorithm to minimize the surrogate cost as in [1].Note that the policy cost term in surrogate cost will be replaced by the offline trajectory cost if you are using
AlgorithmTrajOpt
.Experiment [1]:
mobilerobot_gps.launch
with 3 worlds file (set by parameter):hallway.world
,hallway_bend.world
,one_obstacle.world
.turtlebot_hallway_badmm_example
: Trying to move the robot in hallway.turtlebot_badmm_example
: Trying to move the robot at desired velocity while avoiding obstacle.Note:
[1] Tianhao Zhang, Gregory Kahn, Sergey Levine, Pieter Abbeel. Learning Deep Control Policies
for Autonomous Aerial Vehicles with MPC-Guided Policy Search. ICRA 2016.