Skip to content

Tsinghua-OpenICV/OpenICV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenICV

OpenICV is the software framework of Open Intelligent Connected Vehicle.

Use Cases

OpenICV will initially address the following 2 use case:

  1. Autonomous driving of real vehicle
  2. Autonomous driving in simulation environment

System Requirement

  1. cmake >=3.15
  2. msgpack-c ==0.5.7
  3. boost>=1.66.0
  4. eigen
sudo apt-get install libeigen3-dev
  1. opencv
sudo apt-get install libopencv-dev
  1. pcl
sudo apt-get install libpcl-dev

Installation

Installation of OpenICV is based on cmake.

git clone https://github.com/Tsinghua-OpenICV/OpenICV.git
cd OpenICV
mkdir build
cd build
cmake .
make
sudo make install
cd ..
sudo chomod -R 777 ICVOS

Getting Started

  • Basic publisher and subscriber demo:

Move OpenICV/Branch/Examples/Basic_Publisher&Subscriber.json to /OpenICV/ICVOS/bin and execute it with icvStarter

cd Branch/Examples
cp Basic_Publisher\&Subscriber.json ../../ICVOS/bin 
./icvStarter Basic_Publisher\&Subscriber.json

Contributing

Please refer to STYLE.md to check the code style.

Configuration Files

Json Example:

{
    
    "<Node Name1>": {
        "function": {"name":"<Function name>","Parameter_name1":"Parameter_value1","Parameter_name2":"Parameter_value2"}
       
    },
    "<Node Name2>": {
        "function": {"name":"<Function name>","Parameter_name":"Parameter_value"}
       
    }

}

important

  • Only one function in each node is allowed.

Node Types

  • icvThreadedNode: Every node has a thread
  • icvQueuedNode: All node are executed in a queue
  • icvRemoteNode: The node is in another process or another host
  • icvRosNode: This node interact with ROS nodes