Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Adding TCP communication method #73

Closed
wants to merge 2 commits into from
Closed

[WIP] Adding TCP communication method #73

wants to merge 2 commits into from

Conversation

jsoutherland
Copy link

As an alternative to SPI

@Zacharyprime Zacharyprime added this to Potential Feature in KIPR Wombat Developers Feb 13, 2020
@Zacharyprime
Copy link
Member

The KIPR-Update repository is now configured to install a managed mode configurator file. I plan to eventually add the ability to interact with that function to the wifi screen so that the Wombat can connect to wifi sources.

If we do that, TCP (or UDP/other) functionality will be a necessity so that we can add functions such as:

  • Allowing IDE use over the internet for virtual learning
  • Syncing multiple wombats to one shared network so that there aren't entire APs produced by every Wombat in a room
  • Connecting to a Unity Simulator (side project of mine)
  • Communicating with another Wombat over TCP (ideally built into libwallaby)
  • Allowing the Wombat platform to be used for a broader range of tasks because there is a communication medium between the PC and the Wombat, for example, a browser based remote control robot.

@Zacharyprime Zacharyprime moved this from Potential Feature to TODO in KIPR Wombat Developers Feb 25, 2021
@Zacharyprime
Copy link
Member

So I didn't realize this before, but when I found Josh's Unity project and continued it,
I did not realize that he also intended for a TCP communication between Wallaby and Unity.
So I am not as original as I had thought.

I have this repository which is the progress I've made off of that Unity project:
https://github.com/Zacharyprime/RoboSim

  • I added a TCP communication method that allows control of the direct physics velocity and the motors on the virtual demobot.
  • I remade the demobot model because it had way too many polygons and was not pieced apart enough to be used for the future robot snap building mechanic I want to add (also it made it easier to use in Unity). I was about to finish up making the claw and the relevant physics work before I had to move to another task.
  • I added functional wheels with colliders.
  • Attempted to fix proportions of the JBC mat, can, and demobot. But I may have not done that as perfectly as I hoped.
    (hopefully by the time someone reads this I will have added more)

The code here could be modified to communicate with my Unity TCP implementation.
https://github.com/Zacharyprime/RoboSim/blob/main/RoboSim/Assets/Scripts/Network.cs

I had not gotten to adding TCP to the Wombat yet, but that's a good thing because it seems this work has already started on that.

@Zacharyprime
Copy link
Member

After reviewing the conflicts, it is probably easier to take what was learned here and reapply it to the current master of libwallaby.
The software has evolved quite a bit since this point, and if/when the cleanup project is done, it will be even less merge-able.

I'm going to open an issue that targets this closed PR so that whoever takes the baton next can hit the ground running.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants