Robot Bob

Lego + Raspberry Pi Robot. Has a touch sensor, a infrared sensor, ultrasound sensor, a digital camera for image recognition and streaming video, 3 motors (so far because Im adding 4 more soon). Everything is controled via Web Services so its a Cloud Robot. It has a web interace so it can be controlled via internet and a java interface when Im in fron of my computer.

It has its own webpage: http://imrobotbob.com

Both the NXT and the Raspberry Pi work as webservers connected trough WiFi and with WebServices we can control the actuators and get data from the sensors each have connected.

The programs can be run on both and each is capable of contro the other. So programas can be initiated on the NXT on the Raspberry Pi, my desktop computer or any Server on the Cloud.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Traction System: Two caterpilar tracks with one NXT Mindstorm Motor: http://shop.lego.com/en-US/Interactive-Servo-Motor-9842

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

One Mindsensors Sumo Eyes Infra Red Sensor: http://www.mindsensors.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=75

 

 

One  NXT touch sensor, for when the infrared or the ultrasonic fail to detect obstacles: http://shop.lego.com/en-US/Touch-Sensor-9843

 

One NXT Mindstorm Block, that controls the two motors of the tracks, one for the head, the touch sensor, the infrared sensor, the ultrasonic sensor and the NXT2WIFI sensor.

 

Another NXT servo motor to move the head.

 

NXT ultransonic sensor + Raspberry Pi camera for object recognition, motion detection and live video streaming

http://shop.lego.com/en-US/Ultrasonic-Sensor-9846

http://www.raspberrypi.org/camera

 

NXT2WIFI WiFi Sensor for NXT with custom Lego Case

robotics.benedettelli.com/nxt2wifi-lego-wifi-module

 

Raspberry Pi + Pimorini Toxic Case + Pimorini PiGlow

The Raspberry Pi controls the camera and the TTS so Bob can talk and see.

 

Even the NXT has a built in speaker I added an extra one for the Raspberry Pi since its more powerful for sound and voice processing.

 

It can be program to do very diferent tasks. At the moment it has a floor cleaning routine, a navigation routine based on wavefront. It can detect movement and send video via email and Twitter Direct message and it can be remote controlled via a Web Interface, it talks too.

  • Actuators / output devices: speaker, 3 NXT motors
  • Control method: It can work as autonomous running programs on the NXT block or the Raspberry Pi, or controlled via Web
  • CPU: LEGO MINDSTORMS NXT, Raspberry Pi
  • Operating system: LEGO NXT firmware, Debian GNU/Linux
  • Power source: NXT rechargeable battery, 5V 2000mAh
  • Programming language: Python, NXC, node.js
  • Sensors / input devices: NXT2WIFI, NXT Ultrasound sensor, NXT touch sensor, Infrared Sumo Sensor
  • Target environment: indoor, Companion Robot

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/robot-bob

WOW! That is an awesome concept!

That is a really cool way to take the NXT to the next Level!
I worked with NXT’s in the past, but it has always annoyed me that the System was pretty much a closed System and that you couldn’t add anything the was not made from LEGO e.g (more sensors, actuators, lights, port expanders). Although there are some boards that allow you to connect NXT and Arduino, but mostly ‘in the over direction’, where you would use an Arduino as the Brain and you could reuse the NXT motors and sensors. But there was one Method to connect the NXT with the Arduino. All that was made even more complicated by LEGO because the used this weird plugs, that where difficult to find.


How did you connect the RPi to the NXT, I first thought that you used USB and had the RPi act like a normal PC, I think where was a method to control the NXT from the PC, wasn’t where? (The last time I have worked with the NXT was a few years ago.) But then I noticed that you had only one USB connection, and that is was the USB Debug that is probably just used to power the RPi.
I couldn’t see any connections from the GPIO pins from the RPi to the NXT, and there is an Pimoroni PiGlow on there any way. Then I thought the blue blinking dongle might be Bluetooth, since it is possible to connect to the NXT via Bluetooth, but how did get the Wi-Fi connection then? So I am just assuming that it’s just a Wi-Fi dongle.

So how did you do it?

Or didn’t you connect the NXT and RPi at all?

I like the
Toxic Pibow by the way.

  - Arthur

In case anyone is interested in the Arduino --> NXT stuff:

http://www.dexterindustries.com/howto/connect-the-arduino-and-the-lego-mindstorms-together/

http://www.robotc.net/wiki/Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Connecting_A_Lego_Motor

http://forum.arduino.cc/index.php/topic,8739.0.html

http://forum.arduino.cc/index.php/topic,65022.msg475002.html#msg475002

And this is what the NXT socket looks like:

|x



Source: http://forum.arduino.cc/index.php?topic=52630.0


I was wondering how the NXT is connected to the RPi.

Yeah, I new that it is posible to program the NXT’s with Java.
But, I was wondering how the NXT is connected to the RPi.
As far as I understand the Project, you can acces a Webpage that is proviede by the RPi and controle the NXT via the Page, so there has to be some kind of connection between the RPi and the NXT. And I was wondering how that was done. :slight_smile:
Since I couldn’t see any wire connection between the two, exept for the usb mini cable.

**NXT+WIFI WebServices **
Hello Arthur and 6677 you both are right. Thanks for the comments by the way.

Robot Bob has been an evolving project it started with a simple Lego Robot, but instead of using its programming language I used NXC (not exactly C) in this way you don’t need to change the firmware but you can add lots of C libraries.

Arthur you are right, the NXC is not physically connected to the Raspberry Pi, all the communication is done trough web services that are let’s say virtual buttons that can be pushed with any TCP connected device via a simple web browser or by any programming language like. C, java! Python, pop, anything.

The NXT is connected to the web using a NXT2WIFI device designed by Daniel Benedettelli using an open hardware circuit called Open Picus. Using simple libraries you can expose all the brick functionallity using web services. With the Raspberry Pi that’s even simpler since you can add lots of tools to control it and it’s peripheral like the Camera and anything you connect to the GPIO.

Exciting times are ahead of us since the Raspberry Pi will be growing a lot I think. Boards like dexter industries brickpi is an example. The new Lego brick the EV3 is a raspberry Pi like board using an arm processor and running Linux. There is people already hacking it t be able to install any tool and use more advanced languages.

Any suggestion and comments will be highly appreciated.

Looks nice your BoB, but as

Looks nice your BoB, but as I saw that name I was miss-leaded :slight_smile:

The real BoB is here: https://www.robotshop.com/letsmakerobots/node/35865 so I was expecting another BoB clone as there are many.

I’ve to agree with my friend OddBot, please let us know more details about the project. I did see the website but would really like to stay here on LMR by reading that details.

Patience

Patience lumi and OddBot, I´ll be glad to share everything that I have done and that will do with the Let´s Make Robot Community. Unfortunatelly when I started the project I was flying solo. Im glad I found this place and Im sure the synergies will come.

I did a quik intro of my project but as soon as I have some spare time I will add more details. I´ll check what others have done and I´l follow the comunity rules.

There are more than a Bob robot, I guess is not really an innovative name. Mine is named by a friend that said it reminded him of Bob Marley.

Updated

So I added some more info and pictures of the robot. I’ll keep updating it.

Cool. It’s more complex as I

Cool. It’s more complex as I assumed before. 

Since I am not familiar with Lego I would like to read some infos to the new added pictures. Yeah, I am like a sponge…need more input :stuck_out_tongue:

Edit: The LED thingy at his back looks almost like the Flux Compensator :slight_smile: Bob going back to the future…

More details and fuctiosn coming…

Sure, I’ll add more details of the components and what does what, as soon as possible and also I’ll add new videos of the brand new functions like Robot Bob talking.

Its just that at the moment Im busy with other projects.

mode data added

I added a couple of more data on the components and the control.

**Cool!!! **

Cool!!!