Skip to content
This repository has been archived by the owner on Apr 8, 2020. It is now read-only.

Getting Started with Open DaVINCI

Ashfaq edited this page Mar 1, 2015 · 1 revision
  1. Download and install Ubuntu 14.04 LTS and install its latest package updates:
    
       $sudo apt-get update
       $sudo apt-get upgrade
       $sudo apt-get dist-upgrade
      
  2. Install development packages for OpenDaVINCI & MSV skeleton sources:
    
       $sudo apt-get install build-essential libcv-dev libhighgui-dev cmake git
       $sudo apt-get install freeglut3 libqt4-dev libqwt5-qt4-dev libqwt5-qt4 libqt4-opengl-dev freeglut3-dev qt4-dev-tools libboost-dev libusb-dev libopencv-photo-dev libopencv-contrib-dev 
       
  3. Install development packages for cross compiling OpenDaVINCI & MSV skeleton sources:
    
       $sudo apt-get install g++-4.7-arm-linux-gnueabi
       $sudo apt-get install g++-4.7-arm-linux-gnueabihf
       
  4. Fix missing symbolic links to the cross-compiler:
    
       $sudo ln -sf /opt/PandaBoard-SD/usr/lib/arm-linux-gnueabihf /usr/lib
       $sudo ln -sf /opt/PandaBoard-SD/lib/arm-linux-gnueabihf /lib
       
  5. Install development packages for cross compiling STM32F4 ChibiOS & DiscoveryBoard2 sources:
    
       $sudo apt-get install gcc-arm-none-eabi
       
  6. Clean up installation:
    
       $sudo apt-get clean
       $sudo apt-get autoremove
      
  7. Create the target directory /opt/msv and make it writeable:
    
       $sudo mkdir /opt/msv
       $sudo chown YOUR_USER:YOUR_GROUP /opt/msv
      
    Note: YOUR_USER:YOUR_GROUP are the same as your Ubuntu user-name.
  8. Clone the MSV git repository:
    
       $git clone https://github.com/se-research/CaroloCup.git
      
  9. Change your source folder and create a build directory:
    
       $cd 2015-CaroloCup/sources/OpenDaVINCI-msv && mkdir build
      
  10. Use cmake to create the build scripts for your build folder:
    
       $cd build && cmake -D CMAKE_INSTALL_PREFIX=/opt/msv ..
      

    Hereby, /opt/msv is the final install folder. By using cmake, you can also generate the necessary project description files for your favorite IDE (like Eclipse CDT, Visual Studio, ...).

  11. Build the OpenDaVINCI sources:
    
       $make all
      
  12. Run the tests for OpenDaVINCI (Attention! That takes a couple of minutes!):
    
       $make test
      
  13. Install the binaries, libraries, and header files to /opt/msv/group-1:
    
       $make install
      
  14. Open five new shells and change to /opt/msv/bin in each shell.
    • Shell-1: Run Supercomponent
      
            $./supercomponent --cid=111
           
      You should get an update like this (your IP addresses may differ and the transferred values are random values in the test program):


      No runtime frequency set. Assuming a frequency of 1 Hz.
      Creating multicast UDP receiver at 225.0.0.111:19751.
      (supercomponent) parsing configuration file...
      (supercomponent) server information: IP: 0.0.0.0, Port: 19866
      (supercomponent) creating discoverer server...
      Creating multicast UDP receiver at 225.0.0.111:19750.
      (supercomponent) creating connection server...
      Creating multicast UDP receiver at 225.0.0.111:12175.
      (DMCP-DiscovererServer) responding to DMCP_DISCOVER

       </em></p>
      </li>
      <li>Shell-2: Run  Vehicle
       <pre><code>
         $./vehicle --cid=111 --freq=10
       </code></pre>
      

      You should get an update like this:


      PID y = 0
      VehicleData: 'Position:(0; 0; 0), heading: 1.5708, abs: 0, rel: 0, velocity: (-0; 0; 0), speed: 0, V_log: 0, V_batt: 0, temp: 19.5'
      VehicleControl: 'Speed: 0, acceleration: 0, steering wheel angle: 0, brake lights: 0, flashingLightsLeft: 0, flashingLightsRight: 0'

    • Shell-3: Run Cockpit
      
      $./cockpit --cid=111
      
      A window opens, in the Plug+in you have to select BirdsEyeMap.
      </li>
      <li>Shell-4: Run irus
       <pre><code>
        $./irus --cid=111 --freq=10
       </code></pre>
      

      You should get an update like this (your IP addresses may differ and the transferred values are random values in the test program):


      Creating multicast UDP receiver at 225.0.0.111:12175.
      Creating multicast UDP receiver at 225.0.0.111:19751.
      (ClientModule) discovering supercomponent...
      (ClientModule) supercomponent found at IP: 192.168.43.227, Port: 19866
      (ClientModule) connecting to supercomponent...
      (DMCP-ConnectionClient) sending configuration request...IP: 192.168.43.227, Port: 19866
      (DMCP-Client) Received Configuration
      global.car=Scenarios/Models/FordEscape.objx
      global.scenario=file://Scenarios/NoObstacles_NoStopLines.scnx
      global.showgrid=0
      irus.numberofsensors=1
      irus.sensor0.anglefov=20
      irus.sensor0.clampdistance=39
      irus.sensor0.distancefov=40
      irus.sensor0.id=0
      irus.sensor0.name=Ultrasonic_FrontRight
      irus.sensor0.rotz=-90
      irus.sensor0.showfov=1
      irus.sensor0.translation=(1.0;-1.0;0.0)
      irus.showpolygons=1

        <br>(ClientModule) connecting to supercomponent...done</br>
        <br>Creating new SCNXArchive from file://Scenarios/NoObstacles_NoStopLines.scnx</br>
        <br>Found polygon: Polygon contains 4 vertices: </br>
        <br>(3.6; 25.1; 0), (7.6; 25.1; 0), (7.7; 32.2; 0), (3.6; 32.2; 0)</br>
        <br>Found polygon: Polygon contains 4 vertices: </br>
        <br>(4.8; 16; 0), (8.8; 16; 0), (8.9; 23.1; 0), (4.8; 23.1; 0)</br>
        <br>Found polygon: Polygon contains 4 vertices: </br>
        <br>(3.9; 5.2; 0), (7.9; 5.2; 0), (8; 12.3; 0), (3.9; 12.3; 0)</br>
        <br>Found polygon: Polygon contains 4 vertices: </br>
        <br>(4; 48.1; 0), (8; 48.1; 0), (8.1; 55.2; 0), (4; 55.2; 0)</br>
        <br>Registered point sensor Ultrasonic_FrontRight(0): (1; -1; 0), rot: -90, angle: 20, range: 40, </br>
        <br>clampDistance: 39, showFOV: 1.</br>
        <br>Ultrasonic_FrontRight: -1</br>
       </em></p>
      </li>
      <li>Shell-5: Run 
       <pre><code>
        $./2013/DIT-168/project-template/sidewaysparker --cid=111 --freq=10
       </code></pre>
      </li>
      
Clone this wiki locally