Open manglemix opened 2 years ago
Is the Lunabase server node publishing messages too or just receiving them?
The lunabase node will receive wireless messages from lunabot and convert them into ROS messages that it will publish locally. The lunabase node will also need to listen to movement_intent
messages and transmit them to lunabot
What must be done Currently, Lunabase is implemented in the Godot game engine, which is a little overkill for its purposes. It is also redundant as ROS 2 already has an application to visualize data:
rqt
. To make Lunabase more future proof, and to promote code reuse, we shall implement a server node in ROS that can communicate to the telemetry nodes in the robot. The node will simply convert received messages into the proper ROS 2 messages, whichrqt
will interpret as if it was running on the actual robot. Thelocal_gamepad_input
node can also be leveraged here so that the server node can transmitMovementIntent
messages to the robot.For now, telemetry does not send any sensor data, so the server node just needs to listen to pings and log them. Logs can then be viewed in
rqt
. This server node must be implemented inside of thelunabase
package, which as of writing has not been created. This package must be a pure python package. You are encouraged to use and add-on to themessage_handler.py
script intelemetry
to accomplish this task. This way, messages can be consistently handled whether it be on the bot or on LunabaseExisting 3rd party solutions Since our telemetry node(s) were developed in-house, we will also need to develop the server ourselves as well
Existing internal solutions This was not done last year, so we have no references for it
Quirks or Specifics This task should be decently challenging, but we already have a
tcp_client.py
script to refer to, so you guys should be fine.