wangyingjie 49173063ca 增加G29ros2的驱动 初步测试完成 2 minggu lalu
..
.vscode 49173063ca 增加G29ros2的驱动 初步测试完成 2 minggu lalu
src 49173063ca 增加G29ros2的驱动 初步测试完成 2 minggu lalu
Readme.md 49173063ca 增加G29ros2的驱动 初步测试完成 2 minggu lalu

Readme.md

罗技G29数据发布

该项目是读取罗技G29控制器的数据,并发布为ROS2话题。

编译和运行方法:

cd g29_ros2_feedback_bag
colcon build
source install/setup.bash
ros2 run g29_ros2_feedback g29_ros2_feedback_node 

数据发布话题为/g29_feedback

示例如下

heartbeat: 77
axis0: -332
axis1: 32767
axis2: 32767
axis3: 32767
axis4: 0
axis5: 0
button0: false
button1: false
button2: false
button3: false
button4: false
button5: false
button6: false
button7: false
button8: false
button9: false
button10: false
button11: false
button12: false
button13: false
button14: true
button15: false
button16: false
button17: false
button18: false
button19: false
button20: false
button21: false
button22: false
button23: false
button24: false

数据会一直发布,其中heartbeat为心跳包,每秒发布一次会增加,在0~100之间循环

方向盘: axis0 -32767 - 32767 (逆时针为负,逆时针终值为-32767,顺时针终值为32767) 离合: axis1 -32767 - 32767 (踩到底为-32767,正常抬起为32767) 油门: axis2 -32767 - 32767 (踩到底为-32767,正常抬起为32767) 刹车: axis3 -32767 - 32767 (踩到底为-32767,正常抬起为32767) 方向键左: axis4 -32767 / 0 方向键右: axis4 32767 / 0 方向键上: axis5 -32767 / 0 方向键下: axis5 32767 / 0

button0: X 键 0/1 button1: 正方形 键 0/1 button2: O 键 0/1 button3: 三角 键 0/1 button4: 右拨片 0/1 button5: 左拨片 0/1 button6: R2 键 0/1 button7: L2 键 0/1 button8: 三条竖线的发光键 0/1 button9: 三条横线的键 0/1 button10: R3 键 0/1 button11: L3 键 0/1 button12: 一档 0/1 button13: 二挡 0/1 button14: 三挡 0/1 button15: 四挡 0/1 button16: 五档 0/1 button17: 六档 0/1 button18: 按下去倒挡 0/1 button19: + 键 0/1 button20: - 键 0/1 button21: 红色齿轮顺时针 0/1 button22: 红色齿轮逆时针 0/1 button23: 红色齿轮中心的箭头 0/1 button24: 帆船标志键 0/1

button_mapping = {const std::vector &} {length 25, capacity 32} [0] = {int} 288 [0x120] [1] = {int} 289 [0x121] [2] = {int} 290 [0x122] [3] = {int} 291 [0x123] [4] = {int} 292 [0x124] [5] = {int} 293 [0x125] [6] = {int} 294 [0x126] [7] = {int} 295 [0x127] [8] = {int} 296 [0x128] [9] = {int} 297 [0x129] [10] = {int} 298 [0x12a] [11] = {int} 299 [0x12b] [12] = {int} 300 [0x12c] [13] = {int} 301 [0x12d] [14] = {int} 302 [0x12e] [15] = {int} 303 [0x12f] [16] = {int} 704 [0x2c0] [17] = {int} 705 [0x2c1] [18] = {int} 706 [0x2c2] [19] = {int} 707 [0x2c3] [20] = {int} 708 [0x2c4] [21] = {int} 709 [0x2c5] [22] = {int} 710 [0x2c6] [23] = {int} 711 [0x2c7] [24] = {int} 712 [0x2c8]

axis_mapping = {const std::vector &} {length 6, capacity 8} [0] = {int} 0 [0x0] [1] = {int} 1 [0x1] [2] = {int} 2 [0x2] [3] = {int} 5 [0x5] [4] = {int} 16 [0x10] [5] = {int} 17 [0x11]