Giter Site home page Giter Site logo

hukunge / indoorview Goto Github PK

View Code? Open in Web Editor NEW

This project forked from darebalogun/indoorview

0.0 0.0 0.0 208.27 MB

IndoorView is a Google StreetView Experience for indoor spaces. The systems includes using a robotic platform used to map a space and capture 360 degree images and a user facing web application to host the interactive map

Home Page: https://cu-indoorview.herokuapp.com

Shell 0.20% JavaScript 17.38% Python 56.34% PHP 24.56% HTML 1.52%

indoorview's Introduction

indoorView

Demo

IndoorView is a Google StreetView Experience for indoor spaces. The systems includes using a robotic platform used to map a space and capture 360 degree images and a user facing web application to host the interactive map. This project is the 4th year engineering and design capstone project in the Systems and Computer Engineering department at Carleton University

Group Members

Dare Balogun
Gregory Koloniaris
Emad Arid
Zoya Mushtaq
Anannya Bhatia

Supervising Professor

Dr. Mohamed Atia

Deployment

This project is currently deployed on heroku here

Getting Started

The following instructions will show you how to get the system running and how to capture a map and host on the web

Prerequisites

  • TurtleBot 3 Burger
  • PC running Ubuntu 16.04 xenial with python2.7
  • Ricoh Theta S
  • Joystick controller (optional)

Instructions

  1. Complete TurtleBot setup and Install ROS on your PC by following instructions here

  2. Clone this repository on your PC and cd into backend-src/remote-pc

(PC) $ git clone https://github.com/darebalogun/indoorView.git
(PC) $ cd indoorView/backend-src/remote-pc
  1. Ensure the PC and the TurtleBot Raspberry Pi are connected to the same network

  2. Run NetworkConfig.py to perform network configuration on the PC. Note the IP address of the PC

(PC) $ python NetworkConfigPC.py
  1. Start roscore server (in another terminal)
(PC) $ source ~/.bashrc
(PC) $ roscore
  1. If using the optional joystick PC controller, connect it to your PC now

  2. Copy folder turtlebot-pi onto the TurtleBot Raspberry Pi

  3. Cd into that folder on the Raspberry PI and perform network config by filling in the IP address of PC from step 4 (ctrl-X then Y to save) and running NetworkConfig.py

(Pi) $ nano NetworkConfigRPi.py
(Pi) $ python NetworkConfigRPi.py
  1. Run startup.sh
(Pi) $ source ./startup.sh
  1. Place the TurtleBot in the middle of the room on the floor where its able to navigate around the room

  2. Open savetodatabase.py and configure database parameters

  3. Run mappoints.py then enter a name for the map

(PC) $ python mappoints.py
Please enter a name for the map: [map_name]
  1. Navigate the robot around the area using the controller or using the keyboard. To use keyboard follow instructions here

  2. Once the area is fully mapped, click publish point at the top of the RVIZ window then click on points of interest on the map. The map will autogenerate intermediary points spaced 0.5m apart

  3. Go back to the terminal window running mappoints and press enter when done

  4. A new RVIZ navigation window should pop up. Estimate the initial pose

    1. Click 2D Pose Estimate near the top of the window
    2. Click (and hold) on the approximate location of the robot on the map
    3. Align the green arrow with the approximate orientation of the robot on the map
    4. Move the robot back and forth a few times to align the map with SLAM information
  5. Return to the terminal window and press enter when done. The robot should navigate autonomously to the chosen points and capture images for the map

  6. Point co-ordinates and location of images should now be saved to the database

indoorview's People

Contributors

anannyabhatia avatar darebalogun avatar gregorykoloniaris avatar markwsilliman avatar nampi avatar tfoote avatar zoyam16 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.