wangyingjie 49173063ca 增加G29ros2的驱动 初步测试完成 před 11 měsíci
..
.vscode 49173063ca 增加G29ros2的驱动 初步测试完成 před 11 měsíci
src 49173063ca 增加G29ros2的驱动 初步测试完成 před 11 měsíci
Readme.md 49173063ca 增加G29ros2的驱动 初步测试完成 před 11 měsíci

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]