OpenICV is the software framework of Open Intelligent Connected Vehicle.
OpenICV will initially address the following 2 use case:
- Autonomous driving of real vehicle
- Autonomous driving in simulation environment
sudo apt-get install libeigen3-dev
- opencv
sudo apt-get install libopencv-dev
- pcl
sudo apt-get install libpcl-dev
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
- 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
Please refer to STYLE.md
to check the code style.
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.
icvThreadedNode
: Every node has a threadicvQueuedNode
: All node are executed in a queueicvRemoteNode
: The node is in another process or another hosticvRosNode
: This node interact with ROS nodes