About

It is very simple demonstration how to use Carambola as rover platform with video feedback. It could be nice toy to build in couple of hours.

Hardware

I used very simple hardware setup. Key components are motor controller, 47:1 gearmotors, wheels, UVC webcam supported by mjpg_streamer and of course Carambola.

Connection

  • Webcamera - just plug to USB port.
  • Motor controller - connect to Carambola serial port. Use 2(TX) and 5(GND) pins. (see diagram below)
  • Motors - see diagram below. Connect 2 motors in parallel.

Building system

passwd root
  • install package for video streaming
opkg update
opkg install mjpg-streamer
  • edit /etc/config/mjpg-streamer if you like. Default settings works fine.
config mjpg-streamer core
      option device           "/dev/video0"
      option resolution       "400x200"
      option fps              "25"
      option port             "8081"
      option enabled          "true"
opkg install ser2net
  • edit /etc/ser2net.con - comment all lines at the end of file and add this one
2002:raw:600:/dev/ttyS1:115200
  • edit /etc/rc.local file to add ser2net autostart functionality
ser2net
exit 0
  • Now you are able to connect to Carambola's serial port via telnet 2002 port.
  • You can now reboot your Carambola to see if everything works.
reboot

Testing

Video

  • open favorite network stream player (I have tested vlc and chrome web browser - both worked) and paste url http://192.168.0.112:8081/?action=stream
  • For VLC make sure you setcaching to 0ms instead of 1200ms (default) to reduce video lag

Controls

  • To test if robot responds to commands download this quick program which sends these commands directly to motor controller
    • Forward 0x8A, SPEED, 0x8D, SPEED
    • Backwards 0x88, SPEED, 0x8E, SPEED
    • Left 0x88, SPEED, 0x8D, SPEED
    • Right 0x8A, SPEED, 0x8E, SPEED
  • Before you start playing, you should press setup button. It sends safety configuration to motor controller
    • Serial port idle timout = 0.25s 0xAA, 0x0A, 0x04, 0x03, 0x01, 0x55, 0x2A

ToDo

This quick example illustrates how to interface motor controller and webcam. Further you could connect these items to build autonomous vehicle.

  • gps
  • counter on all wheels
  • sonar
  • robotic arm
  • lights
  • wifi booster
  • volt meter
  • wider angle lens
  • smaller (lipo battery)

Notes

  • I ordered 47:1 gear motor (285 RPM), which is still a bit to fast. So, if you plan to replicate this by your self, consider buying germotor with 75:1 or even 99:1 ratio.
  • After you reboot Carambola, connect to it using ssh and type ser2net this will enable communication to motor controller.
  • It is good idea to close all electronics and put external led's to indicate wireless signal level and other status signals.

More images

Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki