https://github.com/bjoernellens1/go1-ros

https://github.com/bjoernellens1/go1-ros

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.4%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: bjoernellens1
  • Language: Dockerfile
  • Default Branch: noetic
  • Size: 14.7 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Created about 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme

README.md

Unitree GO1 Banner

Docker

GO1-ROS - Noetic Branch

CPS Docker Workspace for Unitree GO1 ROS Development

Introduction

This repository contains all the necessary code to start developing ROS packages for the Unitree GO1 quadruped robot using Docker. Docker simplifies running different ROS environments on modern operating systems and provides a safe environment to run code on GO1 hardware (Jetson Nano, Raspberry Pi) without heavily modifying the base system, which uses an arm64 architecture.

Table of Contents

Setup

Prerequisites

Ensure you have the following installed: - Docker - Docker Compose - An Intel or NVIDIA GPU (optional, for GPU support) - ~~An X11 server running on your host machine~~

Install Docker

To install Docker, follow the instructions on the official Docker website: Docker Installation.

For Ubuntu, you can use these commands: sh curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh

Then, allow your user to access Docker without sudo: sh sudo usermod -aG docker $USER newgrp docker

Network Configuration

Refer to the GO1 networking diagram for details on network setup:

GO1 Networking Diagram

Pulling Docker Images

The Docker images are built automatically via GitHub workflows and are available on GitHub Container Registry (GHCR). To pull these images, use:

sh docker compose pull

Building Docker Images Locally

If you need to build the Docker images locally, use the following commands:

sh docker buildx bake --load

Test Docker Services

Start a service: ```sh docker compose up -d >service_name<

```

Enter the ROS shell: sh docker compose run guis

Or start RViz: sh docker compose run guis rviz

Additional First Steps on the go1-pc:

Some additional setup is needed on the PC to enable all features for remote supervision. The necessary scripts are included in the init/ folder. To run them, use the following commands:

sh cd init ./run_all.sh

Information

Understanding Docker Image Builds

Docker images are built using Dockerfiles which define the environment and the steps required to set up the software inside the container. The docker buildx bake command allows for concurrent builds, making the process more efficient. For more information on Docker builds, visit the Docker Build Documentation.

GitHub Workflows and GHCR

GitHub workflows automate the process of building and deploying Docker images. In this repository, a GitHub workflow is set up to build the Docker images and push them to the GitHub Container Registry (GHCR). GHCR is a service provided by GitHub for hosting container images. For more information on GitHub workflows and GHCR, visit: - GitHub Actions Documentation - GitHub Container Registry Documentation

Using the Robot

There are several ways to connect to the go1-pc. Keep in mind that for now, you have to be in the same network to connect.

SSH

To connect to the go1-pc via SSH, use the following command:

sh ssh >your_user<@go1-pc.local

RDP

On Linux systems install the Remmina RDP client and connect to the go1-pc via RDP. From Windows clients this is possible too.

Connection details:

Protocol RDP
Server go1-pc.local
Username >administrator_account<
Password >administrator_password<

OliveTin Web User Interface

The OliveTin web user interface allows for easy management of the Docker Compose services and the system itself. It is hosted on go1-pc:1337/. With OliveTin, you can: - Start the Docker Compose services - Stop the Docker Compose services - Reboot/Shutdown the go1-pc

OliveTin UI Screenshot To access OliveTin, when you are connected to the robot network, open a web browser and navigate to http://go1-pc.local:1337/.

Services Overview

Base Service (base)

The base service includes all necessary dependencies for running ROS, such as: - ROS installation - Networking and IPC settings for ROS communication - X11 configuration for GUI applications - NVIDIA GPU support

Overlay Service (overlay)

The overlay service builds on the base service by adding project-specific source code, allowing you to develop and run your ROS projects within the Docker environment.

GUI Service (guis)

The guis service extends the overlay service to include additional dependencies for GUI applications, useful for running graphical ROS tools.

ROS1 Bridge Service (ros1bridge)

The ros1bridge service sets up a bridge between ROS1 and ROS2, facilitating communication between ROS1 and ROS2 nodes.

ROS1 Roscore Service (roscore)

The roscore service runs the roscore, the central node in a ROS1 system, handling the naming and registration of ROS nodes. This service should be run first before starting the other services.

Docker Compose Configuration

The Dockerfile defines the images for each service, setting up base dependencies, project overlays, and GUI dependencies.

Owner

  • Login: bjoernellens1
  • Kind: user

GitHub Events

Total
  • Pull request event: 1
  • Create event: 1
Last Year
  • Pull request event: 1
  • Create event: 1

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 145
  • Total Committers: 2
  • Avg Commits per committer: 72.5
  • Development Distribution Score (DDS): 0.117
Past Year
  • Commits: 96
  • Committers: 2
  • Avg Commits per committer: 48.0
  • Development Distribution Score (DDS): 0.167
Top Committers
Name Email Commits
Your Name y****u@e****m 128
bjoernellens1 6****1 17

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • bjoernellens1 (2)
Pull Request Authors
  • renovate[bot] (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

docker/Dockerfile docker
  • base latest build
  • overlay latest build
  • ros ${ROS_DISTRO} build
  • ros eloquent-ros-base-bionic build
.github/workflows/docker-buildx-bake-build.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action 0565240e2d4ab88bba5387d719585280857ece09 composite
  • docker/login-action 343f7c4344506bcbf9b4de18042ae17996df046d composite
  • docker/metadata-action 96383f45573cb7f253c731d3b3ab81c87ef81934 composite
  • docker/setup-buildx-action f95db51fddba0c2d1ec667646a06c2ce06100226 composite
  • sigstore/cosign-installer v3.5.0 composite