亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? automode.cpp

?? 機器人的行為控制模擬程序。用于機器人的環境識別。A robot action decision simulation used for robot enviroment recognition.
?? CPP
字號:
/* 
    Robot Simulator

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

    (C) 2006 Jason Hunt
    nulluser@gmail.gom 
*/



#include <stdio.h>
#include <math.h>

#include "robot.h"
#include "main.h"
#include "world.h"
#include "console.h"
#include "utility.h"

#define NUM_TIMERS 10

#define AVERAGE_SIZE    2

double nav_average[AVERAGE_SIZE] = { 0 };


/* Set new motion direction and speed for robot */
void set_motion(double speed, double dir, double speed_rand, double dir_rand)
{
    if(manual_mode) return;

    robot.speed = speed + f_rand(-speed_rand, speed_rand);

    if (robot.speed > 0.07)
        robot.speed = 0.07;
 
    robot.ddir = dir + f_rand(-dir_rand, dir_rand);
}
/* End of set_motion */



/* Setup or check a timer */
double timer_func(double v, unsigned int timer_num, double threshhold, double lim)
{
    if (timer_num >= NUM_TIMERS) return(0);

    double timer_time = 1.0;

    static bool first_run = 1;
    static double stime[NUM_TIMERS];
    static double limits[NUM_TIMERS];
    
    if (first_run)
    {
        for (int i = 0; i < NUM_TIMERS; i++)
        {
            stime[i] = 0;
            limits[NUM_TIMERS];
        }

        first_run = 0;
    }
    

    // Timer already running
    if (stime[timer_num] > 0)
    {
         double time_diff = get_time() - stime[timer_num];

        // Timer done?
        if (time_diff > timer_time)
        {            
            stime[timer_num] = 0;
            return(1);
        }

        return(limits[timer_num] * time_diff / timer_time);

    } else
    if (v >= threshhold)   // Start timer
    {
        stime[timer_num] = get_time();
        limits[timer_num] = lim;
        return(0);            
    }         
    return(0);
}
/* End of timer_func */


/* Compute neural network for automode */
void robot_auto_mode( void )
{
    
    for (int i = 0; i < AVERAGE_SIZE - 1; i++)
    {
        nav_average[i] = nav_average[i+1];
    }
    nav_average[AVERAGE_SIZE - 1] = robot.nav_off;
    
    
    double nav_ave = 0;
    for (int i = 0; i < AVERAGE_SIZE; i++)
        nav_ave += nav_average[i];

    nav_ave /=  (double)AVERAGE_SIZE;
    
    
   // char b[300];
   // sprintf(b, "ave; %f\n", nav_ave);
   // write_console(b);
    
    double ir_fl = robot.ir[0];
    double ir_f =  robot.ir[1];
    double ir_fr = robot.ir[2];
            
    
    double sl = robot.touch[0];
    double sf = robot.touch[1];
    double sr = robot.touch[2];

    double rev_sum = 0.2*ir_fl + 0.2*ir_fr + 0.4*ir_f + 0.4*sl + 0.4 * sr + 2.0 * sf;

  
    double rev_time_mod = timer_func(rev_sum, 0, 2, 2);
    double turn_time_mod = timer_func(rev_time_mod , 1, 1, f_rand(-2,2));


       double mag = robot.nav_mag;  
       if (mag < 0.5) mag = 0.5;
       
    double ms =  1 - 0.15*ir_fl - 0.15*ir_fl - 1.1*rev_time_mod;
//    double ms = 1 - sl - sr - 4*rev_time_mod;

    // 2.5 turn mag works

    double mr = 1.5* nav_ave + 0.50*ir_fl - 0.50*ir_fr - 1.0*turn_time_mod;

//    double mr = 1.5* robot.nav_off + 0.50*ir_fl - 0.50*ir_fr - 1.0*turn_time_mod;

//    double mr = sl - sr - 2*turn_time_mod;    


    robot.ddir = 0.1 * mr;
    robot.speed = 0.05 *  ms;

    if (robot.ddir < 0)
    {
        if (robot.ddir < -0.3)
            robot.ddir = -0.3;
            
    } else
    {
        if (robot.ddir > 0.3)
            robot.ddir = 0.3;

    }



    // Wrap speed
    if (robot.speed < 0)
        robot.speed = -robot.speed;

    // Clamp speed
    if (robot.speed > 0.05)
        robot.speed = 0.05;
}
/* End of robot_auto_mode */














    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区免费在线观看| 日日夜夜精品视频免费| 日韩午夜电影av| 欧美日韩国产欧美日美国产精品| 色猫猫国产区一区二在线视频| 99久久免费国产| 91免费看视频| 欧美女孩性生活视频| 欧美一级高清片在线观看| 日韩欧美一级精品久久| 久久久久久久久岛国免费| 国产婷婷色一区二区三区四区| 国产精品美女久久久久久久网站| 亚洲日穴在线视频| 亚洲午夜激情av| 久久不见久久见免费视频1| 国产精品综合网| 91同城在线观看| 欧美日韩视频专区在线播放| 日韩欧美成人激情| 国产精品久久久久久久久免费桃花| 中文字幕亚洲成人| 三级不卡在线观看| 精品一区二区三区不卡| av在线一区二区三区| 在线免费观看日本一区| 欧美成人一区二区三区| 中文字幕亚洲在| 日韩不卡一二三区| 成人免费视频一区| 欧美日韩午夜精品| 国产视频一区二区在线| 亚洲午夜影视影院在线观看| 韩国三级中文字幕hd久久精品| av电影一区二区| 欧美一区二区三区色| 日本一区二区三区久久久久久久久不| 亚洲色图一区二区三区| 国产在线不卡一卡二卡三卡四卡| 9人人澡人人爽人人精品| 日韩一区二区三区视频在线 | 美美哒免费高清在线观看视频一区二区 | 日韩av高清在线观看| 国产精品一级片在线观看| 色综合久久久网| 国产性做久久久久久| 日日噜噜夜夜狠狠视频欧美人| 成人动漫一区二区在线| 欧美videofree性高清杂交| 亚洲一区在线播放| 99视频超级精品| 久久蜜臀精品av| 美女www一区二区| 色妞www精品视频| 国产精品夫妻自拍| 国产精品系列在线观看| 欧美一级一级性生活免费录像| 亚洲人成伊人成综合网小说| 国产91精品一区二区| 精品国产一区二区三区四区四| 亚洲国产毛片aaaaa无费看| 成人免费观看男女羞羞视频| 2020国产精品久久精品美国| 男人操女人的视频在线观看欧美| 色av综合在线| 亚洲与欧洲av电影| 色综合久久99| 亚洲三级在线播放| 91美女视频网站| 一区免费观看视频| 色哟哟欧美精品| 一区二区三区欧美视频| 日本精品裸体写真集在线观看| 亚洲靠逼com| 欧美中文字幕一二三区视频| 亚洲精品v日韩精品| 欧美色图12p| 青娱乐精品视频在线| 日韩欧美卡一卡二| 国内精品写真在线观看| 久久久国际精品| 成人爽a毛片一区二区免费| 亚洲国产精华液网站w| 99re视频这里只有精品| 日韩毛片视频在线看| 欧美性色黄大片手机版| 免费久久精品视频| 久久综合国产精品| jlzzjlzz欧美大全| 亚洲一区二区三区中文字幕| 欧美视频一区在线观看| 免费成人在线网站| 久久久久久久国产精品影院| 99久久99久久精品国产片果冻| 亚洲欧美影音先锋| 欧美日本视频在线| 国产一区二区精品久久91| 国产精品久久久久久久午夜片 | 国产综合色产在线精品| 国产女同性恋一区二区| 色94色欧美sute亚洲线路一久 | 91亚洲精品久久久蜜桃网站| 一区二区三区91| 91精品国产品国语在线不卡| 国产精品一区不卡| 亚洲影院久久精品| 欧美电影免费观看高清完整版| 高清国产一区二区| 日韩成人精品视频| 18涩涩午夜精品.www| 欧美日高清视频| 99久久免费国产| 久久www免费人成看片高清| 亚洲精品欧美在线| 精品久久五月天| 欧美系列日韩一区| 国产99一区视频免费| 五月综合激情网| 亚洲欧洲日产国码二区| 欧美电影免费观看高清完整版在线观看| 不卡av电影在线播放| 石原莉奈一区二区三区在线观看| 中文字幕精品一区| 日韩视频不卡中文| 欧美在线观看你懂的| 国产精品99久久久久久有的能看| 亚洲一区二区美女| 国产精品美女久久久久久久| 亚洲精品一区二区三区精华液 | 国产一区二区在线观看视频| 亚洲亚洲精品在线观看| 亚洲伦在线观看| 国产精品视频一二| 久久色成人在线| 欧美成人video| 日韩一区二区三| 91精品欧美一区二区三区综合在| 色婷婷综合五月| av电影一区二区| 99久久er热在这里只有精品66| 国产福利91精品| 国产一区激情在线| 老色鬼精品视频在线观看播放| 五月激情丁香一区二区三区| 亚洲国产sm捆绑调教视频| 亚洲一区欧美一区| 一区二区高清在线| 一区二区三区四区亚洲| 亚洲人成人一区二区在线观看| 国产精品免费网站在线观看| 久久精品亚洲国产奇米99| 久久精品亚洲麻豆av一区二区 | 亚洲成av人片在线观看| 亚洲永久精品大片| 亚洲va国产va欧美va观看| 亚洲成人av一区二区三区| 五月激情综合婷婷| 久久99国产乱子伦精品免费| 狠狠色丁香婷婷综合久久片| 国产精品一二三区在线| 东方欧美亚洲色图在线| 99热99精品| 欧美午夜不卡在线观看免费| 欧美精品在线一区二区三区| 欧美一区二区精品在线| 日韩三级精品电影久久久| 2020日本不卡一区二区视频| 国产女人水真多18毛片18精品视频 | 亚洲制服丝袜av| 亚洲一区二区三区三| 老司机午夜精品| 成人av先锋影音| 欧美日韩亚洲另类| 久久影音资源网| 亚洲人成在线观看一区二区| 视频一区视频二区中文字幕| 国产美女视频91| 91同城在线观看| 欧美成人精品福利| 亚洲色图视频网| 久久国产精品第一页| 91在线视频观看| 91精品国产一区二区三区香蕉| 久久精品无码一区二区三区| 伊人一区二区三区| 精品亚洲成av人在线观看| 色94色欧美sute亚洲线路一ni| 日韩欧美亚洲国产另类| 亚洲欧美日韩国产综合在线| 蜜桃av一区二区在线观看| av亚洲精华国产精华精华| 日韩欧美成人激情| 亚洲欧美精品午睡沙发| 九色|91porny| 欧美午夜宅男影院| 1区2区3区欧美| 豆国产96在线|亚洲| 欧美一区二区三区小说| 伊人性伊人情综合网| 成人免费看黄yyy456|