Alphabet for S2: a collaborative project.
NikosG
Posts: 705
Hello everybody,
This project is an open project and its main purpose is to create various types of Alphabet for the S2 robot.
Teachers can use this project as an educational activity. The final result will be a spin code for your S2 that will be able to write immediately the words that enters the user!
For a start I provide stuff in order to create the following font types:
As you can see we are going to create 2 Alphabets with English Letters (open the ZIP or the RAR files):
The 1st alphabet has letters with font type ISOCT and the 2nd has letters with font type Swis.
For the second Alphabet a pen lifter kit is necessary for your S2 robot.
Everyone one who has a S2 robot can participate and can contribute finding the coordinates of one or more letters from these alphabets.
For a perfect final result I strongly recommend a pen lifter installed into your S2.
Every letter is given by me, printed on a graph paper as a large image. Every image has the capital and the small letter. Next to the letters there are some empty columns (X Y ARC h) in order to keep notes and write down the coordinates which are essential for the letter’s scribbling. It helps a lot if you can print these images before start this project, in order to be able to keep your notes or in order to share them to your students.
Having the image of the letter in front of you, you must choose the crucial points of every letter and you must find their coordinates.
Here is an example from the letter “A” , “a” (font type: Swis)
A specific excel file is also given in order to write the coordinates in it. Then pressing a button (that is included in the excel file) you can get the spin come for the letter you have just designed! Then you must upload and test this code into your S2.
If the S2 scribbles the letter according your expectations you must send back on this forum the excel file with the coordinates of the letter.
Please give into your excel file an appropriate name: e.g.: (A_big_ISOCT.xls or k_small_SWIS.xls) in order to understand what letter includes and what type of font is.
If you are not familiar with the procedure how we write the necessary data into the excel file please look at this thread: Scribbling sport team logos with S2, using Microsoft Excel
When I gather the excel files from all these letters I will send back in the forum a spin program for your S2 in order to write words immediately !!!
The Collaboration in this project is very important because there are a lot of data that we have to collect and it is very difficult for a person to make all of this alone.
Personally I have already assign the letters: ( A, a, B, b, C, c, D,d, E, e, F, f, I, i, K, k, L, l, V, v, N, n, H, h) from the swis font type Alphabet, to my students. So please if you involved into this project don’t do again these letters.
I'm waiting for your help!
Nikos
This project is an open project and its main purpose is to create various types of Alphabet for the S2 robot.
Teachers can use this project as an educational activity. The final result will be a spin code for your S2 that will be able to write immediately the words that enters the user!
For a start I provide stuff in order to create the following font types:
As you can see we are going to create 2 Alphabets with English Letters (open the ZIP or the RAR files):
The 1st alphabet has letters with font type ISOCT and the 2nd has letters with font type Swis.
For the second Alphabet a pen lifter kit is necessary for your S2 robot.
Everyone one who has a S2 robot can participate and can contribute finding the coordinates of one or more letters from these alphabets.
For a perfect final result I strongly recommend a pen lifter installed into your S2.
Every letter is given by me, printed on a graph paper as a large image. Every image has the capital and the small letter. Next to the letters there are some empty columns (X Y ARC h) in order to keep notes and write down the coordinates which are essential for the letter’s scribbling. It helps a lot if you can print these images before start this project, in order to be able to keep your notes or in order to share them to your students.
Having the image of the letter in front of you, you must choose the crucial points of every letter and you must find their coordinates.
Here is an example from the letter “A” , “a” (font type: Swis)
A specific excel file is also given in order to write the coordinates in it. Then pressing a button (that is included in the excel file) you can get the spin come for the letter you have just designed! Then you must upload and test this code into your S2.
If the S2 scribbles the letter according your expectations you must send back on this forum the excel file with the coordinates of the letter.
Please give into your excel file an appropriate name: e.g.: (A_big_ISOCT.xls or k_small_SWIS.xls) in order to understand what letter includes and what type of font is.
If you are not familiar with the procedure how we write the necessary data into the excel file please look at this thread: Scribbling sport team logos with S2, using Microsoft Excel
When I gather the excel files from all these letters I will send back in the forum a spin program for your S2 in order to write words immediately !!!
The Collaboration in this project is very important because there are a lot of data that we have to collect and it is very difficult for a person to make all of this alone.
Personally I have already assign the letters: ( A, a, B, b, C, c, D,d, E, e, F, f, I, i, K, k, L, l, V, v, N, n, H, h) from the swis font type Alphabet, to my students. So please if you involved into this project don’t do again these letters.
I'm waiting for your help!
Nikos
Comments
You should be working for Parallax!
Jim
Thanks Jim,
I'm afraid that I live a little bit away from Parallax. (acoording to the distancefromto.net I am only10705.71 km =6652.22 miles away from California!)
Actually I love Parallax, their people and people in this forum and I've been helped a lot from all of you!
I' m very glad if my projects can contribute something!
P.s.
Have you a Scribbler robot? can you Help?
Nikos
Nikos,
I knew your location. I was just kidding.
I only have the original Blue Scribbler. I have to wait a while to get the S2, but it's on my list!
Jim
Very interesting project. I checked in Word 2010 and I didn't have either of those fonts. What program are you using to print them? Also, what are the two files with the rar extention? I'm not familar with the file type.
Thanks,
Tony
Hi Tony,
These fonts included in the mspaint software ( It is a free version of the paint for windows see the attached files mspaint.zip). The only reason I choosed these fonts is because they have very tiny lines and that is make easier the coordinates finding.
Rar files are a different format for ZIP files. (I have replaced them in the 1st post) . Open those ZIP files.
English_alphabet_ISOCP_for_S2.zipEnglish_alphabet_Swis721BlkOulBT.zip
Each of them has the whole Alphabet.
I also send you an empty graph paper scaned from my scanner.
If you want to create a new Alphabet for your S2 and for all of as, you must do the following:
1) open the empty_graph_paper.jpg with the mspaint software,
2)choose from the fonts menu the font type that you want in conjunction with a big size (250) and then type the letters one by one. (A very interesting font type is the TXT 250 because the letters doesn't have arcs. So it is very easy to create them.)
3)Don't forget to uncheck the choise "Draw Opaque" from image menu.
4) save every letter as an image
5)print every image with the letter into your printer or just open it into your screen.
6) find the coordinates
7) enter the coordinates into Excel file and get the spin code
P.s. Don't hesitate to ask me if you have any question. If you have any proposals in order to improve this procedure you are welcome!
If you want to participate in this project is very easy. Into the zip files I have already made the alphabet for you. The only you have to do is to find the coordinates in order to create the correspondence Excel files.
.... And don't forget to send back in this forum the excel files!
Thanks,
Nikos
Those fonts are installed on your machine I don't have them available and they didn't come with mspaint you sent. I already have this program as well. They were probably put on your computer by another program or are a part of the European addition of Windows (If there is such a thing?). What I will do though is try your technic with the Arial Font which I think is used around the world and is also close to the ISOCT Font. Do you have Arial on your computer? Does this sound OK to you? This way I can make sure I understand how to get the points and get them entered in correctly in the Excel software.
I have two questions. 1. Do you make sure that all the letters touch the X&Y axis so all the letters have the same common orgin and baseline(X axis)? 2. All lower case letters that have tails like "q, g" do you set the main part of the letter on the baseline(X axis) and let the tail hang below or are you putting the whole letter above the baseline(X axis). I think the tails should hang below to make the spelling look correct. I was thinking about this today while working outside and thought that it would be important for us to do the letters the same way so they look correct when spelling words/names and they would all be set upon a common baseline. Or do I not understand how the code is generated and/or how you are going to code the spelling software?
I will do some test and see how it goes before I commit to the project if that works for you.
Thanks,
Tony
P.S. I almost forgot the most important thing. I don't have a pen lifter on my S2. So I will have to get one made up. Not sure if I will use your style or Chris Savage's. So that might take me some time with Spring Planting coming on.
I like this Idea. Maybe if all works well I can do the Parallax font and Arial font. Thanks W9GFO What do you thank Nikos?
Of course you can use any type of fonts you want. But let me to make more clear the situation.
Supposing we have to create the capital "A" using the following fonts: Arial, Parallax and ISOCT.
I wrote "A" using these 3 fonts in the same graph paper. As you can see "A" is thicker in Arial and parallax fonts than in ISOCT
This is not a problem but have in mind that S2 in every case will draw the letter moving on the red lines. For the arial and parallax fonts the black area of the letter will remain empty.This was the main reason that I didn't make these fonts and I choosed the Swiss fonts which are empty inside. The reason I choosed the ISOCP is that with the other fonts we need more steps in order to finish the letter ("A" in ARIAL fonts needs 14 steps and in "Parallax fonts it needs 15 steps the 10th step is the pen_up command. ).
On the other hand for the ISOCT font which is very tiny, we need only 5 steps without pen_up command in order to write the "A"
The letters in swis font are empty inside and the result of the S2 scribbling is more realistic (closer to this font).
Of course you can choose ARIAL and every other type you want but the S2 will draw the letters empty (like the Swis fonts). Except if you find a way to draw the empty space in every letter. Otherwise you will have perfect ARIAL but empty. This is the only difference.
The absence of a pen lifter it is not a very serious problem: (look at the following image)
The exported code from the excel file can be used from both s2 with pen lifter and s2 without pen lifter. The only different is that s2 without pen lifter will draw a line in the 10th step.
Tony, it isn't a serious problem if you don't have a pen lifter. Rich also has to change the constants for the pen servo inside the spin code in order to work properly with his S2.
You can make any font you want. In addition you can also make the ISOCP font. It is not necessary to have these fonts on your computer. The only you need is the set of images of the letters on the graph paper. For ISOCP and SWIS fonts these sets already exist into the ZIP files.
Tony you have made two exelent questions about the position of each letter according the two axis X,Y and about the "tails" of some letters.
The answer is in the next picture:
As you can see letters with tails have a part under the X axis. In order to have the perfect position of each letter in conjunction with the XY axis you can use a small cross as a sign (look at the small cross in the red circle on top left of every letter)
Every time you want to create a new letter you must put your cursor on the cross and then you can write the letter. Using this method you can be sure that every letter is printed in the right position!
Next week I will have the Swiss Alpabet. Then I believe that all the procedure will be more clear.
Ps. For those with pen lifter kit the pen_down command is created automatically by the excel file after the pen_up and a movement command.
Nikos
Are you using metric grid paper? If so are the dark lines at 1cm intervals and the lighter lines at 1mm intervals? The reason I ask is that I may not need to print a grid if I can buy the paper here in the States. In printing some of the examples clarity, resolution and accuracy of the grid, that is, 1cm grid was actually 1cm when printed were an issue. So I developed the technic described below. What do you think?
I've worked on a technic of copying the letters on a sheet of clear overhead plastic. I was able to get 6 letters per sheet. I then put a piece of grid paper underneath the overhead(I used english ruled grid to test idea). With the letters placed against the XY axis I read through the clear sheet to get the coordinates. I hold the sheets in place with paperclips or a clipboard should work. When done with a letter I slide the overhead sheet over to the next letter and repeat the process. This technic saves a lot of paper and ink.
As for the thickness of the letters I was not going to try to with the Arial and Parallax fonts to trace the inside and out dimensions. I was going to stay to the outside only. So for example on the Arial A I would only record points 1,2,3,4 & 13,14. This would give us the font shape and single pass letters like ISOCT.
Thanks
Tony
Tony,
Yes I use metric grid paper which have the dark lines at 1cm intervals and the lighter lines at 1mm intervals. In my previous posts when I said "graph paper" I mentioned this mertic grid paper (sory for the confusion)
Your idea to print the letters directly on the metric paper is excelent.
I also sugest to print the letter first and then to draw the XY axes because I don't know if you can to print the letter in the exact position that you want on the matric grid paper. (I'm sayng this because from my personal experience using my printer hp desskjet 9300 I couldn't print the letter exactly at the position that I wanted.)
The other technic you mentioned, with the overhead plastic it is also sounds very interesting. Can you send any pictures?
P.s. I'm waiting from my students to give me back the files with the coordinates of some letters (in the SWIS font).
I'll have this alphabet ready very soon and I'll post here in this forum.
You will be able to test this alpabet with your S2. It doesn't matter if you don't have a pen lifter However if you have decided to put one on your S2 I can send you one kit for free (but without the servo only the base and the cup)
Nikos
I printed off some graph paper at 1mm spacing and found it crazy to try to read to get coordinates, so I went to a 2mm per line and it's much easier to work with. I have included two photos to show the overhead projector sheet I printed the first six letter of the alphabet in the Parallax font. The one photo shows the clear sheet setting at an angle to the graph paper. The other photo shows how the letters are set on the XY axis. To read the coordinates you simply move the clear sheet until the letter touches the XY axis. The clear sheets are made by 3M and are designed to be printed on with a copier. There are clear overhead sheets made for ink jet printers as well, but they can be a little hazy to read through with the special coating needed to hold the ink. However, in my experience they print with good resolution. So my process to develop the Parallax and Arial font will go like this.
1. Type the alphabet in lower and upper case letters in Microsoft Word 2010 at a font size of 335. (Works out to be almost exactly the same size as MS Paint at 250)
2. Load the copier with the clear sheets and print out the alphabet sheets.
3. Overlay the clear sheet on the graph paper with one letter touching the XY axis.
4. Record coordinates in your Excel program.
5. Move to the next letter and repeat.
6. Celebrate when done!
For the lower case letters I am going to print them in a series of letters like this "DDjpgDD" so I can use the D's to give me a baseline to work from. That way the tails will be the right distance below the baseline and be consistent with each other.
Thanks for the offer on the pen lifter. For the moment I going to work without one and get these alphabets done then work on the adding the pen lifter later.
Hope this helps you understand what I was talking about and doing. If all seems OK with you I will proceed with doing the alphabet in Parallax and Arial fonts both upper and lower case.
Thanks,
Tony
I think that your idea with the transparent slides is awesome!
I believe that your alphabet will be more elegant than my alphabet!.
I 've been collecting the excel files from my students since yesterday but they haven't finished yet.
I tested the files they gave me and I am trying to correct some errors.
My pen lifter had an excellent function and students had no problem to use it in the excel file in order to program the letters.
When you decide to put a pen lifter (and you choose my style) don't hesitate to PM a shipping address to send you a base and a cup.
I'll post the final SPIN file with the alphabet. It will be scalable as Rich (W9GFO) suggested. So it will have the parameter "Size"
For this reason I'm working on a new Excel file that will be able to create this Parameter automaticaly inside the spin code of every letter.
This is something that we cannot avoid in order to have scalable letters.
It will be very easy to copy the coordinates from the old excel file to the new. (it is only copy and paste)
Keep the great work!
I think that we'll have an remarkable result!
P.s. Keep notes with the width of every letter you have done. We'll need in the next step when the S2 will write words!
Nikos
Glad you liked the overhead transparency idea. I think it works well. Had another idea of printing the grid on the transparency and laying it over the letters. I think it will make reading the grid easier. I hope to give it a try today and will let you know how it works out.
I have a couple of questions. 1. Do you want me to enter the coordinates for each letter in its own worksheet? In other words for each alphabet font I would have one workbook with 26 worksheets from a-z for each the upper and lower cases in each font I do? 2. In recording the width of each letter(which is very important if were going to make words) do you want me to use the outer most x axis measurements of each letter or do we want to set a constant distant away from the right and left most x axis coordinate for each letter? The reason I ask about our method is the vast width differences especially in lower case letters, i.e. "a, b compared to i, l " Also I have been thinking about how to make words, as the robot moves from letter to letter we will have to adjust the x axis coordinates for each letter from a set origin point according to its position in the word/sentence and the width of the letters before it.
I know I have a lot of questions, but as I look ahead to what we are trying to accomplish I want to make sure we have as much of the plan in place so we know what kind of coordinate info we need for each letter so we won't have to go back through all our work 3 or 4 times, hopefully maybe only one or two times.
Thanks,
Tony
Good questions!
1) I suggest one workbook with 52 worksheets from a-z: 26 for upper 26 for lower cases .
2) In recording the width of each letter, I suggest to set a constant distant away from the right and left most x axis coordinate for each letter.
for instance the width of "I" is 2 and not 2.5. (see the next picture)
Then we'll choose a variable to keep the distance between the letters. This distanche will be the same between two sequential letters.
You have absolutely right! The design is very important if we won't have to go back and do the same things again!
Feel free to ask me if you have other questions.
In fact I had made the same questions with you, to myself.
Thanks
Nikos
I've just finshed all the alphabet.
You can start write words with your S2!!!!!!
Here is a first version of S2 code in order to write enything word you want!!!. The letters are good egnough.
Althought pen_up command works properly in every indivindual letter it has still some problems when the robot moves from one letter to the next (you won't realize the difference if you don't have a pen lifter). Try it with size= 1 (this is my default option )
I have to make a new excel converter so plese give me some time.
Have a good fun in Parallax Expo!!!!
Nikos
We need numbers and other characters too. I'll take care of making the " " (space).
Rich,
Thanks for the corrections!
You have read my mind.
I must add in the alpabet the numbers "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" and some special characters like "@", "$", "!", " $', "%", "*" ,"(", " )" ,"+", "-", ".","=", "/", "?" .
And of course <space> is very important althought it is very easy.
I'll ask my students contibution next week.
I'm looking forward to see your new video in which S2 will read the characters directly from the keyboard!!!.
We have two weeks till the Expo.
Matt, can hope for more impressive code!
However the existance of a pen lifter in the S2 robot I think can improve by far the result.
Here is a photo in which I run the same code in order to write the word "Parallax" with two S2 robots.
The one hasn't a pen lifter (blue letters) and the other one has(black letters). The difference is obvious!
Nikos
In every letter you must multiply the variable "let_width" with the variable "_size" in order to can change the size of the word.
For instance : let_width :=180 * _size
You must also multiply the S_B_L variable with the _size.
So you must replace the last command of each letter with this command:
LET_POS := Let_pos + Let_width + S_B_L * _size
From my test I realized that the smaller is the size the better is the result (I haven't also changed the batteries in my S2)
In the following image the black "Hello" has _size= 1 the red _size=3 and the blue _size=2
I attached the new code.
Tomorrow I'will have finished the new excel code Generator in order to create the code for your own type of fonts.
Nikos
Also, it may be easier to use a program such as Corel Draw to find the coordinates. I have attached a version 12 file as an example. If you don't have Corel Draw you can download a trial and use it free for 30 days.
This example uses the Parallax font so if you don't already have that in your computer it won't look the same.
The blue cross hairs marks the origin (0,0). I have the "A" lined up in such a way that 0,0 is at the bottom center of the stroke. The idea is to create a single line font. The crosshairs are locked so you cannot move them.
Every capital letter should reach from y0 to y100.
Every lower case letter should reach from y0 to y57 (or less than zero for letters such as g,y etc.)
Every letter should have at least one x coordinate of zero.
The alphabet is grouped along with a red line which marks the bottom (y0) of all the letters. After each letter is recorded just move the whole group over to the next character so that the left edge is centered on the y axis of the blue line while keeping the red line on top of the blue x axis.
To find the coordinates simply hover the mouse pointer on the letter and in the lower left corner of the screen will be the x and y coordinates. Just round to the nearest whole number. Tops are at 100 or 57 for the Parallax font.
If you change the font be sure to scale it so that the capital letters reach from y0 to y100.
Here is the latest version of Excel letter code generator.
As the previous versions you fill the coordinates of each letter in to the corresponding cells.
The new elements are that you must give the width of each letter.
I found very usefull to write in a cell the name of the method of each letter. This name will go automatically next to the PUB command that represent the letter.
Choose a new type of alphabet that you want to create and find the coordinates and the width of each letter
Write the data of each letter in a separate sheet.
Don't forget to give the width of the letter and the name of the method (PUB name) for each letter
Press the button in order to take the spin code.
Then copy all the created methods in the "s2_word_writer6.spin" file and you are ready!
Tony now you can write down the coordinates of your alphabet!
Rich the method with Corel you suggested It sounds very cool! It will be amazing If we find a way to pass the coordinates directly from Corel into Excel file! Then will be able to create a new alpabet spin code in a few minutes!!!
Can you find the "h" (the high of the arc) parameter with this method?
Nikos
p.s. I'll start the creation of a new alphabet with single line form.
The height of the arc in the "h" would be (57 - the y value of the beginning point of the arc). For arcs that are not horizontal or vertical you could draw a line and use the measure tool.
What we really need is a G code interpreter for the S2. Then a whole world of possibilities opens up.
I have found an Html code , "Image to coordinates" that can find automatically the coordinates of a point using the mouse.
the interface is showed in the next picture
I tried to find the coordinates of a rabbit using this method.
The system of axes has a different orientation of a normal system of XY axes but it isn't a problem because the s2 will make the "mirror" of the image.
Then I entered the coordinates in my excel spin converter.
The result was the following:
Althought I finished very quickly the result wasn't the best because I couldn't find the "h".
The good thing is that it is possible to change the Html code in order to have the desirable result.
In addition maybe we can change the html code in order to write the received data directly into Excel
I'd look into it myself now except we just had a pipe break and there is water coming out of the outside wall and into my sons room. Ah what fun....
Thank you for the honor"Project of the week!"
You can now enjoy and a second alphabet with your S2 robot!
This Alphabet has letters and digits in single line form and the S2 can write words and sentences faster.
Here is an image with the characters which supports this new alphabet:
Some letters use the Pen_up command. You won't have a problem if you use a S2 robot without pen lifter.
However for some letters like "X,x, H ",you will have a slightly different result from that you expect.
For this reason I also give you the Excel file that creates the Spin code.
If you change the sequence of the coordinates into Ecxel file you will have the result you want but with some double lines in some parts of the letters.
Using a pen lifter you will have a result like this:
The s2 writes a sentence with letters, digits, and spaces.
Create your own messages with your S2 and
> HAVE FUN !!!
Happy Easter!!!
Nikos Giannakopoulos
P.s. W9FGO this is the alphabet you wanted. Enjoy!
Tony B. I'm looking forward to see your alphabet!
Thanks Rich,
For the next project I suggest a LOGO language programming environment for the S2! What do you think?
Do you use Logo language with your students?
Personaly I have a good background in this topic.
I'm wating from parallax some Xbee modules in order to achieve wireless communication with my S2.
I hope you will give me a help if I stick with Xbees