Repo symbol

lunabotics repository

arduino gstreamer ros2 ros2-humble jetson-agx-orin nvidia-isaac-ros
Repo symbol

lunabotics repository

arduino gstreamer ros2 ros2-humble jetson-agx-orin nvidia-isaac-ros
Repo symbol

lunabotics repository

arduino gstreamer ros2 ros2-humble jetson-agx-orin nvidia-isaac-ros
Repo symbol

lunabotics repository

arduino gstreamer ros2 ros2-humble jetson-agx-orin nvidia-isaac-ros

Repository Summary

Description Official NASA Lunabotics GitHub repository for the UMN Robotics team.
Checkout URI https://github.com/gofirst-robotics/lunabotics.git
VCS Type git
VCS Version main
Last Updated 2025-05-14
Dev Status UNKNOWN
Released UNRELEASED
Tags arduino gstreamer ros2 ros2-humble jetson-agx-orin nvidia-isaac-ros
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
apriltag 0.0.1
digger 0.2.0
drivetrain 0.1.0
dumper 0.0.1
gazebo_files 0.0.1
ros_gz_description 0.0.1
ros_gz_launch 0.0.1
gstreamer 0.0.1
isaac_ros_launch 0.0.1
motor_control 0.0.5
robot_description 0.0.1
rovr_control 0.1.0
rovr_interfaces 0.0.1

README

Lunabotics

The official NASA Lunabotics GitHub repository for University of Minnesota Robotics.

Lint Check Trufflehog Scan

graph LR
    subgraph A[Operator Laptop]
        B[RQT Camera Frontend]
        J[joy_node]
    end
    subgraph C[Robot]
        subgraph F[Nvidia Jetson AGX Orin]
            G[motor_control]
            H[GStreamer NVENC AV1 Encoding]
            I[isaac_ros_nvblox]
            L[ros2socketcan_bridge]
            M[Nav2]
            N[Subsystem ROS 2 Nodes]
            O[rovr_control]
            P[ZED ROS 2 Wrapper]
        end
        D[Arduino Microcontroller]
        K[Limit Switches]
        E[VESC Motor Controllers]
    end
    K --> D
    O <-- Serial Bus --> D
    H -- WiFi Connection --> B
    L <-- CAN Bus --> E
    P --> I
    I -- Cost Map --> M
    M --> O
    J -- /joy --> O
    M -- /cmd_vel --> N
    G -- /CAN/can0/transmit --> L
    L -- /CAN/can0/receive --> G
    O -- /cmd_vel --> N
    O -- ROS 2 Services --> N
    N -- ROS 2 Services --> G

How to Run Inside Docker Container

How to Run Inside the Dev Container on Windows/Mac
Open vscode and install the "Dev Containers" extension. Then, with vscode open, press ctrl+shift+p to open the vscode command palette and type "Clone Repository in Container Volume". Select the "Dev Containers: Clone Repository in Container Volume" option, then select "Clone a repository from GitHub in a Container Volume". Search for and select our Lunabotics repository (the repository named "Lunabotics"). If you are cloning the repository directly into the container volume, you do NOT need to clone the repo locally, it will be automatically cloned into the repo.

After opening the container, you can run the following command in the Command Palette (Ctrl + Shift + P) to build the project: ``` Tasks: Run Build Task ``` Or, if your machine does not have an Nvidia GPU or you haven't set it up with [container-toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html), run the following commands instead in the Command Palette (Ctrl + Shift + P): ``` Tasks: Configure Default Build Task Build No GPU Tasks ``` Optionally, traditional "colcon build" commands can be run in the vscode terminal instead of using the Command Palette commands above.
Updating the Dev Container for Windows/Mac
If you ever need to rebuild the remote container image, first update the x86_64 and aarch64 images: ``` cd ~/Lunabotics/src/isaac_ros/isaac_ros_common/docker docker build --build-arg="BASE_IMAGE=osrf/ros:humble-desktop" -f Dockerfile.user -t umnrobotics/devcontainer:x86_64.user . cd ~/Lunabotics/docker docker build --build-arg="BASE_IMAGE=umnrobotics/devcontainer:x86_64.user" -f Dockerfile.umn -t umnrobotics/devcontainer:x86_64.user.umn . docker push umnrobotics/devcontainer:x86_64.user.umn cd ~/Lunabotics/src/isaac_ros/isaac_ros_common/docker docker build --build-arg="BASE_IMAGE=arm64v8/ros:humble" -f Dockerfile.user -t umnrobotics/devcontainer:arm64.user . cd ~/Lunabotics/docker docker build --build-arg="BASE_IMAGE=umnrobotics/devcontainer:arm64.user" -f Dockerfile.umn -t umnrobotics/devcontainer:arm64.user.umn . docker push umnrobotics/devcontainer:arm64.user.umn ``` Then, run the following command with the devcontainer cli installed: ``` cd ~/Lunabotics docker pull umnrobotics/devcontainer:x86_64.user.umn docker pull umnrobotics/devcontainer:arm64.user.umn docker manifest rm umnrobotics/devcontainer:latest docker manifest create umnrobotics/devcontainer:latest --amend umnrobotics/devcontainer:arm64.user.umn --amend umnrobotics/devcontainer:x86_64.user.umn docker manifest push umnrobotics/devcontainer:latest docker buildx create --use devcontainer build --push true --workspace-folder . --platform="linux/amd64,linux/arm64" --image-name "umnrobotics/ros:ros_devcontainer" ```
How to Run Inside the ISAAC ROS Container on Linux/Jetson File truncated at 100 lines [see the full file](https://github.com/gofirst-robotics/lunabotics/tree/main/README.md)
Repo symbol

lunabotics repository

arduino gstreamer ros2 ros2-humble jetson-agx-orin nvidia-isaac-ros
Repo symbol

lunabotics repository

arduino gstreamer ros2 ros2-humble jetson-agx-orin nvidia-isaac-ros
Repo symbol

lunabotics repository

arduino gstreamer ros2 ros2-humble jetson-agx-orin nvidia-isaac-ros
Repo symbol

lunabotics repository

arduino gstreamer ros2 ros2-humble jetson-agx-orin nvidia-isaac-ros