Hello to all and thank you for looking at my ongoing project. This is my first LMR project, inspired by all the fine examples on this website. So far I have built my chasis from scratch, and modified 4 servos for continuous rotation, and use 4 servos to navigate. The tools used to build the chasis were a drill press, dremel tool, scroll saw. I would appreciate any feedback to help continue the development of the platform. I would like to add a basic arm, web cam (cell phone), navigation sensors, not sure which type to use yet.
Today I worked on tracking a straight line. I used resistors to convert the servos to continuous rotation. I was trying to use a multiplier to find the dead zone for the continuous servos. This caused them to be out of sync. I installed the potentiometers, and set the servowrite. to 90 and adjusted the potentiometers to get no movement. I am using an arduino uno and curently only have 6 pwm outputs. I was using 4 for the continous servos and 2 to steer. I switched to 4 for steering and 2 for continuous. I am able to align the wheels much better and currently with the continuous servos all set to the same 90 setting for neutral, the rover now tracks almost perfectly straight. I also added the top deck for future additions, ie sensors, arm, camera.
Thanks for looking.
jsh6061
The potentiometer for adjusting neutral for the continuous servo, one on each wheel.
drive straight without continuous steer corrections?
Your solution on how to turn is very neat. To use four servos here makes it possible to turn on one point - turn without travel. This is a powerful feature.
While the rotation seems very nice I ask myself about how the straight-drive goes. Can the rover drive straight without continuous steer corrections?
It is pulling to one side at the moment but seems to be consitant. I am playing with different numbers for neutral on the continuous servos.Im not sureif the wheels may be spinning at different rpm’s. I also need to slot the hole where the steering servo horn mounts to the motor servo to get the best alignment I can. Any advice is welcomed.
Depending on the autonomous level you want to reach with this robot there are different ways to solve the “pulling to one side” problem.
To be able to correct, the rover must first detect the “pulling to one side”. You go from an open loop to a closed loop system.
One detection-strategy could be that you measure the side pulling by using an X/Y plane. Consider the forward direction is X. If you detect an Y component in the movement, the robot needs to act inverse to the Y component to correct this unwanted movement. So an Y component must be compensated by a ( - q ) * Y component. q could be 1 but could also be greater or lower than 1.
Two tactics come into my mind to detect Y components in the movement:
Use a hacked mousepointer. Let the mouse-ball touch the ground and read the X/Y data that comes from it. Correct the movement when you detect an Y component.
Use a compass module. After a turn make a snapshot of the indicated compass direction. While further forward movement correct the movement by using the direction snapshot and the current direction.
Of course if you ask LMR there is several more tactics you can use to fulfill the correction strategy.
These are good ideas, I think there are many variables that I will experience next. I can get a compass board and try that. I am not sure it is the solution because if the rover gets off line it won’t correct it to get back on line, it will create a new line to the original reading so if it is pulling to the left it would continue to be to the left of the original line but heading in the correct direction no?
These are good ideas, I think there are many variables that I will experience next. I can get a compass board and try that. I am not sure it is the solution because if the rover gets off line it won’t correct it to get back on line, it will create a new line to the original reading so if it is pulling to the left it would continue to be to the left of the original line but heading in the correct direction no?
These are good ideas, I think there are many variables that I will experience next. I can get a compass board and try that. I am not sure it is the solution because if the rover gets off line it won’t correct it to get back on line, it will create a new line to the original reading so if it is pulling to the left it would continue to be to the left of the original line but heading in the correct direction no?
These are good ideas, I think there are many variables that I will experience next. I can get a compass board and try that. I am not sure it is the solution because if the rover gets off line it won’t correct it to get back on line, it will create a new line to the original reading so if it is pulling to the left it would continue to be to the left of the original line but heading in the correct direction no?
These are good ideas, I think there are many variables that I will experience next. I can get a compass board and try that. I am not sure it is the solution because if the rover gets off line it won’t correct it to get back on line, it will create a new line to the original reading so if it is pulling to the left it would continue to be to the left of the original line but heading in the correct direction no?
Here are three of many possible failures that can happen with your setup. The rotational failure could be corrected with a compass. The translational failure could be detected with the hacked mouse. The combination of the two is a combination of the sensorics too.
We are correcting a physical impreciseness here. As usual software can help. On the other hand one could say that when you build a steering device like yours precision is very very important. But hey… we have software, sensors and actors. So this problem can be solved the soft way.
So you want to keep the course and the failure tries to get the rover off course. Set the course every time you actively make a steering. Then leave it as is and correct only to that given course.
Here a sketch with the three failures:
(...but keep in mind that this is theoretical thinking here.)
Thank you, I am using this as a learning platform. My plans are to build a more powerful, larger design that could go outdoors. One other feature not on video yet is the ability to rotate the wheels all the way so that the platform can move sideways. I think these features will help in many situations when outdoors and being controled either by remote control or sensor assist or autonomously.
I guess what Im not sure of yet is how quickly the compass will change and the arduino registers the change and make the adjust ment either to the steering or the speed of the individual motors ?
Thank you for the ideas. I thought about it and I made some mechanical adjustents and some code changes and it is tracking much straighter. I am not sure I would be able to get it perfect though. I also added the top plate for the next phase.