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.
Recommended Toolchain Versions (Ubuntu 20.04)
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++, andmake. - 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).