I coach a team of elementary students. Blocks seems like the correct level of programming for their age. But, our autonomous accuracy is inadequate.
I have tried nearly everything. I built a very simple robot with a new gen 2 brain, new motors, and fully charged new battery. The floor is level, the board and wheels are clean. The starting position is consistently flush and square. The internal brain is calibrated and speed slowed to 50%. If I ask it to run a six foot straight line, the end point will vary 1-3 cm randomly. Can you help?
P Straight seems complex for my 8 year oldās. I havenāt done a deep calibrate yet.
If you mean accuracy as in turn and drive numbers, thatās almost always apparent on any brain, robot, and program, at least without sensors.
For example, you could ask your bot to go 55 inches forward and then turn 90 degrees.
Then it might go 20 inches and turn 120 degrees.
You just have to find the metrics, but those themselves can also be consistent. If you can, maybe try to get inertial sensors/distance sensors/gyros and learn how those work, they can help.
1-3cm ? That actually seems pretty good, the drivetrain driveTo and driveFor functions are not using the inertial sensor to try and maintain straight driving.
All robots have something called āslopā to them. This is caused by slight variations in parts and/or imperfections in the environment (shafts being too thin, motor lag, wheel slippage, motor twisting on its mount, etc.). 1 in per 72 in slop is extremely accurate considering you donāt use any sensors. Sensors will minimize this, but slop is still usually unavoidable.
Yep, I agree, 1" across 6ā is pretty good. Iāve been in recently built homes that donāt have floors that are that good.
What you are up against is manufacturing tolerances. All motors are not exactly the same, friction in the axles, friction on the tread of the wheels, surface of the tiles, etc.
Like @6978B pointed out you are going to need to use the sensors to be able to get closer than that.
Thank you for commenting. I am satisfied with that small error for a straight line. But, the errors add up once I create a more complex program, such as: forward, turn, reverse, turn, and forward again. 2cm turns into 20cm quickly.
I need to use āblocksā programming for my young kids. I am not familiar with driveTo and driveFor. Are those block functions?
Thank you! Which sensors, other than the internal gyro, will help use run a consistent route in an open field? Path such as forward, turn, reverse, turn.
Thank you for replying. The only sensor I am using to go straight and make a turn is the internal gyro sensor. We do use a distance sensor when reversing to a scoring container.
Are there other sensors I could use to help drive a more consistent route? A friend suggested a downward facing vision sensor to follow the black lines on the field.
Can you tell me any more likely areas of potential slop then we already talked about?
What I see it doing is a individual āmotor lagā at the very start. The wheels burn out, slightly lose direction, and then drive straight from there. Any suggestions to fix motor lag. All parts are brand new. Thanks!
To make turns consistent, an inertial sensor is what Iāve used. Not sure how to blocks functions work as I donāt use the program, but they should show up if one is configured. Inertial sensors calculate exact turns by how far an internal gear rotates, and if itās not at the intended rotation it will keep rotating the bot to one or the other until itās at the intended heading.