Shunk LWA-3 Arm Installation |
| Submitted by venkat on Sat, 2009-01-10 03:31 |
[NOTE: this web page was created after selecting the Straight HTML input format (which is, well, HTML)]
Wiring
1. The arm has lots of wires coming out of it. Here is a basic explanation of the wiring (stuff coming here soon). One wiring picture for now. Please upload pictures and pdf files as attachments and include them in the page or link them as shown. For movies, please host them on blip.tv / youtube. Get in touch with us to use our hosting account.
LARGER RECENT PICTURE
Installing the PCI ESDCAN drivers (on reventlov)
-
compile the module under /usr/local/src/esdcan-pci405-linux-x86-3.7.3-k26
-
make clean.
- Depending on the changes made to the header file locations, this might create some issues. So, change the code to have the offending includes handled with (usually commenting it out).
-
make install
-
- - Make the inodes(as superuser):
-
cd /dev
-
sudo mknod --mode=a+rw /lib/udev/devices/can0 c 53 0
-
sudo mknod --mode=a+rw can0 c 53 0
-
- copy new kernel module to /lib/modules:
-
sudo cp src/esdcan-pci405.ko /lib/modules/`uname -r`/kernel/drivers/
-
sudo depmod
-
sudo vi /etc/modules and type esdcan-pci405 into it
-
- install shared library:
The dynamic-shared-library "libntcan.so" should be placed in /usr/local/lib/ or an equivalent path, which is contained in your LD_LIBRARY_PATH env-variable.
- install static library:
The static version of the library "libntcan.a" can be kept wherever you want. Here at esd we prefer to keep it with the sources of a project, on the other hand, one might like to install it with the shared-lib at /usr/local/lib
- load the module:
Load the Driverfile (as superuser): Syntax: insmod ./esdcan-crd-os-arch-ver [major=m] m=non-default major
-or- (recommended)
sudo modprobe -va esdcan-pci405
Installation-note: The shared library should belong to user and group root with the following file access permissions: u=rwx, g=rx, o=rx After installation of the library, the root-user should call:
ldconfig -n /usr/local/lib
(if installed to this directory) Afterwards there's a link libntcan.so.v --> libntcan.so.v.mv.r . For your own convenience it is advised to generate another link in your library-directory: libntcan.so --> libntcan.so.vThe static-library, when installed in /usr/local/lib/, should also belong to user/group root, but it doesn't need (and shouldn't have) the executable-flag. Leading to the following fileaccess permissions: u=rw, g=r, o=r
Installing Comedi
- install the following from apt/synaptic:
- comedi-source
- libcomedi (whatever version)
- libcomedi-dev
automake (neil grabbed all versions) autoconf (neil grabbed all versions)
autoconf (configure.ac)
aclocal
automake --add-missing
-
module-assistant auto-install comedi
- after this, we should have a bunch of comedi device nodes, and running comedi modules (ni_pcimio). next
up is running comedi_config to match up a dev node to the device:
sudo comedi_config /dev/comedi0 ni_pcimio
- now, we likely have a permissions issue at startup that prevents comedi_config from properly setting up the device nodes it created.
the manual way to fix this is to simply chmod 666 the file /dev/comedi0 and then run the config manually "sudo comedi_config /dev/comedi0 ni_pcimio".
For a more permanent solution, we have to make a rule for udev to treat these device files properly. This will involve either a simple or a medium-simple amount of work with the /etc/udev/rules.d directory and /etc/group.- Simple version: just 666 the thing.
add the following to a file called /etc/udev/comedi.rules:
KERNEL=="comedi[0-9]", MODE="0666"
KERNEL=="comedi1[0-5]", MODE="0666"
(Or if you're not so fussy about matching device names: KERNEL=="comedi[0-9]*", MODE="0666") then symlink it to the rules.d:
sudo ln -s /etc/udev/comedi.rules /etc/udev/025_comedi.rules -
For the safety conscious, it would be better to add a "comedi" group
using the groupadd command, add allowed users to that group using the
gpasswd command, and use MODE="0660" and GROUP="comedi" in the udev
rules to create the comedi devices with suitable permissions:
KERNEL=="comedi[0-9]", MODE="0660", GROUP="comedi"
KERNEL=="comedi1[0-5]", MODE="0660", GROUP="comedi"
it'd look like this:
$ sudo groupadd comedi
$ sudo gpasswd -a [user(s)] comedi
$ sudo echo [the rules stuff] > /etc/udev/comedi.rules
$ sudo ln -s /etc/udev/comedi.rules /etc/udev/025_comedi.rules
and that should do it!
- ...but if not, like it didn't for me, you can add your own startup item for comedi_config, since at least the permissions were fixed by the previous step:
$ sudo echo "!#/bin/bash" > /etc/init.d/setup_comedi
$ sudo echo "comedi_config /dev/comedi0 ni_pcimio" >> /etc/init.d/setup_comedi
$ sudo chmod 666 /etc/init.d/setup_comedi
$ sudo update-rc.d setup_comedi defaults
- Simple version: just 666 the thing.
add the following to a file called /etc/udev/comedi.rules:
Installing mouse driver for the 3dconnexion space navigator mouse
- this is the website for the driver: http://spacenav.sourceforge.net/
-
sudo apt-get install libx11-dev
- use the download link given in that to download the spacenav daemon and the spacenav library
- make and make install spacenav library
- in the spacenave daemon:
-
./configure
-
make
-
make install fails due to ubuntu run level compatibility.
-
sudo cp init_script /etc/init.d/spacenavd
-
sudo /etc/init.d/spacenavd start
-
Blas and Teleop
sudo apt-get install libblas3gf libblas-dev liblapack3gf liblapack-dev
Equations in a webpage
yet to figure that outArm at work
After a little bit of coding and math, you get this:
| Attachment | Size |
|---|---|
| schunkarm_wiring.jpg | 145.95 KB |
| img_4712.jpg | 4.02 MB |
- Login to post comments
- Printer-friendly version







