본 포스터는 logitech의 g29 스티어링 휠 세트를 Ubuntu와 ROS에 연결하는 작업을 설명한다.
- pc 환경 : ROS1 Melodic, Ubuntu 18.04
- CPU : Intel® Core™ i9-10900 CPU
- GPU : NVIDIA GeForce GTX 1660 Ti
로지텍 휠, 페달 세트가 컴퓨터에 연결되어 있다고 가정하고 진행한다.
먼저 우분투에 g29가 잡혀 있는지 확인한다.
명령창에 다음을 입력하면
$ lsusb
와 같은 결과가 나오는데 필자의 컴퓨터에는 Bus 001에 Logitech이 잡혀 있는것을 확인했다.
그리고 다음을 입력하면,
$ cat /proc/bus/input/devices
잘 찾아보면 g29가 잡혀 있는 것을 확인할 수 있다.
여기서 Handlers=event4 js1을 기억하자.
이제 스티어링과 페달의 값이 잘 들어가고 있는지 확인하기 위해 아래 두가지 선택지 중 한가지를 골라 확인하면 된다.(둘 다 확인해도 상관없다) 이 때, 위에서 찾은 event, js 값을 입력하자. 필자는 js1, event15로 나왔다.
$ jstest /dev/input/js1
$ evtest /dev/input/event15
스티어링과 페달을 눌렀을 때, 값이 변하면 정상적으로 작동이 되고 있는 것이다.
참고 : https://wiki.archlinux.org/title/Logitech_Racing_Wheel
스티어링 휠에 피드백을 넣어주기 위해
$ mkdir -p caktin_ws/src
$ cd /catkin_ws/src/
$ git clone http://github.com/kuriatsu/ros-g29-force-feedback.git -b ros1
$ cd ..
$ catkin_make
를 입력하고,
$ source devel/setup.bash
$ roscore
$ roslaunch g29_force_feedback g29_feedback.launch
이렇게 되면, 스티어링 휠에 토크가 걸려 피드백이 느껴질 것이다.
참고 : http://github.com/kuriatsu/ros-g29-force-feedback
G29의 데이터 형태를 보기 위해, ROS에서 주는 Joystick 라이브러리를 이용하자.
$ sudo apt-get install ros-indigo-joy
$ sudo jstest /dev/input/js1
$ rosrun joy joy_node
그리고
$ rostopic echo joy
를 하면 다음과 같이 각 버튼과 축에 대한 데이터 값이 나오게 된다.
참고 : http://wiki.ros.org/joy/Tutorials/ConfiguringALinuxJoystick