Неисправность датчиков роботаPython

Программы на Python
Ответить
Anonymous
 Неисправность датчиков робота

Сообщение Anonymous »

Я пытаюсь создать простого робота, следующего за стеной, на симуляторе веб-роботов, но значения датчиков странные. Код ниже предназначен только для того, чтобы заставить робота двигаться вперед и печатать значения датчиков:

Код: Выделить всё

from controller import Robot

robot = Robot()
MAX_SPEED = 6.4
timestep = 32

leftBackMotor = robot.getDevice('back left wheel')
rightBackMotor = robot.getDevice('back right wheel')

leftFrontMotor = robot.getDevice('front left wheel')
rightFrontMotor = robot.getDevice('front right wheel')

motors = [leftBackMotor, rightBackMotor, leftFrontMotor, rightFrontMotor]

for motor in motors:
motor.setPosition(float('inf'))
motor.setVelocity(0.0)

dist_sensor = []
for i in range(16):
sensor_name = "so" + str(i)
dist_sensor.append(robot.getDevice(sensor_name))
dist_sensor[i].enable(timestep)

while robot.step(timestep) != -1:
for i in range(16):
print(f'Sensor: {i} Valor: {dist_sensor[i].getValue()}')

leftBackMotor.setVelocity(MAX_SPEED)
leftFrontMotor.setVelocity(MAX_SPEED)
rightBackMotor.setVelocity(MAX_SPEED)
rightFrontMotor.setVelocity(MAX_SPEED)
Я использую робота-пионера 3at с 16 датчиками (6 из них — фронтальные датчики), но только два из них возвращают значения, отличные от нуля, даже остальные фронтальные датчики, которые ожидаются для обнаружения стены. Когда датчик касается объекта, лучи становятся зелеными, но даже если передние лучи становятся зелеными, только у двух датчиков значение больше 0. Что это может быть?

Подробнее здесь: https://stackoverflow.com/questions/793 ... alfunction
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»