I have got my Roomba robot, which my granddaughter named Keith, back working again. I had removed the Arduino from it and had to work out again which wire went to which of the Roomba DIN plug pins. I now have an Arduino Leonardo driving the Roomba, and the Raspberry Pi drives the Arduino. The only reason for the Arduino is the 5v settings on the Roomba. I don’t want to risk a direct connection to the RPi.
I also had to get Keith’s Raspberry Pi working with Wifi again, as I had changed my router (to a Virgin Super Hub), and its authentication is now WPA, not WEP.
Anyway, it now all works again, so I thought I would connect it to OpenRemote. I already had a python program that listens on a socket and drives the robot arm. I had to modify this to loop accepting connections as OpenRemote creates a new socket connection for every TCP/IP command it sends. It was then just a matter of adding commands in the OpenRemote designer and adding buttons to the robot screen. This now works, so I can control the arm from OpenRemote on Android.
I now need to modify the socket python program on the Raspberry Pi, and add more commands and buttons in OpenRemote so that I can drive the robot around using OpenRemote.
What I really want is a working “fetch beer” button. This requires much better robot navigation probably using ROS and an Asus Xtion, if I can get that working on one or more Raspberry Pis. The robot will also need help opening the fridge door. I will have to put a motor on the fridge to push it enough to release the magnetic catch.
If PR2 can fetch beer, I am sure I can teach Keith to.