Closed Supernova1114 closed 7 months ago
General:
Arm:
Science:
Autonomy:
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.
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
A Web GUI seems like a more viable solution than a normal software interface:
ToDo: