Misc:SpinningLaser

From OpenRAVE

Jump to: navigation, search

by Rosen Diankov

Contents

Setting up and Working with the qwerk

  • add 192.168.1.144 qwerk to /etc/hosts
  • [Setup an NFS server] in /home/qwerk
    • server side: add to /etc/exports: /home/qwerk qwerk(rw,no_root_squash,sync)
    • server side: run export -ra
    • mount on qwerk side: mount -o nolock 192.168.1.150:/home/qwerk /home/qwerk
    • To reset the nfs server due to some change type
sudo /etc/init.d/nfs-kernel-server stop
sudo /etc/init.d/nfs-kernel-server start
  • Download the [Terk SDK]
  • Read the docs/QwerkDevelopmentGuide.html in the terk SDK and install the arm tools. The kernel will have to be rebuilt with the cdc_acm module, so make sure to check out the cirrus-arm-linux kernel from the terk svn repository. Go into cirrus-arm-linux-x-x-x/linux-x.x.x.x, and during menuconfig, make sure to add
Device Drivers  --->  
    USB support  --->
       USB Serial Converter support  --->
       <M> USB Serial Converter support                                                                                                                        
       [*]   USB Generic Serial Driver
    <M>   USB Modem (CDC ACM) support 
  • Now make the cirrus-arm-linux kernel and copy cdc-acm.ko and usbserial.ko modules in /home/qwerk. On the qwerk side, copy the ko modules from /home/qwerk to /opt/drivers and insmod them. Then type mknod /dev/ttyACM0 c 166 0 to create the right device.
  • Download and install libltdl (the package [libextractor] has in it a libltdl folder]]). To install, type
    • ./configure --build=x86-linux --host=arm-linux --prefix=/usr/local/arm/3.4
    • make install.
    • Note /usr/local/arm/3.4 is the directory with the cross compile tools.
    • copy the resulting libltdl.so* and libltdl.a files from the cross compile directory to /home/qwerk/lib
  • Download [Player] and install it to /home/qwerk by
./configure --build=x86-linux --host=arm-linux --disable-shared --disable-alldrivers --enable-urglaser --disable-debug --prefix=/home/qwerk
make install
  • On qwerk side in /opt/scripts/robot.init
    • comment out the terkServer line, it will interfere with the qemotor driver.
    • add these startup commands to end (note that the export commands have to re-executed manually)
 export PATH=$PATH:/home/qwerk/bin
 export LD_LIBRARY_PATH=/home/qwerk/lib
 insmod /opt/drivers/usbserial.ko >> /opt/connectlog0.txt
 insmod /opt/drivers/cdc-acm.ko >> /opt/connectlog0.txt
 mknod /dev/ttyACM0 c 166 0
 mkdir /home/qwerk
    • if setting up an NFS server, use this command to load it
 mount -o nolock 192.168.1.150:/home/qwerk /home/qwerk
    • if all the files are on a USB drive, use
 mount /dev/sda1 /home/qwerk    
    • if the qwerk isn't making a wired connection, try using
 /opt/scripts/wiredConnect.pl eth0
    • then can start the player driver with
 player /home/qwerk/actuatedurg/intelactuatedurg.cfg >> /opt/playerlog.txt&

Setting up Quadrature Encoders

Unfotunately, the qwerk does not come preinstalled with quadrature encoder functionality, therefore we have to add it manually by making a new qwerk.bit file. First download Xport from Charmed Lab and the free FPGA Web Tools from Xilinx. Note that the FPGA on on the 1.2B models is Xilinx Spartan 3E XC3S100E with TQ144 packaging.

Actuated Laser Spinning

Troubleshooting

  • If it is impossible to telnet to the qwerk, try resetting the ip address and gateway. First put the qwerk in configuration mode by holding the CFG button when turning it on. After lights flash fast, reset settings by lighting 7 LEDs, then reset ip addresses by lighting 5 LEDs. You can then go to http://192.168.1.144 to configure the rest.
Personal tools