Derrick's SketchBot information

Received some additional information from Derrick on the Sketching bot... (edited for length):

What I am attempting to do with this robot is to have it create dense pen drawings and use the light sensor to have the robot respond to the densities by choosing to switch to a different task in the program once the pen density reaches a desired point.

I had used previously to the NXT robot a RCX 2.0 kit to achieve a similar result with much success. When I designed the RCX I had used the ball point pen as the caster on the robot. The problem with this was that the pen always needed to be on the surface on the paper, so when the robot was doing an arbitrary task like backing up from the edge of the paper it was always marking.

I am using NXT as an opportunity to utilize the third motor as a means to pick up and put down the pen. This means that when the robot is executing an arbitrary task (i.e. moving back
to the center of the paper) it will not be marking on the page.

I have the light sensor on the front of the NXT to detect the black tape that I have
put around the edge of the paper so the NXT knows when it has gotten to the edge of the paper. The pen is secured to the extra motor in the center of the robot.

So far the most successful program I have created has 2 independent tasks running. The main task is the process of the robot drawing. What I have started to do to keep things from
getting to repetitive is by setting up a switch block in the task that has a couple of different "sketching" programs and the robot has a random block choosing between the two programs. The other program is waiting for the trigger of the black tape so the robot can back up
and turn around.

One of the initial problems I had was how to tell the NXT to pick up the pen when it found the black line, but not to pick it up if the pen already happened to be up. I ended up setting up a
logic variable for this. So when the NXT found the black tape at the edge of the paper it would check to see if the pen was already up or not. If it was then it would just back up and turn around. If it wasn't then it would pick up the pen before executing the back up and turn around command.

I am struggling with some of the quirks in the NXT-G programming like how to tell the NXT to immediately stop the present program when it finds the black line.

The drawings I have achieved so far with the RCX and the NXT project have obviously very non-representation and fairly geometric, but that is what I have really been going for.
Being an artist who primarily works with drawing media I find it to be a significant challenge to take the pen out of my hand and to make my interaction with the art making primarily about designing and programming the robot. I hope to eventually get program to a complexity where the NXT will have to make a lot of it's own decisions (albeit a bit randomly) on how it
will uniquely approach each drawing, but that is still a ways off!


Brian Davis said…
This has a lot of potential, and I've always wanted to work up ant-type interactions with RCXs running with wipe-off pens on a sheet of melamine... perhaps I need to try it now with the NXT. A pen mount where one side has the pen on the surface, and another side has an eraser on the surface, should be easily doable... and with something like the HiTechnic color sensor, different robots could even use different pens. I'd think having the pen mounted between the wheels might be handy (for "turtle-like" behavior), but not needed.

One thing that's not clear to me with Derrick's robot - at what point does a dense mass of lines start looking like the black boarder? This in itself is an interesting behavior: over time, a uniform density should be reached in certain areas, as areas above some critical density end up being unenterable (as the robot things they are the boarder), but it could "paint itself in a corner" as well, with regions that it can't wander into due to the a high-density region seperating its current location from such a low-density region.

Brian Davis
Derrick said…

One of the things that I did with the RCX (and I am trying to do with the NXT) is have the robot respond to the varying densities of pen in certain areas. I never ran into any problems with the RCX misinterpreting the black tape for a very dense area of marks on the paper.

I am hoping to have the NXT do similar things by responding to the light range of certain areas on a page. So if it is getting a light reading between x and y it will execute a different program than when it had been previously executing (similar to the "back up and turn around" thing I am trying to do to keep the robot on the paper, but just a different set of commands).

I have yet to get the programming to that point with the NXT.

I like the ideas you have with the different robots with different pens and the color sensor could also add another level to how the robot functions. Adding color would be another challenge altogether.

Funny you mention mounting the pen between the wheels because I actually redesigned the NXT to have the pen there yesterday...


Popular Posts