Open SwapnilPande opened 5 years ago
I've partially implemented this in the mission control package. I've got an html page which displays a map of the competition area with the robot drawn in its estimated location. There's a table in the middle of the page which can display any data we want from the robot. The page is updated using a bit of javascript which opens a websocket connection to the rosbridge node (which also must be running), allowing it to subscribe to any ROS topics. This makes use of the roslibjs javascript library.
I was thinking that once we decide what data we want to observe, we can make versions of each of those topics called "updates/[topic]" which publish at a much slower rate than the topic used by the other robot nodes (1Hz maybe). For example "robot_pose_estimate" will be published very fast on the robot but we could also publish the message on "updates/robot_pose_estimate" at 1 Hz which would still be plenty fast to know if the robot is behaving properly.
We'll also want a second version of this for if we switch back to teleop control. If we did that, we'd need different sorts of information such as images from the cameras but could also potentially turn off some of the other information streams.
Which section of robot code is this for? Command Center
Description of feature
Additional Notes Need to balance providing user data with minimizing bandwidth usage. Only present data that is absolutely necessary for the drivers to determine if the robot is functioning properly.