• Stars
    star
    172
  • Rank 219,973 (Top 5 %)
  • Language
    C++
  • License
    Apache License 2.0
  • Created over 2 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Baidu Apollo(v9.0.0) CyberRT Framework CMake Build

Apollo(v9.0.0) CyberRT

CyberRT

Target CI Status
Ubuntu18.04 x86-64 build v9.0.0
Ubuntu20.04 x86-64 build v9.0.0
Ubuntu22.04 x86-64 build v9.0.0
Ubuntu latest x86-64 build v9.0.0
Ubuntu18.04 arrch64 build v9.0.0
Ubuntu20.04 arrch64 build v9.0.0
Ubuntu22.04 arrch64 build v9.0.0

#1 Env

dependence

sudo apt update
sudo apt install -y libpoco-dev uuid-dev libncurses5-dev python3-dev python3-pip
python3 -m pip install protobuf==3.14.0

#2 Build

  1. clone
git clone --single-branch --branch v9.0.0 https://github.com/minhanghuang/CyberRT.git
cd CyberRT
  1. build third party

install

sudo ./scripts/install.sh

export path

source install/setup.bash
  1. build cyber
mkdir build && cd build
cmake ..
make -j$(nproc)

#3 Examples

  1. pub/sub

talker

source setup.bash
./cyber/examples/cyber_example_talker

listener

source setup.bash
./cyber/examples/cyber_example_listener
  1. component
source setup.bash
cyber_launch start share/examples/common_component_example/common.launch
./cyber/examples/common_component_example/channel_prediction_writer
./cyber/examples/common_component_example/channel_test_writer

#4 Tools

  1. channel

list

source setup.bash
cyber_channel list

# The number of channels is:  1
# /apollo/test

echo

source setup.bash
cyber_channel echo /apollo/test

example

more ...

Commands:
	cyber_channel list	list active channels
	cyber_channel info	print information about active channel
	cyber_channel echo	print messages to screen
	cyber_channel hz	display publishing rate of channel
	cyber_channel bw	display bandwidth used by channel
	cyber_channel type	print channel type
  1. node
Commands:
	cyber_node list 	List active nodes.
	cyber_node info 	Print node info.
  1. service
Commands:
	cyber_service list	list active services
	cyber_service info	print information about active service
  1. launch
cyber_launch start share/examples/common_component_example/common.launch
  1. monitor
cyber_monitor
  1. recorder
Commands:
  	cyber_recorder info	Show information of an exist record.
	cyber_recorder play	Play an exist record.
	cyber_recorder record	Record same topic.
	cyber_recorder split	Split an exist record.
	cyber_recorder recover	Recover an exist record.

#5 Packages

cmake -DCMAKE_INSTALL_PREFIX=/you/install/path ..
make -j$(nproc)
make package
sudo dpkg -i package/*.deb
# CMakeLists.txt
find_package(PkgConfig REQUIRED)
pkg_check_modules(Cyber REQUIRED cyber)
include_directories(
  ${Cyber_INCLUDE_DIRS}
)
link_directories(${Cyber_LIB_DIRS})
target_link_libraries(${TARGET_NAME}
  ${Cyber_LIBRARIES}
)