-
Notifications
You must be signed in to change notification settings - Fork 3
Getting Started with Open DaVINCI
- 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
- 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
- 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
- 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
- Install development packages for cross compiling STM32F4 ChibiOS & DiscoveryBoard2 sources:
$sudo apt-get install gcc-arm-none-eabi
- Clean up installation:
$sudo apt-get clean $sudo apt-get autoremove
- Create the target directory /opt/msv and make it writeable:
Note: YOUR_USER:YOUR_GROUP are the same as your Ubuntu user-name.
$sudo mkdir /opt/msv $sudo chown YOUR_USER:YOUR_GROUP /opt/msv
- Clone the MSV git repository:
$git clone https://github.com/se-research/CaroloCup.git
- Change your source folder and create a build directory:
$cd 2015-CaroloCup/sources/OpenDaVINCI-msv && mkdir build
- 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, ...).
- Build the OpenDaVINCI sources:
$make all
- Run the tests for OpenDaVINCI (Attention! That takes a couple of minutes!):
$make test
- Install the binaries, libraries, and header files to /opt/msv/group-1:
$make install
- Open five new shells and change to /opt/msv/bin in each shell.
- Shell-1: Run Supercomponent
You should get an update like this (your IP addresses may differ and the transferred values are random values in the test program):
$./supercomponent --cid=111
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
A window opens, in the Plug+in you have to select BirdsEyeMap.
$./cockpit --cid=111
</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>
- Shell-1: Run Supercomponent