Я следую инструкциям по использованию ROS на ослиной машине. Ссылка здесь: https://www.youtube.com/watch?v=iLiI_IRedhI
Я пытаюсь управлять автомобилем с помощью интерфейса React, отправляя сообщения ROS с roslib js на raspberry pi, работающий на сервере rosbridge. Вот как выглядит сообщение, когда я помещаю ввод в командную строку:
pi@raspberrypi:~ $ rostopic pub /servos_absolute i2cpwm_board/ServoArray "servos:
- servo: 2
value: 363.0"
Вот как я форматирую свое сообщение roslib в моем приложении реагирования:
let servoCtrl = new ROSLIB.Topic({
ros: ros,
name: '/servos_absolute',
messageType: 'i2cpwm_board/ServoArray'
});
let twist = new ROSLIB.Message({
servos : [
{servo: 2},
{value: 363}
]
});
Вот что я получаю от узла i2cpwm_board при отправке сообщений через rosbridge:
pi@raspberrypi:~ $ rosrun i2cpwm_board i2cpwm_board
[ INFO] [1579633799.820097186]: I2C bus opened on /dev/i2c-1
[ INFO] [1579633799.835615171]: Setting PWM frequency to 50 Hz
[ERROR] [1579634539.326237522]: Invalid servo number 0 :: servo numbers must be between 1 and 62
Я запускаю мелодию ROS c на своем ноутбуке и на моем Raspberry Pi