project:brmbot_turing:start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
project:brmbot_turing [2012/06/05 23:18] – pasky | project:brmbot_turing:start [2016/11/25 08:04] – ↷ Page moved and renamed from project:brmbot_turing to project:brmbot_turing:start ruza | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== BrmBot Turing ====== | ||
+ | {{template> | ||
+ | name=BrmBot Turing| | ||
+ | image=roomba.jpg| | ||
+ | founder=[[user: | ||
+ | interested=[[user: | ||
+ | hw=CC BY-SA| | ||
+ | sw=GPLv2+| | ||
+ | status=suspended}} | ||
+ | We would like to create autonomous robot with reconnaisance abilities, artificial personality and practical abilities. The codename for the approach and iteration described here is " | ||
+ | |||
+ | We can change the licenses if anyone has problems with it. | ||
+ | |||
+ | ===== Status ===== | ||
+ | |||
+ | The technical setup of this project is work in progress. We can control the Roomba per se, but we had some trouble getting everything required going on the Asus routerboard. Pasky hasn't given up on this project, but prefers spending time on other brmlab affairs and projects for the time being. | ||
+ | |||
+ | ===== Related Projects ===== | ||
+ | |||
+ | We also have a GPS-navigated outdoor robot [[project/ | ||
+ | |||
+ | ===== Goals of the Project ===== | ||
+ | |||
+ | We would like to create a working robotic platform with reasonable sensors, computational power and mobility to play with. Pasky has no clear idea about exact practical things he would like to accomplish yet, but we will see that as we go, let's just start tinkering around. ;-) | ||
+ | |||
+ | Aside of other things, the robot should be able to somehow try to recognize different people and interact with them. Voice recognition is planned for recognizing people. | ||
+ | |||
+ | === Brmlab Gatekeeper === | ||
+ | |||
+ | One application is to build a gatekeeper bot who will stand near the Brmlab entrance and be able to recognize people by face, voice and will try to communicate. Inspired by Muaddib. Proposed Arabic name is al-Bwab, which means // | ||
+ | |||
+ | Areas of research and application: | ||
+ | |||
+ | We can start by simple greeting of course. | ||
+ | |||
+ | === Real Pacman === | ||
+ | |||
+ | Just add yellow paint :-) It can eat ping-pong balls and (evil) spiders from floor. | ||
+ | |||
+ | ===== Robotic Platform ===== | ||
+ | |||
+ | We already have [[wp> | ||
+ | |||
+ | We want to glue an Asus WL 500gPv2 wifi router with OpenWRT on top of the Roomba to obtain a wifi-controlled robot! The router has 16M flash, 32M RAM, which is not bad at all; some things can be dealt with directly in the router, more complicated stuff can be outloaded to a more powerful machine at the other side of the wifi. The router has two USB ports; the current plan is to connect a webcam in one and USB audio (in/out jacks) in another to get visual and audio in/out abilities. | ||
+ | |||
+ | How to connect the router to the Roomba? I would like to avoid opening the Roomba and voiding the warranty for now, so we will just connect to the 8-pin MiniDIN connector. On the Asus side, we will use the (conveniently also TTL-driven) serial port, we will just need to solder the connection directly on the PCB since it does not have a connector mounted. | ||
+ | |||
+ | How to power the router? The current idea is to power it from the Roomba battery using a simple circuit based on the LM2576 DCDC-converter; | ||
+ | |||
+ | A construction consideration is that the Roomba should be still quickly available for " | ||
+ | |||
+ | ===== Robotic Software ===== | ||
+ | |||
+ | Details to be decided yet. The [[http:// | ||
+ | |||
+ | ===== Status and Roadmap ===== | ||
+ | |||
+ | We have the Roomba. The Asus router, parts for the DCDC converter and the USB audio should arrive in upcoming days. Then: | ||
+ | |||
+ | * [DONE] Solder the MiniDIN connector for the Roomba side. | ||
+ | * It's horrible job, but appears to be shortless for now. | ||
+ | * 2x red: 14V-16V raw battery; 2x black: GND; green: device wake; yellow: 5V TTL TX; blue: 5V TTL RX | ||
+ | * [DONE] Solder the DC power supply connector for the Asus side. | ||
+ | * Not used for anything for now, but it is lying there. | ||
+ | * [DONE] Solder a connector on top of the Asus PCB serial port joints. | ||
+ | * From bottom to top - pin 1: 3.3V, pin 2: 3.3V TTL RX, pin 3: 3.3V TTL TX, pin 4: GND | ||
+ | {{ : | ||
+ | * [DONE] Connect Asus and Roomba serial line. | ||
+ | * This was quite adventurous... it's a small wonder I did not fry the Asus serial port with all the horrible things I did. | ||
+ | * It turns out Roomba' | ||
+ | * To convert Roomba 5V TX to Asus 3.3V RX, I use simple resistor divider: roombablack - 10kohm - yellow' | ||
+ | * asus1 unconnected; | ||
+ | * [DONE] Install 2.6-kernel OpenWRT on the Asus, get basic wire networking functional. | ||
+ | * [DONE] Try out basic Asus-Roomba communication. | ||
+ | * I have received sensor packets (did not verify if they are ok yet) and verified that I'm able to set the Roomba LEDs to arbitrary colors and can do basic motor control. The Asus is still tied by two cables! | ||
+ | * Serial mode: '' | ||
+ | * Sensors: '' | ||
+ | * Light: '' | ||
+ | * Liberty Bell: '' | ||
+ | * Aheaaaaad! '' | ||
+ | {{ : | ||
+ | * [DONE] Wire out the Asus serial tty to the computer instead, using Arduino as TTL serial shifter. | ||
+ | * Works beautifully, | ||
+ | * [DONE] Get wifi working on the Asus to get rid of the ethernet wire. | ||
+ | * It turns out that with current kamikaze SVN head, wireless works fine in the client mode! | ||
+ | * But you need to make sure wifi is configured as real interface instead of being a bridge - in / | ||
+ | ~~CL~~ | ||
+ | {{ : | ||
+ | * [IN PROGRESS] Solder the DC-DC converter circuit on a universal PCB board, try powering Asus from the Roomba. | ||
+ | * Kind of done (see photo - a bit older and wrong version). A heat sink is missing on the DCDC chip. | ||
+ | * Kind of works now. | ||
+ | * Extra pins need to be soldered to match the connectors. | ||
+ | * Both design and realization is just horrible and just needs to be redone soon. For initial testing, it might suffice. | ||
+ | * [NOT DONE] Try powering Asus from separate battery. | ||
+ | * [NOT DONE] Stick everything to the Roomba somehow so that it does not fall off. | ||
+ | * [NOT DONE] Set up Player on Asus and a "base station" | ||
+ | * [NOT DONE] Set up basic Roomba control interface (motor control / sensor info / " | ||
+ | * [NOT DONE] Get USB gadgets (webcam, audio, ...) working. | ||
+ | * [NOT DONE] Set up webcam video streaming. | ||
+ | * [NOT DONE] Set up a mic and audio input streaming. | ||
+ | * [NOT DONE] Set up some low-power reproductor (or take apart Roomba and connect to its piezo) and audio output streaming. | ||
+ | |||
+ | ===== Hacking Point ===== | ||
+ | |||
+ | All parts are at [[hackpoint/ | ||
+ | |||
+ | ===== Resources ===== | ||
+ | * How to hack Asus routers to do fun things: http:// | ||
+ | * Serial interface specs: http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | Fun Existing Hacks: | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// |
project/brmbot_turing/start.txt · Last modified: 2016/11/28 01:51 by ruza