SaddlebackCollegeRobotics / .github

0 stars 0 forks source link

Web GUI Framework Design #135

Closed Supernova1114 closed 5 months ago

Supernova1114 commented 11 months ago

A Web GUI seems like a more viable solution than a normal software interface:

ToDo:

devloos commented 10 months ago

Documentation

Demo

https://github.com/SaddlebackCollegeRobotics/.github/assets/58356571/1ba2346d-b29d-4bd6-8694-4b1735a9df58

Todos

Resources

devloos commented 8 months ago
devloos commented 8 months ago

General:

Arm:

Science:

Autonomy:

devloos commented 8 months ago
devloos commented 8 months ago

Terminal libraries offering complete SSH capabilities cannot be seamlessly integrated into another project. In simpler terms, such libraries function as standalone projects and do not integrate well with our existing projects.

While it is possible to implement a basic shell for executing and transmitting commands, there are limitations. This approach only supports basic commands without the ability to edit or navigate through the folder structure.

devloos commented 8 months ago

Foxglove:

It seems that the most effective way to establish a real-time connection is through the utilization of web sockets. The system supports diverse layouts, including the incorporation of tabs within each layout.

Key features for our needs: Video feeds Map display Lidar visualization Various metrics visualization options, such as watchdog status, antenna signal strength, drive speed, and more (not limited to heading) Service calls Custom message schemas

Limitations to consider: Inability to perform action calls Incapacity to read or set ROS parameters

The implementation process is relatively straightforward but necessitates an additional node, namely 'foxglove_bridge', to be executed. This particular node actively listens to topics being published by other nodes. While certain node settings can be adjusted to modify behavior, ultimately, the data is transmitted through a web socket.

Despite these intricacies, setting up a video feed and visualizing the robot took only a few minutes to accomplish.

Also the video feed you are seeing is compressed and sent via a standard ros2 sensor msg "CompressedImage"

Foxglove understands most if not all std msgs out the gate