В этом видео я покажу как создать простой
динамический объект и как им управлять через скрипт.
Функция инициализации function sysCall_init()
в этой функции я получаю объект соединения или мотор который отвечает за вращение
Получить объект sim.getObjectHandle(‘Revolute_joint’)
Сохранить объект в переменную joint
Получается строчка
joint=sim.getObjectHandle(‘Revolute_joint’)
Получить текущее время моделирования в секундах
sim.getSimulationTime()
сохраняю текущее время в переменную
last_time=sim.getSimulationTime()
Против часовой или по часовой стрелке
ccw=false
Полностью первая функция
function sysCall_init()
joint=sim.getObjectHandle(‘Revolute_joint’)
last_time=sim.getSimulationTime()
ccw=false
end
Функция временного промежутка
function sysCall_actuation()
if ((sim.getSimulationTime()-last_time) 5) then
time_elapsed=true
last_time=sim.getSimulationTime()
esle
time_alapsed=false
end
if (time_elapsed and ccw==true) then)
ccw=fasle
sim.setJointTargetPosition(joint,90*math,pi/180)
elseif (time_elapsed and ccw==false) then
ccw=true
sim.setJointTargetPosition(joint,-90*math.pi/180)
end
end
function sysCall_sensing()
end
function sysCall_cleanup()
end
Логика программы получаем текущее время и через каждые пять секунд
меняем значение переменной с истиной на ложную
тем самым меняем направление вращение нашего объекта