C++ denetleyicileri
Python’dan farklı olarak C ve C++ denetleyicileri çalıştırılmadan önce derlenmelidir. Bu belgelerdeki her örneğin, Python sürümüyle aynı programı içeren bir C/C++ sekmesi vardır ve hepsi başlangıç robotunda derlenip çalıştırıldı.
İlk program
Bölüm başlığı “İlk program”#include <cmath>#include <webots/Robot.hpp>#include <webots/Motor.hpp>
using namespace webots;
int main() { Robot *robot = new Robot(); int timeStep = (int)robot->getBasicTimeStep();
Motor *left = robot->getMotor("left wheel motor"); Motor *right = robot->getMotor("right wheel motor"); left->setPosition(INFINITY); right->setPosition(INFINITY); left->setVelocity(3.0); right->setVelocity(3.0);
while (robot->step(timeStep) != -1) { }
delete robot; return 0;}Derleme
Bölüm başlığı “Derleme”Her sistemde en kolay yol, Webots’un yerleşik düzenleyicisini kullanmaktır: Makefile dosyasıyla birlikte bir C++ denetleyicisi oluşturmak için Wizards > New Robot Controller seçeneğini kullan ve Build düğmesine bas. Webots kılavuzuna bak.
Terminalden de derleyebilirsin. Bu komut macOS’ta test edildi:
WEBOTS=/Applications/Webots.app/Contentsclang++ -std=c++17 -I$WEBOTS/include/controller/cpp -L$WEBOTS/lib/controller \ -lController -lCppController -Wl,-rpath,$WEBOTS/lib/controller \ my_controller.cpp -o my_controllerLinux’ta aynı seçenekler WEBOTS=/usr/local/webots ile çalışır. OpenCV kullanıyorsan onun seçeneklerini de ekle. OpenCV 4 kuruluysa (örneğin macOS’ta Homebrew ile) bu seçenekleri $(pkg-config --cflags --libs opencv4) verir. Örnekler OpenCV 4.13 ile test edildi.
Çalıştırma
Bölüm başlığı “Çalıştırma”- Windows’ta,
.exedosyasını kontrol penceresinin soldaki LOAD düğmesiyle yükle. - macOS ve Linux’ta, derlenmiş programların dosya uzantısı yoktur ve LOAD düğmesi onları seçemez. Bunun yerine, bir yarışmada yapacağın gibi, onları Remote Controller ile çalıştır.
