Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 31.03.2019
Сообщений: 1
1

Задача догнать зайца

31.03.2019, 13:29. Показов 2574. Ответов 1

Author24 — интернет-сервис помощи студентам
Здравствуйте уважаемые форумчане! У меня возникла проблема с машинным обучением на Python.
Ниже я предоставлю вам код. изменить нужно только последнюю часть.
Задача: мы управляем роботом, в данный момент он находиться в неподвижном состоянии. В определенный момент будут генерироваться цели(зайцы),они будут иметь круговую,но разную траекторию движения.Если робот приблизиться к зайцу на 0.01 м, тогда можно считать что заец пойман. Даа задача не из легких, рассчитан на людей знающее свое дело))
Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import numpy as np
import math
 
try:
    from objmodel import calcWLWR, observe_ROBOT_pars
except:
    print("unable to import from objmodel")
    exit()
print("--> good import from objmodel !")
 
 
# -------------------------------------------------------------
# здесь располагаются вспомогательные функции
# -------------------------------------------------------------
# Нахождение длины вектора r
def sqnorm(r):
    return np.sqrt(sum(r*r))
 
# корректировка угла fi: вычисление нормированного угла -pi < fi < pi
def normAngle(fi):
    while (abs(fi) > np.pi):
        fi -= 2 * np.pi * np.sign(fi)
    return fi
 
# оценка ошибки по углу: нормированного угла между углом fi и директивным направлением (rg-r)
def epsfi(R, Rg, fi):
    x, y = R[0], R[1]
    xg, yg = Rg[0], Rg[1]
    return normAngle(math.atan2((yg - y), (xg - x)) - fi)
 
# расчет ошибки по расположению робота: расстояние между текущим положением робота R и целевой точкой Rg
def epsR(R, Rg):
    return sqnorm(R-Rg)
    
# ...
 
# -------------------------------------------------------------
# --- Эту функцию программирует обучающийся!!! ----
# -------------------------------------------------------------
# функция расчета параметров управления траекторией движения робота 
# Вход: 
# ROBOT_state - трассировка состояний робота; последнее состояние rcur = ROBOT_state[-1]
# rcur - список координат робота в текущий момент времени - numpy array размером (4,)
#        содержит текущие координаты робота t,x,y,fi
# GOAL_state - трассировка состояний цели; последнее состояние rg= ROBOT_state[-1]
# rg - список координат цели в текущий момент времени - numpy array размером (4,)
#        содержит текущие координаты цели t,xg,yg,fig
# dt - шаг дискретизации времени
# Выход:
# пара значений параметров управленя wL, wR
def set_NEW_REGUL(ROBOT_state, GOAL_state, dt):
    Pars = observe_ROBOT_pars()
    ROBOT_L = Pars['ROBOT_L']
    ROBOT_R = Pars['ROBOT_R']
    # Wmin, Wmax - ограничения по угловой скорости колес робота
    Wmin = Pars['ROBOT_Wmin']
    Wmax = Pars['ROBOT_Wmax']
    Wmax = 10000000
 
    # считываем параметры цели (зайца)
    curGoalState = GOAL_state[-1] # текущее состояние цели
    xg = curGoalState[1]  # - координата по x текущего расположения цели
    yg = curGoalState[2]  # - координата по y текущего расположения цели
    fig = curGoalState[3] # - угол напраления движения цели
    # определяем текущее местоположение робота:
    rcur = ROBOT_state[-1]
    x = rcur[1]  # - координата по x текущего расположения робота
    y = rcur[2]  # - координата по y текущего расположения робота
    fi = rcur[3] # - угол напраления движения робота
    
    # задаем вычисление кортежа параметров
    # далее следует код обучающегося ....
    kPv=1
    kPw=1000
    r=rcur[1:3]
    rg=curGoalState[1:3]
    newFi = normAngle(fi)
    ef=epsfi(r,rg,fi)
    er=epsR(r,rg)
    vC=kPv*er
    wC=kPw*ef
 
    return calcWLWR(vC,wC)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2019, 13:29
Ответы с готовыми решениями:

Нарисовать зайца, ввести Х и У и сместить зайца по вектору этому :)
Нарисовать зайца, ввести Х и У и сместить зайца по вектору этому :) Вот такое задание:...

Два зайца поспорили,кто из них больше съест морковок. Найти рекорд первого зайца
2.Два зайца поспорили,кто из них больше съест морковок за один &quot;присест.Напечатайте&quot; рекорд первого...

Задача про зайца
В небольшой посадке живет заяц. Выскочив из норы и бегая по снегу, он оставил следы. Определить где...

Задача про Мартовского Зайца, Болванщика и Соню
Добрый вечер! Помогите, пожалуйста, решить задачу на прологе. — Когда я говорю «не в своем...

1
Эксперт Python
5418 / 3842 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
31.03.2019, 14:33 2
Цитата Сообщение от Ayart Посмотреть сообщение
Даа задача не из легких
А с задачей вставить нормальный отформатированный код - тоже никак?
0
31.03.2019, 14:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2019, 14:33
Помогаю со студенческими работами здесь

Догнать standby
Здравствуйте, изучаю oracle и стало интересно возможно ли сделать следующее, в гугле нашел только...

мелочь..но не догнать как...
нужно вывести количество троек каждого ученика,а не всех вместе,помогите

Как мне догнать C++
Хочу писать код также быстро как и на с++ что делать помогите советами

Файлы (не могу догнать)
К примеру у меня есть прога Var f: File of String; i,j,n: Byte; s: String; BEGIN...

не могу догнать с этим lamp
поставил себе lamp (php + apache + mysql). Вместе с ним встал и phpmyadmin. Теперь не могу попасть...

Kак сделать? Не могу догнать .
Здрвствуйте уважаемые программисты! при загрузке страницы есть один select, при выборе option...

не могу догнать одну вещь
Задача: На вход программы подаются сведения о результатах соревнований по школьному многоборью....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru