Simulation of Will's ROCR climber over at the University of Utah.

Notes and movies for 17 July 2008

-- JonathanKarpick - 17 Jul 2008

Older stuff

Optimization goodness and weirdness

How the torque trajectory was found:

• Estimate steady state switching conditions from one of the below runs (for this case, q1=45deg, qL=-60deg, q1dot=-27deg/sec, qLdot=-266deg/sec).
• Run a minimum time optimization with tau_max = 0.9 in DIRCOL
• Use the NEGATIVE of the resulting torque profile in simulation (the negative was a mistake, but it works, and using the torque profile directly from DIRCOL doesn't. That's really weird.)
• The resulting climber has a pretty large basin of attraction for steady state climbing - it may take a while to get to steady state depending on the IC, but it has in my random tests...)

Some time histories:

• DIRCOL output:
• Simulation time history:
• Simulation wall reaction forces:

-- JonathanKarpick - 23 Jun 2008

AHA!

Probably mis-reading Utah's notes: max torque is @ tail, not @ motor (this makes more sense...)

Ensuring foot switch is critical - newer simulations use MATLAB's "events" detector in ode45(). In that same vane, hand-tuning the switching amplitude is important - you seem to need to reduce it (with respect to the maximum amplitude) with lower contact damping. The above video shows a surprisingly nice steady-state gait at the end.

Reduced contact damping by an order of magnitude - requires lower switching amplitude:

Bang-bang controller works really well at this torque level, ROCR configuration, and IC:

Changing the foot switch to occur at +/- 80 degrees, and things don't work so well:

Fixed tail trajectory ensures switching of hand holds, which makes climbing a bit more sure
• ROCR-0.90Hz-75deg-0.005b-fix.mp4: ROCR: drive tail to 0.90Hz, 75deg amplitude, contact damping of 0.005 Nms/rad, Fixed tail trajectory IC: thetB=60deg, qL=45deg
• ROCR-0.90Hz-75deg-0.01b-fix.mp4: ROCR: drive tail to 0.90Hz, 75deg amplitude, contact damping of 0.01 Nms/rad, Fixed tail trajectory IC: thetB=60deg, qL=45deg - doubling the contact damping : A bit more stable until the end
• ROCR-0.90Hz-75deg-0.02b-fix.mp4: ROCR: drive tail to 0.90Hz, 75deg amplitude, contact damping of 0.02 Nms/rad, Fixed tail trajectory IC: thetB=60deg, qL=45deg - again doubling the contact damping - a little more stable

A "simple" bang-bang controller, where the maximum torque is always applied to the tail motor, in the direction so that the acceleration of the main body is always up the climbing surface. The feet switch when the main body is with 15 degrees of +/- 90 degrees

-- JonathanKarpick - 16 Jun 2008

Older stuff - likely mistakes in simulation:

-- JonathanKarpick - 24 May 2008

-- JonathanKarpick - 28 May 2008

Servo gains a bit too high on these: Kp=12.5 Nm/rad : Kd = 0.4 Nms/rad
• ROCR-75Hz-60deg-0p9Nm-5e-4b.mp4: ROCR: drive tail to 0.75Hz, 60deg amplitude, max 0.9 Nm torque, contact damping of 0.0005 Nms/rad, IC: thetB=45deg, qL=45deg - Interesting behavior at 10 seconds!!
• ROCR-75Hz-60deg-0p9Nm-5e-3b.mp4: ROCR: drive tail to 0.75Hz, 60deg amplitude, max 0.9 Nm torque, contact damping of 0.005 Nms/rad, IC: thetB=45deg, qL=45deg
• ROCR-75Hz-60deg-0p9Nm-1e-3b.mp4: ROCR: drive tail to 0.75Hz, 60deg amplitude, max 0.9 Nm torque, contact damping of 0.001 Nms/rad, IC: thetB=45deg, qL=45deg
• ROCR-75Hz-60deg-0p9Nm-2e-3b.mp4: ROCR: drive tail to 0.75Hz, 60deg amplitude, max 0.9 Nm torque, contact damping of 0.002 Nms/rad, IC: thetB=45deg, qL=45deg

Testing out lower servo gains:
If the gains are too low, you don't get enough torque, and ROCR can't climb. Too much, and you tend to end up in the pump-up state, where ROCR starts spinning out of control.

-- JonathanKarpick - 29 May 2008

Copyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback