The respository contains setup instructions and a simple C++ and RAPID program for testing EGM communication between a PC and ABB industrial robot.
egm_hello_world
: simple console program that connects and reads information off an ABB robot.egm_template
: RAPID program that connects and runsEGMJoint
moves.egm_server
: console program for multi-robot EGM.
- Windows 10/11
- RobotStudio 2024
- RobotWare 7
These setup instructions explain how to build and prepare a C++ application that uses ABB's real-time control interface Externally Guided Motion [3124-1].
Skip this and double-click
egm_hello_world\egm_hello_world.sln
if you have Microsoft Visual Studio already installed.
- Download Microsoft Visual Studio (Community)
- When prompted, choose the C++ desktop development workload, which includes essential features like the MSVC compiler and C++ tools.
- Download and install Git from Git SCM.
- Add Git to your PATH during installation.
Install Microsoft's package manager vcpkg
:
- Clone
vcpkg
in yourC:
drive:cd C:\ git clone https://github.com/microsoft/vcpkg
- Run the bootstrap script:
cd vcpkg .\bootstrap-vcpkg.bat
- Integrate vcpkg system wide:
.\vcpkg integrate install
- Use
vcpkg
to install Google Protobuf:.\vcpkg install protobuf:x64-windows
- Create a new C++ Desktop Application.
- Configure the project's Include and Library Directories:
- Right-click on the project in the Solution Explorer and select Properties.
- Navigate to VC++ Directories.
- Set Include Directories and Library Directories to include paths from your vcpkg installation, typically:
[vcpkg root]\installed\x64-windows\include [vcpkg root]\installed\x64-windows\lib
- In the Linker settings, under Input, add the necessary lib files (e.g.,
libprotobuf.lib
).
The correct egm.proto
for your RobotWare OS file can be found through ABB RobotStudio.
- Download & Install RobotStudio.
- When prompted, download the correct controller and RobotWare for your robot (e.g., Omnicore & RobotWare 7.12.0).
- Find the
egm.proto
through the RobotStudio Add-Ins tab: - Copy
egm.proto
to an easier location for protobuf:- Right-click File Explore and select Open in Terminal.
cp egm.proto C:\vcpkg\packages\protobuf_x64-windows\tools\protobuf
- Use protobuf's
protoc
tool to build the C++ source and header files:cd C:\vcpkg\packages\protobuf_x64-windows\tools\protobuf protoc --cpp_out=. egm.proto
- This creates a
.pb.h
and.pb.cc
files in that same location that you can copy & paste into your application folder.
The included RAPID program is configured to work with the default EGM settings on a virtual controller. You will need to update these settings if you want to fine-tune your EGM parameters or work on a real robot.
Motion | Communication |
---|---|