Thanks to visit codestin.com
Credit goes to github.com

Skip to content

francWhite/raros

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

raros

CI licence maven docker

raros is an application consisting of different subsystems that can be used to control a physical robot. This application was developed as part of a project at the Lucerne University of Applied Sciences and Arts with the goal of evaluating how such a control system can be implemented with ROS2.

Ultimately, the project should be able to be used to teach students the basic concepts of programming in a playful way, as they can see their work directly resulting in actions executed by the robot instead of just viewing some text in a terminal.

Table of contents

Hardware

TODO

Architecture

TODO

Installation

Client-Library

The client library is available on Maven Central and can be referenced in your project as follows:

Maven:

<dependency>
    <groupId>io.github.francwhite</groupId>
    <artifactId>raros-client</artifactId>
    <version>1.0.1</version>
</dependency>

Gradle:

implementation 'io.github.francwhite:raros-client:1.0.1'

Controller

All required subsystems for the master controller (RaspberryPi) are available as docker images on GitHub Container Registry. The easiest way to get started is to use the docker-compose.yml file in the root directory of this repository.

Prerequisites:

  • docker is installed
  • ./config directory exists for the volume mount

Instructions:

cd [path/to/docker-compose.yaml]    # change directory to where the docker-compose.yaml file is located
mkdir config                        # create config directory, only required on first run
docker-compose up -d                # start the containers in detached mode

Microcontroller

The code for the microcontroller (arduino) is available in the micro_ros directory of this repository. To build and flash the software onto the microcontroller, clone the repository and use the flash.sh script located in root of said directory.

Prerequisites:

  • PlatformIO CLI is installed
  • Arduino is connected to the computer via USB

Instructions:

git clone https://github.com/francWhite/raros.git   # clone the repository
cd raros/apps/micro_ros                             # navigate to the micro_ros directory
chmod +x flash.sh                                   # make the script executable
./flash.sh                                          # build and flash the software onto the microcontroller

Usage

Client-Library

Make sure that the controller and microcontroller are running and connected to the same network as the client. The client library can be used to control the robot over the RobotController interface. An instance of the controller can be created as follows:

import io.github.francwhite.raros.client.controller.RobotControllerFactory;
...
RobotController client = RobotControllerFactory.create(URI.create("http://hostname:8000"))

Controller

TODO

Microcontroller

TODO

Development

Prerequisites

TODO

Build

TODO

Run

TODO

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

ROS2 robot controller

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •