Ros2 скромный открытый манипулятор телеоп импортLinux

Ответить
Гость
 Ros2 скромный открытый манипулятор телеоп импорт

Сообщение Гость »


Привет, я использую Docker-контейнер для разработки в среде скромного ros2.
Пока я конвертировал открытый манипулятор выбора и размещения в ros2 скромный в контейнере, я написал тот же код из существующего кинетического ros1.
Это вот эта часть.

Код: Выделить всё

bool OMExample::kbhit()
{
termios term;
tcgetattr(0, &term);

termios term2 = term;
term2.c_lflag &= ~ICANON;
tcsetattr(0, TCSANOW, &term2);

int byteswaiting;
ioctl(0, FIONREAD, &byteswaiting);
tcsetattr(0, TCSANOW, &term);
printf("byteswaiting: %d\n", byteswaiting);
return byteswaiting > 0;
}
Эта функция возвращает логическое значение, проверяя, была ли нажата клавиша на исходной клавиатуре, но она не отвечает, даже если я продолжаю нажимать клавишу. Кроме того, значение «byteswaiting» в середине printf также отображается как 0.
На всякий случай я оставлю команду при запуске Docker-контейнера
< бр />

Код: Выделить всё

sudo docker run --privileged -v /home/irasc-eunsung/humble_openmanipulator_4dof:/root/home -v /dev:/dev -it --network host --ipc host --pid host --volume /tmp/.X11-unix:/tmp/.X11-unix:ro -e DISPLAY=unix$DISPLAY --name humble_openmanipulator_4dof --gpus all irasc/ros:humble-turtlebot3-desktop

Код: Выделить всё

bool OMExample::kbhit()
{
pollfd fds;
fds.fd = STDIN_FILENO; // Standard input
fds.events = POLLIN;   // There is data to read

// Check if input is available without waiting
bool key_was_pressed = poll(&fds, 1, 0) > 0;

// Print out the bool value
std::cout 

Источник: [url]https://stackoverflow.com/questions/78155575/ros2-humble-open-manipulator-teleop-importing[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»