[chbot] Simple robot programming

Hanno Sander hanno at mydancebot.com
Wed Jul 8 08:37:30 BST 2009


Attaching "Scratch" to a robot?

Check out my latest project using ViewPort: "Spinner"- see here
http://mydancebot.com/spinner/spinner1.png
for first screenshot.

The shot shows Spinner's main interface, consisting of:
- a top row of main actions
- a library of "blocks" on the left, organized into 10 categories
- the "program" sheet where you snap together blocks to create your program
- and the output pane where you can view the live spin code, your
variable's live values, a graph of them, or the status of the io pins

The programmer does not have to worry about cogs, objects, or the
associated initialization/data/variables required for each object.
You can change a program's parameters as it's running.
Spinner manages the complexity of polling for events such as key/mouse
clicks and starting up cogs.

I'll announce more later- beta should start in about a week-
participants must have ViewPort Ultimate- that's what it's built on.
Spinner is ideal for anyone starting out with the Propeller- it makes
it easy to take full advantage of all the Propeller's capabilities.
Transitioning to programming in spin with the Propeller Tool is easy
as Spinner continually shows you the generated code and it opens/saves
regular spin files.

A perfect hardware complement is the Propeller Demoboard to let you:
- drive a robot with servos
- draw graphics for vga/tv
- react to keyboard/mouse
- communicate with a terminal
- output music tones, wav files, record and play back sounds, and
synthesize speech
- interface with sensors like the PING and a compass
- perform input/output on the pins: measure frequency,pulse, count edges...
Hanno

On Wed, Jul 1, 2009 at 8:01 PM, Richard Jones<rjtp at ihug.co.nz> wrote:
> A couple of other perspectives on lowering the bar of entry to robotics:
>
> 1. Simple howto's such as this one on AVR:
> http://www.tuxgraphics.org/electronics/200411/article352.shtml
> There's no rocket science in there, but everything is gathered in one place
> with a nice progression to a low cost open ended platform that does not
> have the limitations of simplified approaches.
>
> 2. I have a sneaky feeling that if you could join scratch to a robot you
> could get 6 year olds moving robots around in no time:
> http://scratch.mit.edu/
>
> Richard
>
> On Wed, 1 Jul 2009 18:39:33 +1200, jimmy allen <jimmy1248 at gmail.com> wrote:
>> you could use flow charting or structure diagraming
>> this is how my programaming teacher gets us to plan our code and it
>> gives a visual feel for how a program is going to work
>>
>> On 7/1/09, Morris <skibear at gmail.com> wrote:
>>> Thanks for the summary and links!
>>>
>>> classicladder is interesting! Looks to be active and a lot more than a
>>> simple ladder logic editor/executor.
>>>
>>>
>>>> I don't know whether the execution engine is separated from the drawing
>>>> tool. The web-page was last updated in 2009, so it might still be
>>>> maintained.
>>>
>>>
>>> "It can run on little embedded platforms (no GTK interface dependance,
>>> and number objects to allocate for less memory usage)." strongly implies
>>> that the execution engine can be used stand-alone. However I suspect it
>>> would not be a trivial amount of work to get it to the point I could use
>>> it for my own uses!
>>>
>>> Cheers
>>>
>>> On Wed, 2009-07-01 at 17:18 +1200, Stephen Irons wrote:
>>>
>>>> A PLC is just a robot used to control industrial machinery, and PLCs
> can
>>>> do a wide variety of tasks. IEC 61131-3 specifies five languages for
>>>> programming PLCs: Ladder Diagram (LD), Instruction List (IL),
> Structured
>>>> Text (ST), Function Block Diagram (FB) and Sequential Function Chart
>>>> (SFC). IL is exactly the same as LD, except using text notation rather
>>>> than diagrams. ST is a Pascal-like programming language and adds
> nothing
>>>> that any other imperative language can provide, and is probably not as
>>>> well-defined as modern languages.. FB adds the ability to incorporates
>>>> nested blocks of the other languages, and is very useful. SFC adds
>>>> state-machine like behaviour.
>>>>
>>>> The combination of LD, FB and SFC is very powerful.
>>>>
>>>> As Charles mentioned, there are at least three parts to the system: the
>>>> drawing tool, the compiler and the execution engine. An
> almost-essential
>>>> additional part is a debugger.
>>>>
>>>> In a previous job, I ported a (commercial) PLC execution engine to run
>>>> on a 2 MHz 68HC11, so a WRT-style router will certainly have the oomph
>>>> to do it.
>>>>
>>>> The drawing tool, compiler and debugger were Windows-hosted.
>>>>
>>>> The drawing tool included support for all five IEC 61131-3 languages.
>>>> The drawing tool also included software-engineering utilities such as
>>>> version control, documentation generation, etc.
>>>>
>>>> The compiler generated byte-codes that were loaded into the target and
>>>> run.
>>>>
>>>> The debugger connected via any available channel (of course, you had to
>>>> port the communication code), and you monitor the states of inputs,
>>>> outputs and variables, could set breakpoints and watchpoints in all
>>>> sorts of ways.
>>>>
>>>> The execution engine was very standard ANSI C, so could be ported to
>>>> just about anything.
>>>>
>>>> The name of the system was IsaGraf, and they are still around. The
> whole
>>>> system cost a lot, but was far cheaper to buy than to develop
> ourselves.
>>>>
>>>> As far as I know, there are no Linux-hosted tools that do all of this.
>>>> However, there are a number of places to look:
>>>>
>>>> http://membres.lycos.fr/mavati/classicladder/ includes LD and SFC. I
>>>> don't know whether the execution engine is separated from the drawing
>>>> tool. The web-page was last updated in 2009, so it might still be
>>>> maintained.
>>>>
>>>> http://mat.sourceforge.net/ looks interesting, but they don't seem to
> be
>>>> very active: last updated 2006.
>>>>
>>>> Stephen Irons
>>>>
>>>>
>>>> =======================================================================
>>>> This email, including any attachments, is only for the intended
>>>> addressee.  It is subject to copyright, is confidential and may be
>>>> the subject of legal or other privilege, none of which is waived or
>>>> lost by reason of this transmission.
>>>> If the receiver is not the intended addressee, please accept our
>>>> apologies, notify us by return, delete all copies and perform no
>>>> other act on the email.
>>>> Unfortunately, we cannot warrant that the email has not been
>>>>  altered or corrupted during transmission.
>>>> =======================================================================
>>>>
>>>>
>>>> _______________________________________________
>>>> Chchrobotics mailing list Chchrobotics at lists.linuxnut.co.nz
>>>> http://lists.ourshack.com/mailman/listinfo/chchrobotics
>>>> web site: http://kiwibots.org
>>>> When replying, please edit your Subject line to reflect new content.
>>>
>>
>> _______________________________________________
>> Chchrobotics mailing list Chchrobotics at lists.linuxnut.co.nz
>> http://lists.ourshack.com/mailman/listinfo/chchrobotics
>> web site: http://kiwibots.org
>> When replying, please edit your Subject line to reflect new content.
>
> _______________________________________________
> Chchrobotics mailing list Chchrobotics at lists.linuxnut.co.nz
> http://lists.ourshack.com/mailman/listinfo/chchrobotics
> web site: http://kiwibots.org
> When replying, please edit your Subject line to reflect new content.
>



More information about the Chchrobotics mailing list