0
$\begingroup$

I want to build a 4WD robot that can travel vertically by pushing against opposite rails. The wheels push against the rails and generate friction, the robot moves upwards as the wheels rotate. This is the side view that I am thinking of:

enter image description here|308x250

If one side moves faster than the other then the robot would loose grip and fall down. I have to ensure that the wheels on both sides rotate at the exact same speed. How to maintain the same speed on both sides?

$\endgroup$
1
$\begingroup$

You should not follow this approach. It is nice in theory but is not really suitable for real life. If you use a single motor, you are not able to recover from any tilting due to a slipping wheel. If you have separate motors for the sides, it will be rather difficult to synchronize the motors e.g. while turning on the robot.

You always have to think about a cable or motor failure. Your robot has to be able to hold its position even if you cut some cables or a motor burns out. In your configuration, you have no safety or fallback method.

The easiest fix is to add some more (passive) wheels at one rail beneath your current wheels (distance maybe half the rail distance). This stops the robot from tilting and falling. You can then add encoders to this passive wheel and use this data to control the motor that drives the robot up and down. As its a passive wheel you will have less problems with slip.

(The encoder data will also be an important input for the emergency braking system that your robot has)

$\endgroup$
  • $\begingroup$ Agree with you on having a recovery mechanism. I did not not get your point on the passive wheel. What did you mean by "distance maybe half the rail distance"? $\endgroup$ – GunnerFan Jan 9 at 11:00
  • $\begingroup$ Here is the video of a robot which does what I have described in the OP youtu.be/70NGvWlMac0 $\endgroup$ – GunnerFan Jan 9 at 11:01
1
$\begingroup$

The most popular method is to use wheel encoders. Since it counts the rpm value, we can maintain the same speed in both sides. But as I understand this is not a reliable way to keep the robot in exact horizontal position. You can use an IMU to measure the robots orientation and the speed of the wheels can be adjusted through a PID controller.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.