Skip to content
This repository has been archived by the owner on Dec 4, 2024. It is now read-only.

Lunabase ROS Implementation #5

Open
manglemix opened this issue Nov 1, 2022 · 2 comments
Open

Lunabase ROS Implementation #5

manglemix opened this issue Nov 1, 2022 · 2 comments
Assignees
Labels
good first issue Good for newcomers

Comments

@manglemix
Copy link
Member

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, which rqt will interpret as if it was running on the actual robot. The local_gamepad_input node can also be leveraged here so that the server node can transmit MovementIntent 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 the lunabase 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 the message_handler.py script in telemetry to accomplish this task. This way, messages can be consistently handled whether it be on the bot or on Lunabase

Existing 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.

@manglemix manglemix added this to the First Motor Movement milestone Nov 1, 2022
@manglemix manglemix added the good first issue Good for newcomers label Nov 2, 2022
@tfhammond
Copy link

Is the Lunabase server node publishing messages too or just receiving them?

@manglemix
Copy link
Member Author

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

@tda-8818 tda-8818 self-assigned this Jan 6, 2023
@manglemix manglemix assigned manglemix and unassigned tda-8818 Feb 9, 2023
@manglemix manglemix removed this from the First Motor Movement milestone Mar 1, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
good first issue Good for newcomers
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

3 participants