Giter Club home page Giter Club logo

social-robot's Introduction

social robot

a social robot is an autonomous robot that interacts and communicates with humans or other autonomous physical agents by following social behaviors and rules attached to its role.

this project deals with creation of such a social robot from scratch. currently the repo includes the code for design and implementation of the software side of the project.

refer to the final project report for more details on the hardware side and the exact implementation details.

overview

the project makes use of several python modules, as well as android packages. to set up a basic working environment you can run the install script provided within the project.

achievement

this project was my mini-project(a.k.a design project) for junior year(3rd year) in my college and it won the best computer science project award.

installation

if your system doesn't have any python3.x yet, then do install it first before going forward.

on your linux/mingw terminal, assuming that you're at the root of this project:

chmod +x ./install.sh
./install.sh

this installs all the python modules and sets the environment.

the best possible way to install the android packages is to open up the android project ./code/AndroidUSBCam in Android Studio and let it automatically sync the project.

how to use this project?

training a model

cd ./code/classification

the dataset needs to be collected and it should be present in the directory code, with the name dataset. After that we have to expand the dataset, for that run:

python3 generate_dataset.py

after the dataset is generated in the folder make_dataset/filtered_dataset, we start the training process by:

python3 constants.py
python3 training.py

after training we get an svm trained model. copy that model to the directory named server in the root of the project.
we collected nearly 5000 images of different daily objects and do note that the dataset generation and the training process can take nearly 1 full day or more to complete

setting up the android app

a minimum of sdk23 needs to be installed in your system. the project used ndk10 specifically to run the native scripts. make sure that these kits are downloaded from withing android studio.

after that open up the android project from ./code/AndroidUSBCam and sync and install the necessary packages.

after building the app, make sure that your change the variable URL to the ip address of your system. the ip address of your system could be found out by running the ip addr command in the terminal.

public static final String URL = "your ip address";

now rebuild the project and install it to your phone.

setting up the arduino ide

download and install the arduino IDE. for linux 64 use this link https://www.arduino.cc/download_handler.php?f=/arduino-1.8.7-linux64.tar.xz.
after untarring the tar file, open up the arduino IDE(with sudo privileges obviously) and run the code at ./code/arduinoIDECode/firmata_code.c in the IDE, into the arduino connected via USB to your system.

running the server

open up a terminal and do the following:

cd ./code/server/

then become super user by running the su command in terminal.
after that run:

python3 server.py

and thats it. we are done with the software side.

presentation and report

the report and presentation are available in the ./presentation and ./report directories.
if you want to edit and compile the project, then look into the tex files in the compile directory.

social-robot's People

Contributors

dependabot[bot] avatar yedhink avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

sandeepkramesan

social-robot's Issues

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.