Thursday, August 04, 2005

Using SoCForge

Go to the directory whose files you want to import.
Then, do:
$ export CVS_RSH=ssh
$ cvs -d :ext:gildardo@cvs.comp.nus.edu.sg:/home/l/cvsroot import -m "Initial import." groupu/projDir vendor start

where group in our case is motion and projDir is the name you want for the directory of your project. For instance : motion/icra06

Then, it is possible to check out and commit
checkout, for instance:
$ cvs -d :ext:username@cvs.comp.nus.edu.sg:/home/l/cvsroot checkout motion/icra06

commit:
$ cvs commit -m "New version with bib file"

update
$ cvs update -dP

Note that variable CVS_RSH must be set before all of this to ssh, so

Wednesday, June 29, 2005

Upgrading to Fedora Core 4

I upgraded the PC to Fedora Core 4. Since I was wasting a lot of space in the windows partition, I resized it, but for some weird reason, Windows complained and I had again to reinstall it. So, After doing that, all the patches of windows, just to let the system up to date and that the scanning system of NUS doesn't complaint.

Now, as for Fedora Core, I downloaded the iso images, burnt the CDs and installed it. Once the installation is finished, I changed the grub.conf and I added the local repository with updates in NUS as a new .repo file in the /etc/yum.repos.d/ directory.

After updating all the packages, I compiled without any problem Coin3D and installed it. For the rest of applications I will install them when I need them. I made a backup of my whole account in the desktop, so I basically only had to move the directories I need it, and voila! Everything set.

I needed to install thunderbird and gkrellm using yum.
Then, when compiling mpk code, i got:
/usr/include/boost/graph/incremental_components.hpp:82: error: ‘find_representative_with_full_compression’ is not a member of ‘boost::detail’
/usr/include/boost/graph/incremental_components.hpp: In function ‘void boost::normalize_components(ParentIterator, ParentIterator)’:
/usr/include/boost/graph/incremental_components.hpp:102: error: ‘normalize_node’ is not a member of ‘boost::detail’

This is a problem with the Boost installation. To solve it, edit the file:
/usr/include/boost/graph/detail/incremental_components.hpp
and include there the following line:
#include < boost/pending/disjoint_sets.hpp >

Then, it compiled but I had a problem when running:
error while loading shared libraries: libCoin.so.40: cannot open shared object file
In Fedora Core 4, somethings changed, compared with previous versions. That is the case of yum. Instead of putting everything inside yum.conf, now there is a directory yum.conf.d and inside this one there are several files, one for each repository. The same applies for the shared libraries. In this case, there is a directory /etc/ld.so.conf.d/ and inside this, I created a file named coin.conf, with the following line:
/usr/local/lib which is the directory in which my libraries are. After that, mpk run perfectly.

To eliminate some warnings from Coin, I edited my .bash_profile file ending up like this one:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:.
IVMODELS=$HOME/mpk/ivmodels:$HOME/mpk/ivmodels2
COIN_FULL_INDIRECT_RENDERING=1
export COIN_FULL_INDIRECT_RENDERING
export PATH
export IVMODELS
unset USERNAME

I did not installed the development version of qt, which is required to compile the ivtools. So:
yum install qt-devel
then compile and install SoQt from Coin3D
and then compile and install ivtools


Also, the following libraries were missing: compat-gcc-32-c++.i386 and compat-libstdc++. Tetview requieres: compat-gcc-32-g77

Also, when the screensaver started running, I noticed that some flicking was happening. Then I remembered that I should install the drivers for the Nvidia card that comes with the computer. So, I went to NVidia web site, downloaded the driver and to install it:
a) Boot in failsafe mode. Kill the Xserver:
telinit 3
then sh NVIDIA******
The scripts says that it will require to compile the module for my kernel, I say yes, it does it and it finishes without problems.
Then, I go to /etc/X11xorg.conf and modify the Driver, deleting "nv" and replacing it with "nvidia"
delete Load "dri" and that's it. Restart X server and we are done.

Friday, June 03, 2005

Setting up Tembusu

1.- Installing Coin3D.
* simage: ./configure --prefix=/home/rstaff/ante/usr
then make install
* Coin3D: ./configure --prefix=/home/rstaff/ante/usr
them make install
* SoXt: ./configure --prefix=/home/rstaff/ante/usr --with-motif=/usr/X11R6/LessTif/Motif1.2/
make install

2.- Tembusu2 gives 150 Mb as default quota for all users. Installing Coin, and the planner may consume some space, and also when running some experiments, the info gathered may imply several MB in a file. So, to apply for additional disk quota:
https://mysoc.nus.edu.sg/

Select mySoC IT Services --> Helpdesk E-Form Resource -->Apply for
General/Miscellaneous Computing Resources --> Additional Tembusu Disk
Quota


Wednesday, May 25, 2005

ABB Irb2400 CAD models

  • It is possible to get the CAD models for some of the ABB Robots, like the Irb 2400 that we are using in our experiments:
    The CAD models are placed on our public web site, where all external users can reach them. You find them under “Product range” in the left menu, and on each robot product page.

    Today you find CAD models for the following robots on the site: IRB 140, IRB 1400, IRB 2400, IRB 4400, IRB640, IRB 6400, IRB 6400R and IRB 7600. More models for both robots and other products will follow.

    The CAD Models are available in the following formats: SAT, SOLID WORKS, STEP, PARASOLID, VDA, IGES, STL, VRML, ROBCAD, ROBOT STUDIO and IGRIP.
  • There is a new version of TetGen. 1.3.3. I'll substitute the old one with this.

Thursday, May 05, 2005

Visibility-based Planner

  1. The collision checker receives mpkConfigs.
  2. bool prmPlanner::isVisible(mpkConfig& q0, mpkConfig& q1)
  3. bool prmPlanner::inCollision(mpkConfig& q)
  4. void prmPlanner::Sample(prmMilestone& m, prmSampler* s)
  5. int main()
    {
    vector > Guards;
    for(int i=0;i<10;i++){
    vector g;
    g.push_back(10);g.push_back(20);g.push_back(12);
    Guards.push_back(g);
    }
    for(int i=0;i<10;i++){
    for(int j=0;j printf("%i\t",Guards[i][j]);
    printf("\n");
    }

Tuesday, May 03, 2005

Towards Visibility-based PRM

  1. Sample() has been modified. Now it does not add the milestone to the roadmap.
  2. Connect() has also been modified. It is the responsible now to check the visibility and add the milestone to the appropriate set (Guards/ Connections).

Friday, April 29, 2005

AHS Extensions -> Coding

  1. Just to remember. In my file structure, the planner is separated in three subdirectories.
    1. mgp. This one includes the implementation of NAIVE and GREEDY algorithms for the Multi-Goal Planner.
    2. shrink. Comprises the implementation of the planner using the shrunken version of the robot. Under development.
    3. mpk. This has basically the original MPK implementation, which includes SBL planner. I also added Basic PRM and the AHS implementations. So, under directory prm we have:
      1. Single Sampler. Corresponds to the Basic PRM.
      2. Multi-Goal PRM. Corresponds to Requicha strategy for MG Path planning.
      3. AS1: Competing against best fixed weight strategy.
      4. AS2: Cost sensitive. U+G+RBB parameterized.
      5. AS3: Variable length history.
  2. I will work now on the inclusion of visibility-based PRM, so I can run some experiments and make a comparison.