RB running Squares




Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Jun 13, 2015

Robot running straight and making straight angles.

Comments • 2

Bas Huizer
RB2 running squares. 'Big Deal' ehh? Well, to be honest, for me it turned out to be pretty hard work. ;-0) Like in my previous blogs I’m not aiming for a scientific paper, but I’ll try to expose the facts I had to gather for making this work, in a handsome way. Hoping it will help others who are working on the same topics. Up till now I had my robots running towards a target, keeping it in sight and adjust the direction of the bot according to the change in the camera image. Simple and effective when one can use target objects to aim for. The scripts I used resulted in nice curved moves towards markers I placed upfront. But thinking about controlled moves without using a camera and running trajectories in a straight line at a certain speed for a certain distance, I had to dig in the theories of odometry: the use of data from motion sensors to estimate change in position over time. The idea is simple and as old as ancient navigation by sailors. The method they used is called ‘Dead reckoning’, where ‘De(a)d’ stands for ‘deduced’. The sailors estimated their position relative to a starting location by using velocity and heading. Once new data on the real position was retrieved (e.g. by sextant measuring), a new, corrected, estimation was made. To become effective rapid and accurate data collection, equipment calibration, and processing are required in most cases. So, to make a robot car move in a straight line for a certain distance at a certain speed, one should estimate where it will be in a short moment of time, then read the actuators, determine corrections based on the errors between estimation and readings and calculate a new estimation. Sounds like a typical job for a computer! But there’s a lot more involved than bare coding. The hardware characteristics are important (size of the car and the wheels, strength of the motors, maximum velocity and acceleration of the bot and the resolution of the actuators). And then there’s still a lot more that influences the effectiveness, leading to (sometimes) frustrating results. But I’ll come to all that later on. I’ll deal with the estimation part, the control loops (explain the use of PID’s), characteristics of the actuators and some handy parts of theories about dead reckoning with robots. The Python script can be found at: https://bitbucket.org/RoboBasics/raspberry-robo-cars/src/8df278bd8786da754462197c3b553d1aaa40f599/Scripts/Odm_2_running_squares.py?at=master You won’t find very sophisticated coding there. It is written straight forward with a lot of comments to make it as readable as possible for those who are just starting (like me). The same applies to the movie. It’s not a commercial video. Shot with my Blackberry smart phone and just meant for illustration of what the script implies. Continued in next blog: RB2 running squares - part 2 https://plus.google.com/113179308235478830494/posts/9AjrCQ769z9
james martel
Good Morning, I have built similar DawnRobotics based PiBot but I don't have encoders, what/where did you get yours? Thkx
When autoplay is enabled, a suggested video will automatically play next.

Up next

to add this to Watch Later

Add to

Loading playlists...