Pages

Sunday, January 9, 2011

Development using Netbeans

Angstrom comes with DropBear SSH a lightweight SSH. But it is recommended to use OpenSSH instead.

To install openssh:
opkg -force-removal-of-dependent-packages remove dropbear
opkg install openssh openssh-sftp-server
Tim Pitman has a neat article that explains how to setup Netbeans for remote development on a MAC.

To share the rootfs on Windows:
  1. Configure samba (/etc/samba/smb.conf) to allow access to the rootfs. You can do this by adding the following in the "Share Definitions" section.
    [public]
    path = /
    public = yes
    writable = yes
    printable = no

  2. Map \\BEAGLEBOARD\public as a network drive in Windows.

Sunday, January 2, 2011

BeagleBoard Networking

Wired networking
The BeagleBoard-xM has an in built Ethernet port. But I used a Linksys USB300M with my C4 version. Angstrom has drivers for the ASIX chip in the USB300M and it installs automatically as eth0 and defaults to DHCP. On Win7, I bridged this with my wireless connection to get internet access for my board.

I assigned a static IP to eth0 by adding this information to /etc/network/interfaces file:
#Bring up the interface automatically. 
#Otherwise, must use "ifup eth0" or "ifconfig eth0 up" everytime.
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.105 netmask 255.255.255.0 gateway 192.168.1.1

Wireless Networking
For WiFi, this table shows the supported chipsets and vendors. I use a Netgear WG111v3 adapter which has the rtl8187 chipset.
auto wlan0
iface wlan0 inet static
wireless-essid xxxxYourESSIDxxx wireless-key xxxx wireless-ap xx:xx:xx:xx:xx:xx address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1

Bringing up the Beagle

One of the important things to have for development on the BeagleBoard is another Linux machine. I have a Windows 7 PC, so I installed an Ubuntu virtual machine using Sun Virtual Box. Using the virtual machine additions, you can share USB devices and folders with the virtual machine.

I managed to get Angstrom up and running on a 2GB SD card following instructions from the beginner's tutorial here.

Once you log into the beagleboard, change the root password using the passwd command. This is a must for SSH-ing into the board.

Sunday, December 19, 2010

Plan upgrade

I came across the BeagleBoard a few months ago and I was amazed by its capabilities. It also spurred my interest in Linux development.

So, I decided to use the BeagleBoard to put some raw processing power into my robot. Of the several advantages of this board in a robotic project, I found the following most attractive:
  • 720Mhz ARM based SOC(C4 version).
  • Only 3"x3" size!
  • Can run Ubuntu! (Although, I feel Angstrom is faster given the amount of ram).
  • Wireless remote development using an user friendly IDE (I use Netbeans on Windows).
  • TI DSP Image processing libraries and all the fun stuff in Linux.

So I ordered one from Digikey and the associated hardware. This guide is a good place to check out while waiting for the board to arrive.

Thursday, January 7, 2010

A change of base

I have been busy with my thesis work and other stuff since my last post. There was disappointing discovery a few months ago. The chassis I built earlier couldn't take the weight of two servos, a wireless camera and 11 batteries. The tracks would keep slipping off while turning on carpets :| . Bummer! There went almost a month of searching, waiting for it to arrive and building it.

And so I decided to search for a prebuilt and tested chassis to jump into making things work as soon as possible. I found the RP5 chassis. Its sturdy, comes with 7.2V motors ( = less noise), battery holder and the coolest fact of all - this thing can carry more than its weight, turn on carpets and still keep its tracks on. Plus it comes with these neat accessories to build multiple levels. Here is a pic of it with my boards on.

Wednesday, April 8, 2009

The chassis

I wanted Takbot to be able to make 360° turns at a spot. This makes programming the movements simple and intuitive, apart from helping to maintain position and determine orientation using a simple wheel encoder. For this I chose a tank-type chassis, mainly cause it would run over things with great fury and awesomeness - if it should decide so. :)

After a lot of digging online, I decided to make my own using the Tamiya track and wheel kit from Superdroid robots. This is cheaper and apparently has more traction than the Tamiya's plastic track set . I used a couple of Tamiya's universal plate sets to make a chassis wide enough to accommodate my huge ATmega128 board (I made this one back when i didn't have the tools for SMD soldering).

Here's what it looks like:



Takbot - The big picture

I am building my third robot - Takbot, which will be able to map and navigate a room.

Here's what i have in mind - Takbot will have an IR range sensor mounted on a servo. It will be controlled by the PC via an RF modem. The sensors and actuators on Takbot will be handled by an ATmega128 board.

In my following posts, I'll talk about each part and why i choose them for my bot.