#c #nao-robot
#c #nao-робот
Вопрос:
У меня есть программа на C , которая взаимодействует с Naoqi DCM, отправляя команды и считывая информацию о состоянии, но я не могу найти способ напрямую считывать настройку жесткости соединения.
У Naoqi есть следующие ALMemory
ключи для конкретного сустава, шаг левого плеча в примере ниже.
Device/SubDeviceList/LShoulderPitch/Position/Actuator/Value
Device/SubDeviceList/LShoulderPitch/Position/Sensor/Value
Device/SubDeviceList/LShoulderPitch/ElectricCurrent/Sensor/Value
Device/SubDeviceList/LShoulderPitch/Temperature/Sensor/Value
Device/SubDeviceList/LShoulderPitch/Hardness/Actuator/Value
Device/SubDeviceList/LShoulderPitch/Temperature/Sensor/Status
Хотя я могу записывать данные в вышеуказанные исполнительные механизмы и считывать данные с датчиков, мне нужно определить настройку жесткости соединения, однако Hardness является приводом только для записи и не может быть прочитан.
Я просмотрел значения, которые ElectricCurrent
возвращает датчик, и определил, что он сам по себе не дает желаемого результата. Даже при максимальной жесткости, если рука находится в целевом положении и нет смещающего крутящего момента, ElectricCurrent
сообщает о нулевом токе для сустава. Таким образом, вы не можете предположить, что жесткость отключена, когда нет тока.
Кто-нибудь знает, как определить настройку жесткости соединения без использования motionProxy.getSummary()
?
Комментарии:
1. При запуске установите значение по умолчанию, а затем отслеживайте установленные вами значения?
2. Я уже это делаю. Однако, если процесс перезагружен или модуль walk, который записывает непосредственно в DCM во время внесения настроек, состояние становится неясным. Мне нужно иметь возможность определить текущее состояние робота, просто прочитав некоторые значения.
3. Я не согласен с вашим утверждением: «Device / SubDeviceList / LShoulderPitch / Hardness / Actuator / Value» предназначен только для записи. Я совершенно уверен, что вы можете это прочитать.
Ответ №1:
Вы можете использовать ALMotionProxy.getStiffnesses(имена соединений).