Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Sun, Jan 9, 2011 at 7:44 PM, Emiliano Pastorino epastor...@plan.ceibal.edu.uy wrote: Oh! I meant we hadn't had time to prepare the kits for the kids, just that. Ok. Can you list/describe of what base kit you give the kids? Maybe put it on a page on wiki.laptop.org? I'd like to buy an arduino kit set for a basic robot, with the same motors and sensors as you're using. So we can test here in the office :-) yes -- I've seen it. And I have an NXT at home, will be testing it soon. I may have a few patches for you... I'll appreciate those patches. Do you want me to add you as a committer? I'll publish to dev.l.o and send you a pull request. That's good, but I found some incompatibilities between the latest commit of nxt-python and python 2.5.1, so I had to modify a few lines. Yeah - we can patch it on a suitable rpm for F9 builds. Are you still targetting F9-based builds? Other thought about this point... wouldn't nxt-python package become a dependency for TurtleArt if we don't include it in the activity? Yes, but you always need some root-privileged preparation to get to the /dev node. So include nxt-python in the dextrose build, or install the /etc/udev/rules.d file. I think it makes sense to simplify things and depend on nxt-python. nxt-python sets the /dev node to 'lego' group, so you'll need to add the 'olpc' user to that group. I plan to do all of the above for our F14 release :-) - I've just packaged nbc / nxc for Fedora, which is almost like C, and is a very nice way to program the robot. It even allows for concurrent programming. Mmm... I'd like to get my hands on that code. http://dev.laptop.org/~martin/nbc/ Fedora is pushing for more robotics tools in the distro -- http://fedoraproject.org/wiki/SIGs/Robotics -- - And I'm happy to help on the NXT / TA patch (as a personal project, not OLPC sponsored). He he... personal interests since xmas maybe? Exactly :-) m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
Here is what I am thinking re TA extensions: a palette class that can be used to both define a method of determining if a palette should be present and the various blocks and methods associated with that palette. Should make it easier to support Arduino, Lego, misc. sensors, etc. Comments? -walter On Mon, Jan 10, 2011 at 10:04 AM, Martin Langhoff martin.langh...@gmail.com wrote: On Sun, Jan 9, 2011 at 7:44 PM, Emiliano Pastorino epastor...@plan.ceibal.edu.uy wrote: Oh! I meant we hadn't had time to prepare the kits for the kids, just that. Ok. Can you list/describe of what base kit you give the kids? Maybe put it on a page on wiki.laptop.org? I'd like to buy an arduino kit set for a basic robot, with the same motors and sensors as you're using. So we can test here in the office :-) yes -- I've seen it. And I have an NXT at home, will be testing it soon. I may have a few patches for you... I'll appreciate those patches. Do you want me to add you as a committer? I'll publish to dev.l.o and send you a pull request. That's good, but I found some incompatibilities between the latest commit of nxt-python and python 2.5.1, so I had to modify a few lines. Yeah - we can patch it on a suitable rpm for F9 builds. Are you still targetting F9-based builds? Other thought about this point... wouldn't nxt-python package become a dependency for TurtleArt if we don't include it in the activity? Yes, but you always need some root-privileged preparation to get to the /dev node. So include nxt-python in the dextrose build, or install the /etc/udev/rules.d file. I think it makes sense to simplify things and depend on nxt-python. nxt-python sets the /dev node to 'lego' group, so you'll need to add the 'olpc' user to that group. I plan to do all of the above for our F14 release :-) - I've just packaged nbc / nxc for Fedora, which is almost like C, and is a very nice way to program the robot. It even allows for concurrent programming. Mmm... I'd like to get my hands on that code. http://dev.laptop.org/~martin/nbc/ Fedora is pushing for more robotics tools in the distro -- http://fedoraproject.org/wiki/SIGs/Robotics -- - And I'm happy to help on the NXT / TA patch (as a personal project, not OLPC sponsored). He he... personal interests since xmas maybe? Exactly :-) m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff -- Walter Bender Sugar Labs http://www.sugarlabs.org ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Mon, Jan 10, 2011 at 10:29 AM, Walter Bender walter.ben...@gmail.com wrote: Here is what I am thinking re TA extensions: That'd work. But I am trying to think what the right user experience is. Will they appear... - the NXT/Arduino/other is plugged to USB (so the /dev/ node exists?... what about bluetooth?) - if a NXT/Arduino/other was seen once on this laptop? - if a file using NXT/Arduino/other extension is opened? - if a file using NXT/Arduino/other extension has ever been opened on this laptop? - if the libraries/tools needed are present? cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Mon, Jan 10, 2011 at 10:56 AM, Martin Langhoff martin.langh...@gmail.com wrote: On Mon, Jan 10, 2011 at 10:29 AM, Walter Bender walter.ben...@gmail.com wrote: Here is what I am thinking re TA extensions: That'd work. But I am trying to think what the right user experience is. Will they appear... - the NXT/Arduino/other is plugged to USB (so the /dev/ node exists?... what about bluetooth?) That is up to whatever gets coded as the device detection algorithm. My strategy is to move that decision out from tawindow.py where it currently sits. - if a NXT/Arduino/other was seen once on this laptop? That is a good question. Because presumably this is a shared resource and kids might want to hack on their projects without the device. - if a file using NXT/Arduino/other extension is opened? Not sure what you mean here. - if a file using NXT/Arduino/other extension has ever been opened on this laptop? - if the libraries/tools needed are present? I presume we will include all the necessary libraries in the bundle. thanks. -walter cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff -- Walter Bender Sugar Labs http://www.sugarlabs.org ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Mon, Jan 10, 2011 at 11:37 AM, Walter Bender walter.ben...@gmail.com wrote: That is up to whatever gets coded as the device detection algorithm. My strategy is to move that decision out from tawindow.py where it currently sits. Perhaps, but in any case, it should be consistent across external devices that trigger new/different blocks. That is a good question. Because presumably this is a shared resource and kids might want to hack on their projects without the device. Exactly my thoughts. - if a file using NXT/Arduino/other extension is opened? Not sure what you mean here. What happens when I open a file with NXT/Arduino/other blocks? I've never connected to the device on my XO. I presume we will include all the necessary libraries in the bundle. Some elements we cannot put in the bundle -- for example, see my suggestion to Emiliano to depend on the nxt_python rpm, because it installs a /etc/udev/rules.d/ file that is needed to get to the device node. One way or another, you do require that the underlying distro has bits of infra. cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
Hi, Martin et al, We're working on a project to introduce robotics to school and high-school kids this year. For that, we're using both Arduino and Lego Mindstorms NXT2.0. There was a pilot 2 months ago using Mindstorms, but there wasn't any software support for the XO by then, so kids used only the brick interface to program the robots. We had arduino support in TurtleArt, based on Sayamindu's clone at http://git.sugarlabs.org/~sayaminfu/turtleart/arduino-support , but hardware wasn't ready so they used only nxt for the pilot. Right now, we've a fully working version of TurtleArt with NXT support at http://git.sugarlabs.org/~emiliano/turtleart/nxt-support It supports all the sensors (touch, ultrasonic and color) and motors that come in the box. It uses nxt-python (http://code.google.com/p/nxt-python/) to communicate with the brick, but only via USB. I'm trying to add bluetooth support but I'm having a little trouble making kernel modules work on Dextrose. You have to set a udev rule in order to make it work because of permissions. Instructions are around TurtleArt/tawindow.py:312 . It's just a line you have to add in /etc/udev/rules.d/* Next step is to integrate Arduino support, but first we've to test a new module we bought to drive more motors at the same time. All the Arduino hardware we use came from sparkfun.com: http://www.sparkfun.com/search/results?term=arduinowhat=products Also, we're using firmata (http://firmata.org/wiki/Main_Page) as Arduino's firmware. I'll try to upload a video tomorrow showing the functionalities of nxt-support clone. cheers, Emiliano On Sun, Jan 9, 2011 at 2:10 AM, Martin Langhoff martin.langh...@gmail.comwrote: On Thu, Dec 30, 2010 at 7:23 PM, Martin Langhoff martin.langh...@gmail.com wrote: I would recommend as a place to start simply adding a set of blocks to control the motors and access the sensor data. And leave the programming logic to the Sugar Activity. Right - but I will need to write an exporter that spits out NXC, and perhaps some glue commands that try to export it to the USB-connected Brick... Well, as it happens, I just spotted Emiliano's new repository and commit. It looks exactly like what I was planning to do! The meat is at http://git.sugarlabs.org/turtleart/nxt-support/commit/69da7620d1d5ec0560f344c5b52859c9a534d8a6 Emiliano, you're ahead of me! Tell us more about your project! m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Sun, Jan 9, 2011 at 8:58 AM, Emiliano Pastorino epastor...@plan.ceibal.edu.uy wrote: We're working on a project to introduce robotics to school and high-school kids this year. Excellent! Sayamindu's clone at http://git.sugarlabs.org/~sayaminfu/turtleart/arduino-support , but Wow! I didn't know this existed! What do you mean when you say hw wasn't ready? Right now, we've a fully working version of TurtleArt with NXT support at http://git.sugarlabs.org/~emiliano/turtleart/nxt-support yes -- I've seen it. And I have an NXT at home, will be testing it soon. I may have a few patches for you... It uses nxt-python (http://code.google.com/p/nxt-python/) to communicate with the brick Here's some complementary good news: - nxt-python is packaged and maintained for Fedora 14, and we can backport the package. You don't need to include it, and the rpm contains the udev/rules file. - I've just packaged nbc / nxc for Fedora, which is almost like C, and is a very nice way to program the robot. It even allows for concurrent programming. - There's an overall push to get more robotics stuff into Fedora, so upstream is keen to help - And I'm happy to help on the NXT / TA patch (as a personal project, not OLPC sponsored). cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
Wow! I didn't know this existed! What do you mean when you say hw wasn't ready? Oh! I meant we hadn't had time to prepare the kits for the kids, just that. yes -- I've seen it. And I have an NXT at home, will be testing it soon. I may have a few patches for you... I'll appreciate those patches. Do you want me to add you as a committer? - nxt-python is packaged and maintained for Fedora 14, and we can backport the package. You don't need to include it, and the rpm contains the udev/rules file. That's good, but I found some incompatibilities between the latest commit of nxt-python and python 2.5.1, so I had to modify a few lines. Anyways, latest Dextrose builds use python 2.6.1 and everything works out of the box there. Other thought about this point... wouldn't nxt-python package become a dependency for TurtleArt if we don't include it in the activity? - I've just packaged nbc / nxc for Fedora, which is almost like C, and is a very nice way to program the robot. It even allows for concurrent programming. Mmm... I'd like to get my hands on that code. - There's an overall push to get more robotics stuff into Fedora, so upstream is keen to help Great news! - And I'm happy to help on the NXT / TA patch (as a personal project, not OLPC sponsored). He he... personal interests since xmas maybe? cheers, Emiliano cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Thu, Dec 30, 2010 at 7:23 PM, Martin Langhoff martin.langh...@gmail.com wrote: I would recommend as a place to start simply adding a set of blocks to control the motors and access the sensor data. And leave the programming logic to the Sugar Activity. Right - but I will need to write an exporter that spits out NXC, and perhaps some glue commands that try to export it to the USB-connected Brick... Well, as it happens, I just spotted Emiliano's new repository and commit. It looks exactly like what I was planning to do! The meat is at http://git.sugarlabs.org/turtleart/nxt-support/commit/69da7620d1d5ec0560f344c5b52859c9a534d8a6 Emiliano, you're ahead of me! Tell us more about your project! m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Tue, Jan 4, 2011 at 11:55 AM, Rafael Enrique Ortiz Guerrero raf...@sugarlabs.org wrote: Not enterely related but some of us were working on an arduino TA conection (now only working serially), the next step is to be able to program the arduino chip, downloading bytecode generated from TA. Rafael -- and whomever is working on this Arduino project -- is there a standard-ish Arduino robot + sensots kit I can buy? I don't want to spend time playing with the robot itself, but if we are collaborating on this between NXT and Arduino kit, it'll be good to have an Arduino kit. cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
Hi Martin On Fri, Jan 7, 2011 at 4:18 PM, Martin Langhoff martin.langh...@gmail.comwrote: On Tue, Jan 4, 2011 at 11:55 AM, Rafael Enrique Ortiz Guerrero raf...@sugarlabs.org wrote: Not enterely related but some of us were working on an arduino TA conection (now only working serially), the next step is to be able to program the arduino chip, downloading bytecode generated from TA. Rafael -- and whomever is working on this Arduino project -- is there a standard-ish Arduino robot + sensots kit I can buy? I don't want to spend time playing with the robot itself, but if we are collaborating on this between NXT and Arduino kit, it'll be good to have an Arduino kit. No that i know, best shot for now is hacking or working with handmade analogue and digital sensors, like the ones used for turtle-art sensors. (CCed Juan Manuel Betancourt whow we were working to have an standard arduino robotics kit called hypercube) cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Fri, Jan 7, 2011 at 4:32 PM, Rafael Enrique Ortiz Guerrero raf...@sugarlabs.org wrote: is there a standard-ish Arduino robot + sensots kit I can buy? I don't ... No that i know, best shot for now is hacking or working with handmade analogue and digital sensors, like the ones used for turtle-art sensors. Hmmm. Looking at the NXT, and the little I know of Arduino, it's clear that to work in a user-friendly manner in something like TA, you have to make some assumptions about which sensor goes into each input; which motor to which controller, and how to pair up the tachometers with the right motor. That is because in a graphical programming environment, you want to offer easy sensor and motion blocks. To make that happen, you need those assumptions. For a full-blown programming env (C, python, etc), where users are expected to have variables, and can call functions with many named parameters, it's ok to use raw input/output ports. It's up to the user to map those using variables or constants. So for example, in the case of NXT, if you are going to use the graphical NXT-G you have to put the right sensor in the right port, same with motors. So NXT-G has a read distance sensor block that you can put in an if condition. And run left motor block. And run both motors forward, synchronized via tachometer. Those blocks make it easy and fun and that's where I think we need to be headed. So I'd strongly suggest (for an initial implementation) settling on an arduino set that has a couple of sensors, and 2 motors with tachometers. Light-color sensors are great because you can get started with follow the border of the thick black line programs. If we go that way, we can have various modes, matching the robot and motor/sensor configurations -- NXT, various Arduino models, etc. cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Fri, Jan 7, 2011 at 4:54 PM, Martin Langhoff martin.langh...@gmail.com wrote: On Fri, Jan 7, 2011 at 4:32 PM, Rafael Enrique Ortiz Guerrero raf...@sugarlabs.org wrote: is there a standard-ish Arduino robot + sensots kit I can buy? I don't ... No that i know, best shot for now is hacking or working with handmade analogue and digital sensors, like the ones used for turtle-art sensors. Hmmm. Looking at the NXT, and the little I know of Arduino, it's clear that to work in a user-friendly manner in something like TA, you have to make some assumptions about which sensor goes into each input; which motor to which controller, and how to pair up the tachometers with the right motor. That is because in a graphical programming environment, you want to offer easy sensor and motion blocks. To make that happen, you need those assumptions. For a full-blown programming env (C, python, etc), where users are expected to have variables, and can call functions with many named parameters, it's ok to use raw input/output ports. It's up to the user to map those using variables or constants. So for example, in the case of NXT, if you are going to use the graphical NXT-G you have to put the right sensor in the right port, same with motors. So NXT-G has a read distance sensor block that you can put in an if condition. And run left motor block. And run both motors forward, synchronized via tachometer. Those blocks make it easy and fun and that's where I think we need to be headed. So I'd strongly suggest (for an initial implementation) settling on an arduino set that has a couple of sensors, and 2 motors with tachometers. Light-color sensors are great because you can get started with follow the border of the thick black line programs. If we go that way, we can have various modes, matching the robot and motor/sensor configurations -- NXT, various Arduino models, etc. I think we have a pretty good handle on auto-detecting the NXT. If we can do the same for Arduino, we can have the appropriate palettes just appear when needed all from one codebase. If someone wants to override the simple assumptions above, they have the option of using a Python block and/or jumping into the code itself. For the former, we could bundle in some examples. -walter cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff -- Walter Bender Sugar Labs http://www.sugarlabs.org ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
Not enterely related but some of us were working on an arduino TA conection (now only working serially), the next step is to be able to program the arduino chip, downloading bytecode generated from TA. Months ago We've found a project called blocos ( http://babuinoproject.blogspot.com/) that uses a pyCricketLogo compiler that can be adjusted to TA in order to be able to program chips. Rafael Ortiz On Thu, Dec 30, 2010 at 11:55 PM, Martin Langhoff martin.langh...@gmail.com wrote: On Thu, Dec 30, 2010 at 5:34 PM, Martin Langhoff martin.langh...@gmail.com wrote: - NBC/NXC is the most popular tool by all accounts, actively RPM at http://dev.laptop.org/~martin/nbc/ - There is a python module for it, but it's for Python 2.4, looks unmaintained, seems very limited in features and it's not clear nxt_python is in Fedora actually, has been for a long time. cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Tue, Jan 4, 2011 at 11:55 AM, Rafael Enrique Ortiz Guerrero raf...@sugarlabs.org wrote: Not enterely related but some of us were working on an arduino TA conection (now only working serially), That's cool! Very related! Walter mentioned your in private email. From what I see, for both Arduino and NXT we need - A special mode that loads and shows some special blocks, hides the Turtle, and offers compile-and-copy-to-robot buttons. We need to make our own blocks and compile/copy support, but the special mode might need some support from TA itself. - An exporter -- in your case to Arduino, in my case to NXT. I am looking at the talogo.py src, and plan to export some NXC. cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Tue, Jan 4, 2011 at 12:02 PM, Martin Langhoff martin.langh...@gmail.comwrote: On Tue, Jan 4, 2011 at 11:55 AM, Rafael Enrique Ortiz Guerrero raf...@sugarlabs.org wrote: Not enterely related but some of us were working on an arduino TA conection (now only working serially), That's cool! Very related! Walter mentioned your in private email. From what I see, for both Arduino and NXT we need - A special mode that loads and shows some special blocks, hides the Turtle, and offers compile-and-copy-to-robot buttons. We need to make our own blocks and compile/copy support, but the special mode might need some support from TA itself. - An exporter -- in your case to Arduino, in my case to NXT. I am looking at the talogo.py src, and plan to export some NXC. cheers, That's exactly what's needed, intersection from both projects is the TA gui part, and the difference is the exporter. I'll keep you in the loop if any advance comes from my behalf. m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
I'd like to also put in a plug for the LEGO's low-cost WeDo robotics product. While there is some support for it in Scratch, to my knowledge there isn't no grassroots hacking on the USB interface for it. I think it would be very cool to have Turtleblocks support the WeDo sensors and motor (which can be purchased as individual components from LEGO Education). I will have an NXT 2.0 kit soon so I am eagerly following these developments. Mike On Tue, Jan 4, 2011 at 12:02 PM, Martin Langhoff martin.langh...@gmail.com wrote: On Tue, Jan 4, 2011 at 11:55 AM, Rafael Enrique Ortiz Guerrero raf...@sugarlabs.org wrote: Not enterely related but some of us were working on an arduino TA conection (now only working serially), That's cool! Very related! Walter mentioned your in private email. From what I see, for both Arduino and NXT we need - A special mode that loads and shows some special blocks, hides the Turtle, and offers compile-and-copy-to-robot buttons. We need to make our own blocks and compile/copy support, but the special mode might need some support from TA itself. - An exporter -- in your case to Arduino, in my case to NXT. I am looking at the talogo.py src, and plan to export some NXC. cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Tue, Jan 4, 2011 at 12:37 PM, Mike Lee curious...@gmail.com wrote: I'd like to also put in a plug for the LEGO's low-cost WeDo robotics Oh, wishes wishes :-) Both arduino and nxt are within reach because others have laid the foundations. You can easily program them from Linux. Here, we're talking about adding glue between TA and existing tools to program those 'bots. AFAICS, for WeDo there is currently no way to program them from Linux. That's kind of a stumbling block. Maybe it has a similar controller brick or is close enough that you can work with the NXC/NXB people to get it supported... cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On 04.01.2011, at 20:00, Martin Langhoff wrote: On Tue, Jan 4, 2011 at 12:37 PM, Mike Lee curious...@gmail.com wrote: I'd like to also put in a plug for the LEGO's low-cost WeDo robotics Oh, wishes wishes :-) Both arduino and nxt are within reach because others have laid the foundations. You can easily program them from Linux. Here, we're talking about adding glue between TA and existing tools to program those 'bots. AFAICS, for WeDo there is currently no way to program them from Linux. That's kind of a stumbling block. Maybe it has a similar controller brick or is close enough that you can work with the NXC/NXB people to get it supported... cheers, Doesn't Scratch support WeDo? There might be a clue. See this thread: http://scratch.mit.edu/forums/viewtopic.php?pid=434923 Also, in 2008/09 someone was working on porting the original LabVIEW-based software to the XO (they posted to olpc-devel and Sugar lists without mentioning what it was for). But I have not heard anything ever since (even though LEGO announced XO support in their original 2008 press release). In that thread above it is mentioned that Peru did a project using it. - Bert - ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Tue, Jan 4, 2011 at 3:28 PM, Mike Lee curious...@gmail.com wrote: I can tell you that it works very well! And tell us -- does it run under Linux/Sugar? Linux/Gnome? m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
It is a Sugar activity (Linux/Sugar). Mike On Tue, Jan 4, 2011 at 3:31 PM, Martin Langhoff martin.langh...@gmail.com wrote: On Tue, Jan 4, 2011 at 3:28 PM, Mike Lee curious...@gmail.com wrote: I can tell you that it works very well! And tell us -- does it run under Linux/Sugar? Linux/Gnome? m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Tue, Jan 4, 2011 at 4:00 PM, Mike Lee curious...@gmail.com wrote: It is a Sugar activity (Linux/Sugar). Niiice. m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
Hi Walter, list, [ disclaimer: this is a hobby project, likely to proceed at very slow pace, given insane amounts of real work around XOs ;-) ] I got a lego nxt 2.0 for xmas! Looking around for how to use it from Linux, I found NXC (a variant on NQC -- 'not quite C' that compiles to NXT bytecode). It looks like a really pleasant programming language. It's the most compelling env for various reasons -- but the interesting thing is that there is no GUI for Linux, and that the MacOSX/Windows GUI looks a lot like Turtle Blocks (but doesn't seem to be as good ;-) ). Here's a good visual summary, put together by a teacher: http://www.nebomusic.net/rosettastone.html What I am wondering is what is the smartest path to a TB mode or a friendly fork of TB that exports NXC code? After browsing the TB src (looking at master), my observations are - I'm very pleased there's a turtleart.py that runs w/o Sugar! Very nice! - talogo.py could be an inspiration - NXT has very different actions, and fairly specific sensors -- it'd make sense to have a very different set of blocks available. Also some blocks have many options. Not sure how to handle these issues. Ideas? = Notes on languages and NXT tools = Notes for anyone else looking into NXT... from most interesting to least - NBC/NXC is the most popular tool by all accounts, actively maintained, and jspaleta is planning to get it into F15. NBC/NXC creates programs that download to the NXT CPU and run there -- it's a nice ARM CPU. Fully features, well documented (free online docs). The author of NBC/NXC has also published an apparently good book. http://bricxcc.sourceforge.net/nbc/ http://www.amazon.com/exec/obidos/ASIN/0973864974/ Found this tutorial best outline of NXC usage http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_tutorial.pdf - There is a python module for it, but it's for Python 2.4, looks unmaintained, seems very limited in features and it's not clear whether it creates programs that will execute on the NXT CPU, or just controls it remotely. Others have reused it and extended it for file transfers, but it all looks dated; if the NBC/NXC toolchain handles the actions we need, better. http://www.danbbs.dk/~kibria/nxt/nxtsh.py http://chromiteblue.com/archive/projects/nxt/nxt_pull-a-companion-program-for-nxt_push/ - Big chart of options http://www.teamhassenplug.org/NXT/NXTSoftware.html cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Thu, Dec 30, 2010 at 5:34 PM, Martin Langhoff martin.langh...@gmail.comwrote: Hi Walter, list, [ disclaimer: this is a hobby project, likely to proceed at very slow pace, given insane amounts of real work around XOs ;-) ] I got a lego nxt 2.0 for xmas! Looking around for how to use it from Linux, I found NXC (a variant on NQC -- 'not quite C' that compiles to NXT bytecode). It looks like a really pleasant programming language. It's the most compelling env for various reasons -- but the interesting thing is that there is no GUI for Linux, and that the MacOSX/Windows GUI looks a lot like Turtle Blocks (but doesn't seem to be as good ;-) ). Here's a good visual summary, put together by a teacher: http://www.nebomusic.net/rosettastone.html What I am wondering is what is the smartest path to a TB mode or a friendly fork of TB that exports NXC code? After browsing the TB src (looking at master), my observations are - I'm very pleased there's a turtleart.py that runs w/o Sugar! Very nice! - talogo.py could be an inspiration - NXT has very different actions, and fairly specific sensors -- it'd make sense to have a very different set of blocks available. Also some blocks have many options. Not sure how to handle these issues. Ideas? = Notes on languages and NXT tools = Notes for anyone else looking into NXT... from most interesting to least - NBC/NXC is the most popular tool by all accounts, actively maintained, and jspaleta is planning to get it into F15. NBC/NXC creates programs that download to the NXT CPU and run there -- it's a nice ARM CPU. Fully features, well documented (free online docs). The author of NBC/NXC has also published an apparently good book. http://bricxcc.sourceforge.net/nbc/ http://www.amazon.com/exec/obidos/ASIN/0973864974/ Found this tutorial best outline of NXC usage http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_tutorial.pdf - There is a python module for it, but it's for Python 2.4, looks unmaintained, seems very limited in features and it's not clear whether it creates programs that will execute on the NXT CPU, or just controls it remotely. Others have reused it and extended it for file transfers, but it all looks dated; if the NBC/NXC toolchain handles the actions we need, better. http://www.danbbs.dk/~kibria/nxt/nxtsh.pyhttp://www.danbbs.dk/%7Ekibria/nxt/nxtsh.py http://chromiteblue.com/archive/projects/nxt/nxt_pull-a-companion-program-for-nxt_push/ - Big chart of options http://www.teamhassenplug.org/NXT/NXTSoftware.html cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff I had a similar conversation with the Arduino team in .uy last month. We discussed how I might make a palette class that made it easier to extend Turtle Blocks without having to modify the taconstants.py file. I'll keep you in the loop on that one. I would recommend as a place to start simply adding a set of blocks to control the motors and access the sensor data. And leave the programming logic to the Sugar Activity. Happy to help any way I can. (BTW, v106, not yet released, but in git, has support for the XO camera as an additional sensor... a request from a teacher in .uy.) Happy 2011 -walter -- Walter Bender Sugar Labs http://www.sugarlabs.org ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Thu, Dec 30, 2010 at 6:35 PM, Walter Bender walter.ben...@gmail.com wrote: I had a similar conversation with the Arduino team in .uy last month. We Interesting! I would recommend as a place to start simply adding a set of blocks to control the motors and access the sensor data. And leave the programming logic to the Sugar Activity. Right - but I will need to write an exporter that spits out NXC, and perhaps some glue commands that try to export it to the USB-connected Brick... Happy to help any way I can. (BTW, v106, not yet released, but in git, has support for the XO camera as an additional sensor... a request from a teacher in .uy.) Thanks! Yes, I spotted that in the git repo - Happy 2011! m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Thu, Dec 30, 2010 at 7:23 PM, Martin Langhoff martin.langh...@gmail.comwrote: On Thu, Dec 30, 2010 at 6:35 PM, Walter Bender walter.ben...@gmail.com wrote: I had a similar conversation with the Arduino team in .uy last month. We Interesting! I would recommend as a place to start simply adding a set of blocks to control the motors and access the sensor data. And leave the programming logic to the Sugar Activity. Right - but I will need to write an exporter that spits out NXC, and perhaps some glue commands that try to export it to the USB-connected Brick... You'll need to write that regardless. You can start by writing some python and import it into a block. These blocks can take up to 3 arguments. That way you'd not need to hack any TA code at all to start. Happy to help any way I can. (BTW, v106, not yet released, but in git, has support for the XO camera as an additional sensor... a request from a teacher in .uy.) Thanks! Yes, I spotted that in the git repo - Happy 2011! m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff -- Walter Bender Sugar Labs http://www.sugarlabs.org ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
On Thu, Dec 30, 2010 at 5:34 PM, Martin Langhoff martin.langh...@gmail.com wrote: - NBC/NXC is the most popular tool by all accounts, actively RPM at http://dev.laptop.org/~martin/nbc/ - There is a python module for it, but it's for Python 2.4, looks unmaintained, seems very limited in features and it's not clear nxt_python is in Fedora actually, has been for a long time. cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel