I have never built a robot before and I am a CS major taking a robotics class, just a warning.
I plan to build a self propelling wheel that displaces its center of gravity by moving a pendulum like device forwards or backwards internally on flat surfaces only. I have not begun construction, still in the design phase.
So basically, there is a pendulum-like piece that hangs from the center of the wheel (it hangs from the servo which it is directly attached to), is at 0 degrees and there is a weight on the end of the pendulum. The weight, right now, is as close to the ground as it can be and the wheel is not in motion. Once the servo in the center propels the weight forward, the center of gravity of this wheel moves in that direction. Due to this movement and the fact that the body is round, the wheel/body starts to roll. In order to keep it rolling at a constant speed Y I need to keep this pendulum at a constant degree X away from the bottom (0 degrees, resting state).
The higher this weight is lifted, the more resistance the servo should have on it. Can I use this resistance feedback to control the angle of the weight and therefore the speed of the body?
example: Resistance between x and x+2 means I am moving a Y speed. This is my desired speed. If I start feeling a resistance of x+3 I would decrease the angle (lowering the weight backwards a bit) in order to remain at speed Y.
If you don't think that is possible, I would need to detect speed somehow and then use that as a variable to base the pendulum angle off of. How would you recommend doing that?