Giter Club home page Giter Club logo

haron's Introduction

HaRoN

The goal of this educational project is to develop a rescue robot.

License

Docker

For convenience it is recommended to use Docker containers. Please follow these steps to run Docker container on your machine.

  1. Install Desktop OS Ubuntu Trusty or Xenial on your machine or in virtual machine
  2. Install Docker-CE using these instructions
  3. In order to executed Docker without sudo please execute
sudo usermod -aG docker $USER
  1. Logout and login to your machine again :)
  2. For development the following docker container was used.
  3. To pull it please run
docker pull lyubomyrd/haron:latest
  1. Use the following command to start Docker container
docker run -it --privileged --name haron_dev -p 8080:8080 -e DISPLAY -e LOCAL_USER_ID=$(id -u) -v /tmp/.X11-unix:/tmp/.X11-unix:rw lyubomyrd/haron:latest
  1. Black window of Terminator UI console will appear after some time.
  2. You can use it's features to split terminal window into smaller terminals and run few commands in parallel (Ctrl+Shift+E).
  3. If you want to run real robot add user to dialout group and restart Docker container
sudo usermod -a -G dialout user

In order to relaunch docker container after you closed Terminator window or rebooted machine please run

docker start haron_dev

After some time Terminator window will reappear.

IDEs

In case if you want to run PyCharm in Docker container please run

pycharm

To launch QtCreator please run

qtcreator

For VSCode type

vscode

Designation:

The following designation will be used through the rest of the repository

Remote PC: R

Turtlebot(Raspberry): T

Turtlebot start

Turtlebot is controller using ROS which is installed both on PC and Raspberry.

To execute the bringup sequence You have to perform the following steps:

Steps that has to be performed inside the docker container's terminator window

1R) roscore

Connect to RPI (note that IP address might be different - this depends on network settings)

2R) ssh [email protected]

(Password: turtlebot)

Now You have a separeate window inside the terminator that controlles Raspberry, therefore Tx notation corresponds to input into this window.

3T) roslaunch turtlebot3_bringup turtlebot3_robot.launch

4R) roslaunch turtlebot3_bringup turtlebot3_remote.launch

Teleoperation

1R) roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

Mapping

Create a map:

1R) roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

Save a map (do NOT close the previous window vefore the next step):

2R) rosrun map_server map_saver -f ~/map

After this step You can close 1R and 2R from mapping.

Navigation

1R) roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml

Active Slam packeges:

info available at https://github.com/hrnr/m-explore Documentation for API: http://wiki.ros.org/explore_lite 1R) sudo apt install ros-${ROS_DISTRO}-explore-lite 2R) roslaunch explore_lite explore.launch

Frontier explore package (one where you need define explore area by setting points manually):

https://github.com/paulbovbel/frontier_exploration/tree/melodic-devel/frontier_exploration http://wiki.ros.org/frontier_exploration (guideline available there)

Troubleshooting

See wiki for Troubleshooting

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.