trajectories.py

生成路径

def make_trajectory(shape, starting_state_NN, x_index, y_index, which_agent):

curr_x = np.copy(starting_state_NN[x_index])
    curr_y = np.copy(starting_state_NN[y_index])

my_list = []

if(shape=="left_turn"):
        if(which_agent==1):
            my_list.append(np.array([curr_x, curr_y]))
            my_list.append(np.array([curr_x+2, curr_y]))
            my_list.append(np.array([curr_x+4, curr_y]))
            my_list.append(np.array([curr_x+6, curr_y]))
            my_list.append(np.array([curr_x+6, curr_y+2]))
            my_list.append(np.array([curr_x+6, curr_y+3]))
            my_list.append(np.array([curr_x+6, curr_y+4]))
            my_list.append(np.array([curr_x+6, curr_y+5]))
            my_list.append(np.array([curr_x+6, curr_y+6]))
            my_list.append(np.array([curr_x+6, curr_y+7]))
        else:
            my_list.append(np.array([curr_x, curr_y]))
            my_list.append(np.array([curr_x+1, curr_y]))
            my_list.append(np.array([curr_x+2, curr_y]))
            my_list.append(np.array([curr_x+3, curr_y]))
            my_list.append(np.array([curr_x+4, curr_y+1]))
            my_list.append(np.array([curr_x+4, curr_y+2]))
            my_list.append(np.array([curr_x+4, curr_y+3]))
            my_list.append(np.array([curr_x+4, curr_y+4]))

if(shape=="right_turn"):
        if(which_agent==1):
            my_list.append(np.array([curr_x, curr_y]))
            my_list.append(np.array([curr_x, curr_y+1]))
            my_list.append(np.array([curr_x, curr_y+2]))
            my_list.append(np.array([curr_x, curr_y+3]))
            my_list.append(np.array([curr_x, curr_y+4]))
            my_list.append(np.array([curr_x+2, curr_y+4]))
            my_list.append(np.array([curr_x+3, curr_y+4]))
            my_list.append(np.array([curr_x+4, curr_y+4]))
            my_list.append(np.array([curr_x+6, curr_y+4]))
            my_list.append(np.array([curr_x+7, curr_y+4]))
        else:
            my_list.append(np.array([curr_x, curr_y]))
            my_list.append(np.array([curr_x, curr_y+1]))
            my_list.append(np.array([curr_x, curr_y+2]))
            my_list.append(np.array([curr_x+2, curr_y+3]))
            my_list.append(np.array([curr_x+3, curr_y+3]))
            my_list.append(np.array([curr_x+4, curr_y+3]))
            my_list.append(np.array([curr_x+5, curr_y+3]))
            my_list.append(np.array([curr_x+6, curr_y+3]))
            my_list.append(np.array([curr_x+7, curr_y+3]))
            my_list.append(np.array([curr_x+8, curr_y+3]))

if(shape=="u_turn"):
        my_list.append(np.array([curr_x, curr_y]))
        my_list.append(np.array([curr_x+2, curr_y]))
        my_list.append(np.array([curr_x+4, curr_y]))
        my_list.append(np.array([curr_x+4, curr_y+1]))
        my_list.append(np.array([curr_x+4, curr_y+2]))
        my_list.append(np.array([curr_x+2, curr_y+2]))
        my_list.append(np.array([curr_x+1, curr_y+2]))
        my_list.append(np.array([curr_x, curr_y+2]))

if(shape=="straight"):
        i=0
        num_pts = 40
        while(i < num_pts):
            my_list.append(np.array([curr_x+i, curr_y]))
            i+=0.7

if(shape=="backward"):
        i=0
        num_pts = 40
        while(i < num_pts):
            my_list.append(np.array([curr_x-i, curr_y]))
            i+=0.5

if(shape=="forward_backward"):
        my_list.append(np.array([curr_x, curr_y]))
        my_list.append(np.array([curr_x+1, curr_y]))
        my_list.append(np.array([curr_x+2, curr_y]))
        my_list.append(np.array([curr_x+3, curr_y]))
        my_list.append(np.array([curr_x+2, curr_y]))
        my_list.append(np.array([curr_x+1, curr_y]))
        my_list.append(np.array([curr_x+0, curr_y]))
        my_list.append(np.array([curr_x-1, curr_y]))
        my_list.append(np.array([curr_x-2, curr_y]))

if(shape=="circle"):
        num_pts = 10
        radius=2.0
        speed=-np.pi/8.0
        for i in range(num_pts):
            curr_x= radius*np.cos(speed*i)-radius
            curr_y= radius*np.sin(speed*i)
            my_list.append(np.array([curr_x, curr_y]))

return np.array(my_list)

nn_dynamics 学习笔记二相关推荐

  1. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  2. [转载]dorado学习笔记(二)

    原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...

  3. PyTorch学习笔记(二)——回归

    PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...

  4. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

  5. Scapy学习笔记二

    Scapy学习笔记二 Scapy Sniffer的用法: http://blog.csdn.net/qwertyupoiuytr/article/details/54670489 Scapy Snif ...

  6. Ethernet/IP 学习笔记二

    Ethernet/IP 学习笔记二 原文链接:http://wiki.mbalib.com/wiki/Ethernet/IP 1.通信模式 不同于源/目的通信模式,EtherNet/IP 采用生产/消 ...

  7. Java学习笔记二:数据类型

    Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...

  8. 吴恩达《机器学习》学习笔记二——单变量线性回归

    吴恩达<机器学习>学习笔记二--单变量线性回归 一. 模型描述 二. 代价函数 1.代价函数和目标函数的引出 2.代价函数的理解(单变量) 3.代价函数的理解(两个参数) 三. 梯度下降- ...

  9. ASP.NET MVC 2 学习笔记二: 表单的灵活提交

    ASP.NET MVC 2 学习笔记二:  表单的灵活提交 前面说到有做到公司内部的一个请假系统,用的是ASP.NET MVC 2+Entity Framework.虽然EF(Entity Frame ...

最新文章

  1. 「数据结构」图基础篇
  2. 西方餐厅的顶级食材,被中国人干到了“白菜价”
  3. Ubuntu下OpenResty 搭建高性能服务端
  4. java.lang.NumberFormatException: For input string:
  5. TLS1.3对CIP的影响(对密码套件的解释)
  6. 绘制计算机网络拓扑图,绘制网络拓扑图1.ppt
  7. dz论坛非应用商店的插件如何安装教程
  8. 最新版-----新浪微博的第三方登录
  9. 微信中直接下载APK
  10. Python:1020 月饼
  11. 针对HFS 2.3漏洞进行渗透测试提权(HFS:HttpFileServer)
  12. C++11多线程:thread头文件
  13. html5这么盒子页面居中,实现盒子居中
  14. signature=3857ce3ebaa6b547d8be98ebee7c4307,Dark Matter Search with Gravitational Microlensing Events
  15. MacOS 安装 Parallels Desktop,再安装 UOS 20 + QtCreaor,及搭建 DTK 开发环境
  16. 「THE NEXT」第三届全球小程序生态大会圆满成功,规模空前,爆点不断
  17. 资深程序媛手把手教你如何从零基础进行电影数据数据分析采集!
  18. js和python哪个简单_python和js哪个难学
  19. 西门子PLC用TIA博途SCL语言写的一个产生随机实数的指令块(学习1)
  20. 有效解决“你的账户已被停用,清向系统管理员咨询”问题

热门文章

  1. 服务器硬件资源监控--PIGOSS BSM
  2. Docker安装Jenkins实现自动化构建部署到Tomcat
  3. ASP.NET MVC在线考试系统
  4. 电子烟HPHCs测试
  5. Q1业绩稳健,达达集团展开价值的“稳定三角”
  6. excel打开密码忘记了_excel工作表密码忘了,我不知道怎么办,同事2分钟就把密码删除了...
  7. 393页13万字智慧旅游大脑建设方案
  8. 叶国富的“超级品牌梦”,需要很多个“三丽鸥”
  9. 【Liunx】进程的程序替换——自定义编写极简版shell
  10. css 水平+垂直居中