Adalove, It sounds like you may be thinking of some interesting projects when you mention safety critical robot
applications. When it's convenient, I think it would be great if you post some details of your projects. And for two
reasons; the first is I'm curious, never really thought about safety critical with NXT robots, and second, I
take my robots into 2nd - 6th grade classrooms, demo them, and talk about how robots sense the environment.
(If I can get 2 or 3 kids out of 20, a little more interested in STEM, it's well worth the 2 or 3 hours.) And I am
always looking for some new feature for a robot that will interest the kids, and something safety related may
be of interest. I.e. advance warning, I may borrow your ideas.
Regarding 'C' vs Ada, and safety, although it has been 25 years since I've done anything in Ada, I agree that
Ada does reduce the chance of programming errors. A multi-tasking program in 'C' lets the programmer
do stupid / unintended things, easily and quickly.
An idea for your son if he hasn't already found it, the web site <http://www.nxtprograms.com/>
has some interesting robots using the standard NXT parts and language.
How to avoid upsetting the mini-me....
Re: How to avoid upsetting the mini-me....
tabbycatrobots:
My interest in exploring ADA was initially piqued by this cool little project I came across on youtube: Lego Segway NXT-Ada/Ravenscar - YouTube
I agree with your comments regarding multi-tasking in "C". Whilst this project could certainly be implemented in "C" (maybe even NXC), it may well "fall over" more often!
I don't have a definite project in mind at this point.. it's early days ... (I'm brand new to ADA, just installed IDE last night, so don't expect any great achievements anytime soon! ).
However, the best way to progress my ADA skills will be to have a definite project goal to focus on.
I'm open to suggestions.
doc-helmut:
When you said Hummingbird, I thought you were referring to: http://www.hummingbirdkit.com
As for your bundled characterizations of ADA applications...
"extremely uncommon, rare": I would like to refute this claim with: http://www.adacore.com/customers
"fancy, exceptional, extravagant": Perhaps you're right there, on the same evidence : http://www.adacore.com/customers
"and maybe even eccentric": Perhaps, but the jury's out on this one I think: http://libre.adacore.com/academia/projects (It could be argued that these projects are no more eccentric than any of the other thousands of LEGO projects on Youtube using NXC or LEGO firmware..
Thanks for the various advice guys. It's all helpful, and will "go into the pot".
My interest in exploring ADA was initially piqued by this cool little project I came across on youtube: Lego Segway NXT-Ada/Ravenscar - YouTube
I agree with your comments regarding multi-tasking in "C". Whilst this project could certainly be implemented in "C" (maybe even NXC), it may well "fall over" more often!
I don't have a definite project in mind at this point.. it's early days ... (I'm brand new to ADA, just installed IDE last night, so don't expect any great achievements anytime soon! ).
However, the best way to progress my ADA skills will be to have a definite project goal to focus on.
I'm open to suggestions.
doc-helmut:
When you said Hummingbird, I thought you were referring to: http://www.hummingbirdkit.com
As for your bundled characterizations of ADA applications...
"extremely uncommon, rare": I would like to refute this claim with: http://www.adacore.com/customers
"fancy, exceptional, extravagant": Perhaps you're right there, on the same evidence : http://www.adacore.com/customers
"and maybe even eccentric": Perhaps, but the jury's out on this one I think: http://libre.adacore.com/academia/projects (It could be argued that these projects are no more eccentric than any of the other thousands of LEGO projects on Youtube using NXC or LEGO firmware..
Thanks for the various advice guys. It's all helpful, and will "go into the pot".
Re: How to avoid upsetting the mini-me....
Of course "uncommon" or "rare" has been referred just to ADA programming for NXTs: You'll probably find only VERY few ADA programmers in Mindstorms forums.
On the other hand, most of the more advanced Robotic projects will only work if you have the option for multitasking. It's one of the biggest benefits of NXC and NQC and NXT-G and RCX-Code that they all provide multitasking (of course, also LeJos and RobotC have got it).
Not only real-time operating systems (RTOS) like OSEK (nxtOSEK) are successfully using multitasking.
Already pre-emptive multitasking implemented by the Lego firmware is not necessarily time-critical, you might even exert influence on task priorities.
So also the NXTway or Segway is working well when using multitasking.
(Of course you do not compulsorily need to use this feature, and you should only use it if you can't make it straight in just 1 task, but it's of great value - if not priceless - if you use it intelligently.)
http://www.hitechnic.com/upload/786-HTWayC.nxc
On the other hand, most of the more advanced Robotic projects will only work if you have the option for multitasking. It's one of the biggest benefits of NXC and NQC and NXT-G and RCX-Code that they all provide multitasking (of course, also LeJos and RobotC have got it).
Not only real-time operating systems (RTOS) like OSEK (nxtOSEK) are successfully using multitasking.
Already pre-emptive multitasking implemented by the Lego firmware is not necessarily time-critical, you might even exert influence on task priorities.
So also the NXTway or Segway is working well when using multitasking.
(Of course you do not compulsorily need to use this feature, and you should only use it if you can't make it straight in just 1 task, but it's of great value - if not priceless - if you use it intelligently.)
http://www.hitechnic.com/upload/786-HTWayC.nxc
Who is online
Users browsing this forum: Semrush [Bot] and 4 guests