int main(int argc, char ** argv) {
rclcpp::init(argc, argv);
- rclcpp::spin(std::make_shared<A4wd3>());
+ auto node = std::make_shared<A4wd3>();
+ auto spin_thread = std::thread(
+ [&]() {
+ rclcpp::spin(node);
+ });
+ struct sched_param param;
+ param.sched_priority = 10;
+ if (pthread_setschedparam(spin_thread.native_handle(), SCHED_FIFO, ¶m) != 0) {
+ perror("Unable to set realtime priority");
+ }
+ spin_thread.join();
+
rclcpp::shutdown();
return 0;