C++ Environment Setup (RobotDriver)

Confirm Development Target

RobotDriver is the C++ driver and example project provided in this repository. It communicates with the robot-side service over TCP, and is built/run on Linux.

Item Description
Supported model MyCobotPro450 only (other models are not adapted in the current version)
Supported OS Linux only; Windows / macOS are not yet adapted
Verified environment Ubuntu 20.04 LTS (64-bit)

If you need secondary development or integration on the C++ side, build from the repository root with CMake (see the next chapter for build details). If you require better communication real-time behavior, use SBC platforms such as Raspberry Pi or Jetson; do not use a virtual machine.


The following match the project root CMakeLists.txt and internal test docs. Use local command output as the final source of truth for patch versions.

Component Requirement / Typical version (Ubuntu 20.04 default repo)
gcc 9.x (commonly 9.3.0 or 9.4.0; check with gcc --version)
g++ 9.x (same major as gcc; check with g++ --version)
CMake ≥ 3.16 (commonly 3.16.3 in Focal; check with cmake --version)
Make GNU Make 4.x (installed by build-essential; check with make --version)
Language standard C++17 (CMAKE_CXX_STANDARD is fixed to 17 in this project)

Self-check in terminal:

gcc --version
g++ --version
cmake --version
make --version

Install Build Dependencies on Ubuntu 20.04

sudo apt update
sudo apt install -y build-essential cmake

Notes:

  • build-essential provides baseline build tools such as gcc, g++, and make.
  • cmake must satisfy ≥ 3.16 (consistent with cmake_minimum_required).

The project also uses pthread on Linux, and librt is already configured at link time (see root CMakeLists.txt). Normally no extra dev package is required for linking.


Real-Time Thread Notes (Optional)

If you use the build script with real-time scheduling (ROBOT_USE_RT_THREADS), running the generated program usually requires root or capabilities such as CAP_SYS_NICE / rtprio. For compile-only verification, use the non-real-time one-click script (see build_on_linux_no_realtime.sh in this repo).


← Previous | Next →

results matching ""

    No results matching ""