mint-n-pepper / DanceBotsEditor

Qt GUI to edit Dancebot Choreographies
https://www.dancebots.ch
GNU General Public License v3.0
4 stars 1 forks source link

binary input to DanceBots #75

Open tiemes opened 3 years ago

tiemes commented 3 years ago

Following a discussion Nina and I had about a more meaningful way to use binary system and explain the DanceBots protocoll: we thought, it would be nice, if we could let them compose binary signals e.g. spin... on paper. Afterwards, they could test it by sending it to the dancebot. Via instaplay, would it be feasable to have a mode/inputfield where they could manually input a binary string, which then gets executed on the dancebot? That way, we had a more interesting way for them to interact with the protocoll than just write it on paper and check the solution on paper again. doable? what are youre thoughts about it ;-)

r-oung commented 3 years ago

I always thought visualizing the control signal on an oscilloscope was the best way to explain the protocol.

However, if you want to get hands-on with the binary input.. A few years ago I had started to write a Python package for controlling the DanceBots. The intention was to provide an alternative to the drag-and-drop editor, and to introduce actual code in a meaningful way. What you are proposing, i.e. composing binary signals, is essentially coding and could easily be integrated into the package. I never completed the project, but I could revive it if that's of interest.

If, however, you insist on doing it all through the Qt editor, @philippReist would have to comment on that :-)

tiemes commented 3 years ago

Visualizing the protocol on an oscilloscope is very nice indeed. I see two possible downsides.

  1. you obviously need an oscilloscope. No problem with our courses. However we sometimes sell the kits to teachers directly, they might not be able to use one.
  2. it's not possible to check whether a signal you calculated on your own is correct.

It's awesome to hear there exists part of a python library. If we could get this library onto a level which would allow kids with no super-in-depth knowledge to code, that be awesome! be it in our Gui or with an IDE. btw: there is an educational framework called "TigerJython" from ABZ computer science at ETH. Maybe, we would add DanceBot to it.. TigerJython Programming it with Python would dramatically increase the benefit in the classroom, as you could solder and choreo your robot and afterwards it gets a second life with python programming. For Secondary I and II levels in schools, this would fit perfectly with the curriculum.

philippReist commented 3 years ago

I think a Python script that can plot the encoded signal that you would then see on the scope as well makes the most sense. I don't want to add this feature to the GUI.

tiemes commented 3 years ago

sounds good to me. That's why I asked you two :)

r-oung commented 3 years ago

@tiemes I'll try to restart the project and I'll post a link to the repository here when I've got something working.

r-oung commented 3 years ago

@tiemes @philippReist I finally got around to working on it: https://github.com/r-oung/dancebots-python Let me know what you guys think on the discussions tab.