March 9, 2017
I am sorry I know that this may not be the correct section, but I could not see a questions forum.
I work in an outreach capacity and I have several events coming up over the summer at agricultural shows. I want a robot that children can use to demonstrate some autonomous tractor technology and I hope Edison might be it.
What I would like is for the children to be able to draw a field boundary on a sheet of paper and then have a robot map the field. The robot would then go up and down the field as if it were ploughing. Is it possible to get Edison to do this?
Thanks for your help.
August 24, 2015
Yes, it should be possible.
I would suggest drawing the lines with a thick permanent marker, then writing code that makes Edison drive forwards until it sees the line. Once it has seen the line Edison will need to turn left or right (depending on the side of the field) (using turn rather then spin will put Edison into the correct position for the next pass) before the code loops back around to start again
June 22, 2017
It would be cool if you got a large “field” or board with borders. Then put the robot at the bottom left corner of the inside of the rectangular field. Tell it to drive forward for 1 second (or smaller increments) repeatedly. Have it record each time it does this by creating a variable and each time it goes through the infinite loop, it adds a +1 to the variable. Call the variable length. Have it do this over and over until it sees or detects with the right infrared object sensor, then have it do the same thing. Have it move forward in small increments of time at a slow pace so that it can detect the next wall. This time have it add a +1 into a different variable (w for width). Now you know length and width of your field are stored in variables. So now to prove to an audience that it did what you wanted it to do, the remaining two walls could be followed quickly by increasing the speed and creating a loop that runs until the condition is met that a certain variable is equal to the value of the length or width.
The slower the robot goes the more likely it is to be able to detect with its infrared sensors. Also if you put in .5 second wait times, then it gives the program enough time to send the sensor state to the flag. The program reads the flags when using infrared sensors.
If you wanted to speed things up you could make a rectangular field with black elctrician’s tape on a table and use the line follower tool instead. It reads directly from the sensor and is a quicker option.
Once you know the dimensions you could have it go up and down the rectangle from left to right just by having it repeat the motion of going the length of the box but then move over one tenth of the width and then having it do it 10 times. So it mapped out the field and broke the field up into rows and did drove back and forth like a lawn mower until the width of the field has been traveled or mowed.
Mapping out something that is not rectangular or that couldn’t be broken into rectangles would be much more difficult.
If you are working with students you could have students create a conversion chart.
Speed= distance * time. So distance = speed * time. Have students do lots of trial runs to find out what a speed (on fully charged batteries) of 1,2 or 3 or up to 10 is in in/s or m/s or ft/s.
If you were to use the program displayed on this site https://meetedison.com/robot-programming-software/ and then looking at the if statement, have the true one add a +1 every time to a variable called x and the false line add a +1 to a variable called y. After running the program and then pushing the triangle it could run another program that moves the displacemen, because now stored in the x and y are the horizontal and vertical component vectors that could be used to make a resulting displacement vector. So if it were to follow a black squiggly line for a while. You could then put it back at the beginning or tell it to reverse it’s path and go directly to the where it began but this time taking the shortest distance possible.
Hopefully that gives you some ideas. All of that can be done with the block programming too.