Soft Robot Trajectory Generation: Enabling Soft Robot Arms to Reliably and Effectively Perform Real World Tasks through Optimization