Skip to content

hucebot/astroviz

 
 

Repository files navigation

🚀 AstroViz 🚀

AstroViz Image

License ROS2 Version

AstroViz is the ultimate real-time data visualization suite for ROS 2 robotic missions. Built from the ground up for flexibility, clarity, and performance, AstroViz empowers roboticists, engineers, and field operators with a unified interface to monitor, control, and debug complex systems in real-time.

  • 🌍 All-in-one visualization: From GPS and LiDAR to camera feeds, robot state, and motor health, AstroViz integrates multiple views into a cohesive and modern GUI.
  • ⚡ High-performance: Docker-based deployment with GPU support ensures smooth operation even in data-intensive environments.
  • 🛰️ Field-proven: Whether you’re launching autonomous vehicles, drones, or ground robots, AstroViz is your visual command center.

💡 Looking for a ROS 2 tool that goes beyond raw data and helps you make real-time decisions in the field? AstroViz is built for that.

Visual Overview

DASHBOARD VIEWER
Teleoperation Overview

For a detailed view of all implemented windows, see: windows implemented

Table of Contents

  1. Get Started
  2. Usage
  3. Maintainer
  4. License

Get Started

Prerequisites

To run this package, ensure the following dependencies are installed:

  • Git: For version control and repository management.
  • Docker: To streamline the environment setup and execution.
  • NVIDIA Container Toolkit (if using an NVIDIA GPU): For hardware acceleration.

Installation

Clone the Repository

Start by cloning the repository:

git clone [email protected]:hucebot/astroviz.git

Build Using Docker

This repository includes a pre-configured Docker setup for easy deployment. To build the Docker image:

  1. Navigate to the docker directory:
    cd astroviz/docker
  2. Run the build script:
    sh build.sh
    This will create a Docker image named astroviz.

Run the Docker Container

Once built, launch the container using:

sh run.sh

Usage

Node Overview

This package nodes that are designed to facilitate teleoperation and visualization of data. Each node serves a specific purpose in the teleoperation workflow:

  • gpsmap_viewer: Visualizes GPS data on a map.
  • camera_viewer: Displays camera feed from the robot.
  • imu_viewer: Visualizes IMU data.
  • lidar_viewer: Visualizes LiDAR data.
  • teleoperation_viewer: Provides a GUI for teleoperation control.
  • dashboard_viewer: A comprehensive dashboard that integrates various data streams and provides a unified interface for monitoring and control.
  • plot_viewer: Displays real-time plots of various data streams.
  • grid_map_viewer: Visualizes grid map data for navigation and planning.
  • robot_state_viewer: Displays the current state of the robot related to the joint positions and transformations.
  • motor_state_viewer: Monitors and visualizes the state of the robot's motors, including temperature and voltage readings.
  • fpv_viewer: First-person view from the robot's perspective using 3d camera data and processing the point cloud as an image.
  • record_manager_viewer: Manages and visualizes recording sessions, allowing users to start, stop, and review recordings.

Running Nodes

To run the nodes, you can use the following command:

ros2 run astroviz <node_name>

Replace <node_name> with the name of the node you wish to run, such as gps_map_viewer, camera_viewer, etc.

Or if you prefer to run the dashboard viewer, which integrates all functionalities:

ros2 launch astroviz dashboard_launcher.launch.py

For the fpv viewer, use:

ros2 run astroviz fpv_viewer --config /ros2_ws/src/astroviz/config/config.yaml 

Maintainer

This package is maintained by:

Clemente Donoso
Email: [email protected] GitHub: CDonosoK


License

This project is licensed under the MIT. See the LICENSE file for details.


Contributions and feedback are welcome! If you encounter any issues or have suggestions for improvements, feel free to open an issue or submit a pull request.

About

ROS2 package implementing a teleoperation interface using QT

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.0%
  • Dockerfile 1.6%
  • Shell 0.4%