Permita que el robot mida el torque / fuerza en una o más articulaciones de cada pierna.
Tal vez mida el torque directamente usando un medidor de tensión discreto u otro sensor de fuerza / torque.
O quizás pueda obtener una aproximación adecuada utilizando medidas "sin sensores" del EMF posterior del motor de esa pierna, o la cantidad de potencia que entra en el motor de esa pierna.
Digamos que el robot está usando un modo de andar que es eficiente para el asfalto: el robot coloca el pie en la parte delantera hasta que toca el asfalto, luego permanece en esa posición vertical y empuja el pie directamente hacia atrás, luego levanta la pierna hacia arriba un poco y lo tira hacia adelante, luego vuelve a poner el pie hacia abajo y se repite.
Si realmente se está moviendo sobre el asfalto, espera que el robot mida un par de torsión / fuerza alto cuando empuja la pierna hacia atrás y se acerca a cero cuando empuja la pierna a través del aire hacia adelante.
Si el torque en una pierna se siente bajo cuando el robot lo empuja hacia atrás, tal vez esa pierna (no necesariamente otra pierna) se deslice sobre la superficie de algo de arena.
Por lo tanto, el robot debe empujar esa pierna hacia abajo un poco más en la arena, y tal vez mover la pierna hacia atrás un poco más rápido, hasta que esa pierna le dé al robot el empuje hacia adelante que desea.
Si el par de torsión en una pierna se siente alto cuando el robot lo empuja hacia delante, tal vez esté frotando contra la hierba.
O quizás las otras piernas se han hundido profundamente en la arena, y esa pierna está rozando la capa superior de arena.
Así que el robot debe levantar esa pierna un poco más arriba para evitar ese obstáculo.
(Y tal vez levante todas las piernas un poco más arriba en el movimiento de retorno para los próximos pasos, para que otras piernas puedan evitar ese obstáculo u otros obstáculos cercanos similares).
Supongo que su objetivo es lograr que el robot cambie su forma de andar de forma adaptativa, ya que las diferentes formas de andar son más eficientes en diferentes sustratos. Si su objetivo real es lograr que el robot permanezca en una pista de asfalto, en lugar de vagar por el pasto y la arena, necesitará algún otro enfoque.