Giter Club home page Giter Club logo

ros2-turtlebot3-remote-pc-docker's Introduction

ROS 2 foxy "REMOTE-PC" navigation in docker

Note that you don't need to run the build script, the image is pushed to dockerhub, just run docker-compose pull!

Run turtlebot3 REMOTE-PC nodes for navigation and cartographer in a local docker container.

Motivation

This allows you either to communicate with a robot that runs ROS 2-foxy while your PC runs another Linux operating system or if you want to test without a full ROS-installation on your PC.

We assume you like to run with a simulated robot in Gazebo and use the same network, take a look at ros2-turtlebot3-gazebo-docker repository.

Installation and configuration

  1. Install docker. Make sure you have the right version for your graphic-card installed (e.g. docker-nvidia2 for NVIDIA graphics cards)!
  2. Configure the network. If you are NOT using the Gazebo Simulation from ros2-turtlebot3-gazebo-docker but real hardware you probably want to set the network to network_mode: host and remove the networks-entry in the docker-compose.yml file.
  3. (optional) Configure ROS_DOMAIN_ID (default 30) and TURTLEBOT3_MODEL (default burger) according to your hardware
  4. (optional) If you do not like to use the simulated environment with the turtlebot3_world-map either
    1. Create a map with the cartographer (see Mapping and navigation with real hardware) or if you already have a map
    2. Copy your map to the map-folder and change the path for the map:=-parameter in the navigation.bash-file accordingly

Example

Mapping and navigation with real hardware

If you have ROS 2 foxy installed on your turtlebot ssh to the robot and run:

export TURTLEBOT3_MODEL=burger
ros2 launch turtlebot3_bringup robot.launch.py
  1. run cartographer.bash
  2. in a new window run ./teleop.bash to control the robot with your keyboard.
  3. after you are happy with it run save_map.bash in a second terminal.
  4. stop the cartographer and run navigation.bash.

Note that you can run any command from your terminal by prefixing it with "./remote.bash", take a look at the other bash-scripts in this folder

Autonomous navigation in simulation

See ros2-turtlebot3-gazebo-docker for the integration of a simulated ROS 2 turtlebot using the docker-container and scripts from this repo for the "Remote-PC".

Cleanup

Don't forget to run docker-compose down when you are done.

Contributing

Please use the issue tracker to submit bug reports and feature requests. Please use merge requests as described here to add/adapt functionality.

License

This code is distributed under the 3-clause BSD license.

Maintainer / Authors / Contributers

Andreas Bresser, [email protected]

Attribution

Based on the official turtlebot 3 ROS 2 navigation tutorial: https://emanual.robotis.com/docs/en/platform/turtlebot3/slam/

ros2-turtlebot3-remote-pc-docker's People

Contributors

brean avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.