Since roslaunch collects and sets all the parameters before launching nodes, launching the node overwrites parameters with defaults. Removing calls to set_param should do the trick.