Coder Social home page Coder Social logo

moti's Introduction

Moti Readme

Table of Contents generated with DocToc

About

Moti

Websites

The company behind Moti is called Leka, you can visit our website here: We Are Leka!.

Soon, a website just for Moti will be available! Discover Moti

What is Moti

Moti is a new kind of interactive smart toy: it's a spherical robot specially designed for children with communication and social disabilities.

Why Github?

At first, we wanted to keep the code for ourselves. But then we thought "hey! our project is great, but wouldn't it be better if a lot of people could fork it, add their modifications, features, improvements, and then share it back to the community?"

For us, the answer is an absolute YES! We want people to be able to look at our code, use it for their projects, use it to build their own Moti and then get back to us to improve the awesomeness for a better world today!

Is Moti open source and/or open hardware

Short answer: yes.

Long answer: yes, Moti's software is and will continue to be open source. Reasons are numerous, but the three main reasons are:

  • we love open source, we use it constantly, we use GPL libraries, we want to keep that going on
  • we truly believe we can create a community around our project, composed of parents, developers, researchers, doctors, carers
  • because we just want to

For the hardware, things are a little different. Today, we use Arduino as our prototype platform. The documentation to build your own Moti is a little outdated and will be updated soon. It will be available for anyone who wants to build it's own Moti. If we have enough time, we will also offer a way to download or order 3D printed pieces to assemble the robot.

In the meantime we are working on a more robust, more powerful, more sensors prototype. We haven't decided yet if this new version will be open hardware, but we are currently looking and the pros and cons.

How to...

How to install

The full procedure is detailed in INSTALL.md. It has been written for beginners as well as for advanced hackers.

How to use

The full procedure on how to use everything you've just installed is described in USE.md.

How to make your own Moti

Moti is currently based on Arduino. That's why it is totally open hardware!

Bill of Materials

The chassis is not yet ready to be 3D-printed, we need your help for that.

The Arduino Mega2560 is becoming a little tight to suit our power and memory needs. We are currently benchmarking different alternatives. If you know anything about embedded Linux, please email us.

Contributing

How can I help?

Help is always more than welcome. If you want to take part in this project, please, make sure you read our Contributing guidelines.

Work flow/To do list

We use waffle.io to manage our to do list and our work flow. Of course, Github issues can also be used.

To know what we are working on and what needs to be done, you can click on the following link: Stories in Ready

Branches

IMPORTANT: Our model is based on A successful Git branching Model. PLEASE, take the time to read it carefully before starting. We don't want you to mess things up! :)

  • master is the stable branch for production.
  • dev (origin HEAD) is the development branch for unit/lab tests and behavior development. If the lab tests are concluding, a pull request to the master can be made.
  • feature branches are transitory branches used to develop new features to incorporate to the dev branch. When the feature is bug free, a pull request can be made to merge the concluding results inside the dev branch.
  • oldies branch keeps all the old code and libraries we used for the first prototype. It is deprecated now but could be helpful for beginners.

##Copyright and License

Moti, a free, as in speech, robotic spherical mobile robot for children with autism.

Copyright (C) 2013 Ladislas de Toldi (ladislas at weareleka dot com)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see [http://www.gnu.org/licenses/].

moti's People

Contributors

ilogat avatar ladislas avatar luanferrari avatar madratman avatar melki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moti's Issues

Implement time in DriveSystem

For now, DriveSystem methods only set the direction and speed of the robot, but no duration.

I think it would be great to be able to do:

robot.go(FORTH, 180, 2000); // the robot goes forth for 2 seconds.

Implement angle in DriveSystem

Same as #47 but with angle for `spin()``

It would be great to do:

robot.spin(RIGHT, 180, 540); // the robot does a spin a 540° (1,5 rotation)

wp-melki

est-ce qu'on peut la supprimer ? :)

Bug with Light::fade()

It seems like Light::fade() doesn't do great when asked to go backward and forward.

I'll try to reimplement the last version to make some tests.

Implement debug system

Currently we are using Serial.print() for debugging.

We need a debug system that can be turned off when not in used to save space.

Write tests

We need to write tests for every lib/module, just the bare minimum, to keep track of API changes and to make sure stuff compiles.

Sensors with RTOS not working

Using the sensors class in a thread doesn't give any results, no output are serial printed.

the strange thing is that everything works fine with the motors.

must investigate

accelerate/decelerate

maybe it would be better to create one ore two separates methods to accelerate or decelerate.

Add continuous integration testing

As the libs and API are currently changing a lot, compiling every behaviors/app is cumbersome and time consuming.

Using CI save us time and help us focus on what's not working.

Please note that compilation doesn't mean that it will work on the robot...

Apply consistent methode naming convention to the modules

Right now, depending on the module, the naming conventions differs.

We should have:

  • Module::init() - to initialise the thread
  • Module::start() - to start what the thread must do
  • Module::stop() - to stop what the thread must do

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.