New Software For Our Raspberry Pi Camera Robot

We had a great response to a recent blog post we wrote, describing how to build a Raspberry Pi robot that you can drive around using a tablet, smartphone or PC. Therefore we’ve carried on developing the software for it, and are pleased to announce the update today. The changes that we’ve made to the software have largely been to support cool things that we want to do with the robot in the future, but features that users of the robot will notice are

  • much faster camera streaming. Initially the camera was streaming images at about 4-5 frames per second using raspistill and mjpg-streamer, but we’ve now written our own camera streamer, and got it streaming at 15fps which is much smoother, and makes driving the robot around a lot easier.
  • support for more WiFi dongles when working as an access point. Our previous software release mainly worked with WiFi dongles that used the same chipset as the Edimax EW-7811Un (the hostapd rtl871xdrv driver). It was possible to get it to work with other WiFi dongles that used the hostapd nl80211 driver, but it required a fairly technical user. Now our software should work with a much wider range of WiFi dongles with no change required.
  • we’ve added a shutdown button. Previously the robot was turned off by just cutting off the power. This was very unlikely to corrupt the SD card as nothing was written to it, but a lot of users felt uncomfortable with not doing a proper shutdown. Now a shutdown button in the web interface provides peace of mind.
  • more configuration options. The configuration webpage of the robot has been expanded to offer more options to control the movement of the robot.

As before, there are multiple options for getting hold of this software. If you already have an SD card then you can download an SD card image with all of the software installed here (go for the most recent version). Update: If you use our SD card image, please remember to expand it after installation by running

sudo raspi-config

and choose the ‘Expand Filesystem’ option.

Alternatively, we sell SD cards with the image preloaded in our store. Finally, for those who want to set up the software from scratch, or who want to modify it for their own robotic projects, we give full details for building the SD card, and installing all the software, here.

We believe that the Raspberry Pi is a great platform for robotics, and have got a number of tutorials for our Raspberry Pi Camera bot lined up for the coming months. If there’s anything in particular you’d like to see, please let us know.

 

25 thoughts on “New Software For Our Raspberry Pi Camera Robot

  1. dev

    Kept getting different hash values everytime i re-download the Zip image. Do you have any other alternate download sites? Or can you email me the file? Thanks.

    Reply
    1. Alan Post author

      Hi there,

      Sorry for the late reply. I think that there’s a problem with our file hosting at the moment which means that for some users the download never completes.

      Can you try downloading the image file using a download manager, or wget? This should hopefully allow you to get the file whilst we organise new hosting.

      Regards

      Alan

      Reply
  2. James martel

    Downloaded and installed “NEW SD” card image 7-18-2014. Using it with “NEW” Raspberry Pi Rev. B+ with a Raspberry Camera Noir. No issues were noted with connecting/detecting a Panda Wireless 150Mbps 2.4GHz Mid-range WiFi N USB Adapter No. PAU04 (B004AC0L4Y). I also have installed it’s companion Panda Wireless PBU20 Bluetooth 2.0 Adapter No. B00DW1STTS.
    I am using this with the Dawn Robotics 4 WD Robot Chassis and Dagu Mini-Driver and a Linksprite 3 axis Pan-n-Tilt Camera Kit, a Linksprite 12v to 5v Power Module, a Linksprite 12v Li-Ion Battery.

    I did notice that WiFi Config module is present on desktop but does not acquire/display “Networks or Adapter” information, also no Remote Desktop VNC support for those of us that want to remotely connect to the Robots’ desktop to perform updates as well as via “SSH”. (Not connected to Bluetooth keyboard or devices yet, Blue tooth connection drivers needed on desktop)

    Reply
    1. Alan Post author

      Cheers for the feedback James, nice to hear that things keep on working when the hardware is varied a bit.

      Would be cool to add in the VNC option for a future release. Is there a favourite one that you use and an installation/setup tutorial anywhere? The main thing I’d want to test is that CPU usage wasn’t increased too much if the VNC server wasn’t in use.

      Regards

      Alan

      Reply
  3. marios

    Hi. This a follow-up to a post I made in the tutorial section but now that I saw this blog, I thought it’s better suited here. So, here’s the situation I’m facing.

    If I make an image with the newest software, the Pi and the mini driver turn on for a bit and then off. Plus I get no picture on the monitor I connected on the HDMI port.

    If I use the older software, everything turns on fine and I get picture on the monitor. But the pi creates no wifi network. This of course might be due to my not using the Edimax but a Vilros wifi dongle instead. Now, if I plug in a USB keyboard and mouse to fiddle with stuff, they don’t work. The lights on the keyboard light up a bit when the pi turns on but then they go off. So, I can’t really go in raspbian to expand the filesytem, find info about the wifi dongle etc.

    Note, that if I flash the normal raspbian image, keyboard, mouse, and wife dongle work just fine.
    Not sure what I’m doing wrong here! any help??
    Thanks,
    marios

    Reply
  4. marios

    Quick follow-up to my follow-up: Got the latest image to show up on my monitor by uncommenting the first thing in the config file. But, wifi fails. I have a VILROS 150 dongle which I think is based on a Ralink chip. Might not be compatible? Anw, what I’m curious about is that keyboard and mouse don’t work. Powered up from the mains, disconnected everything else from the USB ports….nothing! Shouldn’t these work?
    m

    Reply
    1. Alan Post author

      Hi Marios,

      Sorry for the delayed reply. The SD card image should definitely work just for booting up a Pi without anything attached. Did you make any progress on this?

      Only thing I can think of is to perhaps try a different SD card, but the latest image is the one we flash onto the SD cards we sell, and all works fine.

      Regards

      Alan

      Reply
      1. marios

        Thanks Alan. It does work now but it does not create a wireless network. Perhaps it’s because I have a Ralink-based wifi stick? Anw, I’ll get an Edimax dongle to try it. But, is it normal that when I connect USB keyboard and mouse they don’t work? (they do if I just boot up with a different card running plain raspbian). Without them, how can I expand the file system as you suggest in the instructions?
        Cheers,
        m

        Reply
        1. Alan Post author

          Hi Marios,

          I don’t think anything specifically should stop your keyboard and mouse from working, apart from if our version of Raspbian is missing some drivers.

          If you can’t get the keyboard and mouse to work then I would suggest attaching a network cable and sshing in.

          Regards

          Alan

          Reply
      2. marios

        Ok, now I’m getting desperate. Did everything according to the tutorial. Bought an Edimax to replace my wifi dongle. Flashed the latest image on a Kingston 8GB card, and nothing! I turn everything on, the mini driver does its thing for about 30s and then shuts down. Tried running from the mains, same thing. No wifi pi network ever comes up on my pc. Pi works perfectly if I flash a normal raspbian so I don’t see how the card can be the problem. I tried flashing the image more than 20 times and nothing seems to work. Wondering what to try next. Ideas?

        Reply
        1. Alan Post author

          Hi Marios,

          So if you disconnect everything other than the SD card and the Edimax WiFi dongle from your Pi, then attach a HDMI monitor and power the Pi from the mains, what exactly happens? Do you just get a black screen or is something displayed?

          Also, what type of Pi are you using (A/B/B+ etc) and what is the rating of your wall adapter in Amps?

          Regards

          Alan

          Reply
          1. marios

            Hi Alan,
            Thanks for your reply. I use a B+ and it turns off when I run from the Treknet powerbank. When I plug into the mains (5v===>2000mA) the pi boots fine to the raspbian desktop. The only thing that fails during boot-up is the hostpad (not sure If I write this correctly). It gives a “Failed” and “No device found”. Get the same when I used the Edimax or a Vilros wifi dongle.
            Thanks,
            marios

          2. marios

            Just to add to my previous reply, the mini driver — connected to the Treknet — always turns off after 30 seconds or so regardless of whether the Pi is powered through the mains.
            m

          3. Alan Post author

            Hi Marios,

            The Tecknet powerbank will power off if just the mini driver is attached to it as it doesn’t draw enough current to keep the powerbank on. To give power to the mini driver when powering the Pi from the mains I would recommend temporariliy attaching either 4xAA batteries or 6xAA batteries to the mini driver. These can be non rechargeable as the mini driver doesn’t take much to get it going.

            To begin with though, I would suggest leaving the mini driver disconnected so that we can sort out your Wifi issue. Once your Pi has booted, can you please open up a terminal window and send me the output of the following commands?

            ifconfig wlan0
            lsusb

            Regards

            Alan

          4. marios

            Hi Alan,
            The thing is that the keyboard and mouse don’t work when I boot up from your image (they work when I boot up from a normal raspbian image) so I don’t see how I can type any commands! You suggested using ssh but how do I get the ip of the pi without interacting with it? Also, don’t I need to setup ssh on the pi first?
            Thanks,
            marios

          5. Alan Post author

            Hi Marios,

            To connect via ssh, plug your Pi into your router with an ethernet cable. To find out its IP address, probably the easiest thing to do is to log into your router using its web interface, and look in its ‘connected devices’ screen. Alternatively you can use a tool called nmap to scan for the IP address.

            Once you have the IP address you can use the ssh command on Linux or another Pi to connect

            ssh pi@IP_ADDRESS

            password is the default ‘raspberry’.

            If you’re on Windows then there’s a good ssh program called PuTTY. Don’t worry about setting anything up on the Pi, Raspbian has an SSH server running by default. Hopefully this should get you in to have a look around, there are lots of tutorials online about using ssh with the Pi that can give more details.

            When you next get command line access to a Pi that’s got your wireless keyboard and mouse working on it, can you run lsusb and send me the output? If we can work out what needs to be installed to get them to work then I can add it to the next SD card image. Although, having said that, our card is derived from Raspbian and so should in theory have everything they have. It could be that something has been added since we last produced an SD card image (September 2014).

            Regards

            Alan

          6. marios

            Alan, thanks very much. I’ll be out of town for a few days but when I’m back I will try what you suggest. You will at least get a few days without me bothering you :)
            marios

          7. marios

            Hi Alan,
            I couldn’t do what you suggested as when I connected the pi to the Ethernet, it wouldn’t come up in the connected devices list in the router’s configuration. But, I took a different route and followed the instructions to build the image. This solved a lot of the problems I had before but something must have gone wrong when configuring the pi as an access point. I do get the Pi network to show up on my computer but when I connect to it the connection is “Limited” and cannot connect to the robot’s web interface. I’ll try again but could you clarify the bit about installing your hostapd? I followed the adafruit tutorial but I wasn’t sure at what point in their steps I should have switched to your instructions (I did at the point that said “Configure Access Point”). Will it work if I followed the adafruit tutorial till the end (and install their hostapd) and then follow your instructions to install yours?
            Thanks,
            marios

          8. Alan Post author

            Hi Marios,

            As long as you have the EW-7811Un, then you should just be able to follow the Adafruit tutorial, and use their version of hostapd. Our version just aims to cope with different WiFi adapters.

            Hope that helps.

            Regards

            Alan

  5. marios

    Hi Alan,
    The thing is that the keyboard and mouse don’t work when I boot up from your image (they work when I boot up from a normal raspbian image) so I don’t see how I can type any commands! You suggested using ssh but how do I get the ip of the pi without interacting with it? Also, don’t I need to setup ssh on the pi first?
    Thanks,
    marios

    Reply
  6. sergio sanchez

    Hola, soy de Argentina – Buenos Aires, quería que me ayuden a modificar el código de la dagu mini driver boar, para remplasarlo por un arduino mini ligh o un arduino uno, porque es imposible conseguir dagu mini driver boar en buenos aires, y no estoy muy familiarizado con arduino y su entorno, si me podrían dar una mano con esto se los agradecería mucho!!

    Desde ya muchas Gracias!!
    Saludos,
    Sergio Sanchez.

    Reply
    1. Alan Post author

      Estimado Sergio,

      Estoy usando el traductor de Google. Así que lo siento si esto es difícil de entender.

      Ahora puede ordenar la Mini Driver para Argentina en nuestro sitio web. Como alternativa, si se puede compilar el código para un Arduino, debe sólo tiene que conectar un controlador de motor a los pines 7, 8, 9 y 10.

      Buenos suerte. :)

      Saludos

      Alan

      Reply
      1. Sergio Sanchez

        Hola Alan, desde ya muchas gracias por contestar, la verdad no estaba seguro si iba a tener respuesta al ser de otro idioma! El programa lo carga la raspberry pi al arduino verdad? Si lo conecto vía UART lo carga igual? Me gustaría saber también si hay algún citio para que suba fotos de mi chasis del robot para que lo veas, lo hice a mano de cosas que tenía en casa, por supuesto agregué suspensión que compré acá! Otra cosa, los pines son parecidos al arduino? Quiero saber esto Para agregar futuros sensores!! saludos, y gracias de nuevo!

        Reply
        1. Alan Post author

          Hola Sergio,

          Sí. El programa se carga desde el Pi a la Arduino. Mira mini_driver.py

          Si tienes fotos para subir, por favor, publicarlo en nuestros foros.

          El mini controlador utiliza un Atmega8. Esto tiene los mismos pines como un Arduino estándar, pero menos memoria.

          Saludos

          Alan

          Reply

Leave a Reply to Alan Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>