-
Notifications
You must be signed in to change notification settings - Fork 0
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
Initial UI #37
Initial UI #37
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
Looks like CI is failing on installing the bridge through apt?
Yeah I noticed that. For whatever reason rosbridge hasn't added ROS2 packages to apt yet so you have to install from source. Not sure how we want to handle that. |
There's an external project add that we can throw in the cmake that will build and install it using the source during configure time for the time being to make it automated |
It looks like the galactic package for rosbridge just didn't get published with the last sync so this should be resolved in the next few weeks (more information here). If anybody wants to test the UI in the meantime you can just clone rosbridge_suite in the src folder next to our repo You can start the rosbridge server with |
I went ahead and tested the performance; after fixing a few issues everything looks pretty good. All that's left is to settle on the ROS message structures for everything and add the connection on the UI end. |
I'll create the vision output messages within the next few days so you aren't completely blocked. Should at least give you the ability to manually publish state info |
prevents the layering issue
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work! I'll try to test it before the meeting tonight
ateam_ui/CMakeLists.txt
Outdated
LIST_RECURSE true | ||
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/src | ||
${CMAKE_CURRENT_SOURCE_DIR}/src/* | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know how ros2 calls cmake internally, but with glob, it requires a change to CMakeLists.txt to pick up new files that have been added.
Is this a concern with the UI? AKA will we be adding new files or is it more just editing the current files?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would be an issue. Is there a way to have it pick up new files? The reason that I'm doing all that in the first place is because the /src file has to be copied to the install location before building it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe you can just copy the folder instead of a list of files. The source arg just has to be a directory. See page 222 ish here https://drive.google.com/file/d/1z48ybhezGLe4_Xox-euVkHv68hWMjhBz/view?usp=sharing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tldr depending on how you want to deal with the naming
file(COPY base/srcDir DESTINATION destDir) # --> destDir/srcDir
file(COPY base/srcDir/ DESTINATION destDir) # --> destDir
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think that works for detecting new files or even changes to existing ones, thats's why I was using the configure_file command, that one actually detects changes to the files
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah shoot, you right. It'll probably end up being some really gross custom target thing then. It's fine for now and if it becomes a problem we can always fix it
Interesting colcon build output :P
I tried to get the normal
I was able to get EDIT If this happens, just remove the build and install folder then rebuild. ros2/examples#303 (comment)
|
I should probably suppress non-error stdout for those commands so it doesn't flood the terminal when running colcon build although I think that should only happen once. For the issue with WSL, it looks like you could change a config setting with WSL or just stick with using the debug version.
Also, I'll make the change to add that |
I have discovered a fun issue with the CMake. When you run colcon build for the first time and it needs to install dependencies it asks you to input your password so it can run sudo but the doesn't really stand out and appears after a minute or so of other output so it's very likely that a user would just not see it and leave it stalled indefinitely. Anybody have any ideas on how to avoid this? |
I'm not sure if there's an easy way to fix that. Can you output text in cmake to warn the user that this needs to happen? I'm not sure how much output colcon eats |
UI Build Changes
Merging per our chat last tuesday |
I'm hoping we can merge this PR once it gets to the point that it will be helpful for developing other features. Essentially I just want it to let us output debug text/images initially and then I can start a new PR to flesh out an actual UI.
So far this basically just sets up a package that uses the rosbridge suite to launch a rosbridge server and prove that JavaScript running in a basic HTML file can successfully pub/sub with the ROS side of things.