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

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

?? xr4000_control.c

?? 卡內基梅隆大學(CMU)開發的移動機器人控制開發軟件包。可對多種機器人進行控制
?? C
字號:
/********************************************************* * * This source code is part of the Carnegie Mellon Robot * Navigation Toolkit (CARMEN) * * CARMEN Copyright (c) 2002 Michael Montemerlo, Nicholas * Roy, Sebastian Thrun, Dirk Haehnel, Cyrill Stachniss, * and Jared Glover * * CARMEN 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. * * CARMEN 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 CARMEN; if not, write to the * Free Software Foundation, Inc., 59 Temple Place,  * Suite 330, Boston, MA  02111-1307 USA * ********************************************************/#include <carmen/carmen.h>#include "Nclient.h"#include "xr4000_control.h"#include "xr4000_ipc.h"#include "xr4000.h"typedef struct {  double max_tv, max_rv;  double t_accel, r_accel;  struct N_RobotState *rs;  struct N_Configuration *config;} xr4000_t, *xr4000_p;xr4000_t robot;extern int robd_robot_id;static void carmen_xr4000_publish_odometry(void){  carmen_base_odometry_message odometry;  double xv = robot.rs->AxisSet.Axis[N_XTRANSLATION].DesiredSpeed / 10.0;  double yv = robot.rs->AxisSet.Axis[N_YTRANSLATION].DesiredSpeed / 10.0;  double rv = robot.rs->AxisSet.Axis[N_ROTATION].DesiredSpeed / 1000.0;  IPC_RETURN_TYPE err;  /* get robot position */  N_GetIntegratedConfiguration(1);  odometry.x = robot.rs->Integrator.y / 1000.0;  odometry.y = -robot.rs->Integrator.x / 1000.0;  odometry.theta =     carmen_normalize_theta(robot.rs->Integrator.Rotation / 1000.0);  odometry.tv = hypot(xv, yv);  odometry.rv = rv;  odometry.acceleration = robot.t_accel;  odometry.timestamp = carmen_get_time();  odometry.host = carmen_get_host();  err = IPC_publishData(CARMEN_BASE_ODOMETRY_NAME, &odometry);  carmen_test_ipc_exit(err, "Could not publish", CARMEN_BASE_ODOMETRY_NAME);}static void carmen_xr4000_execute_velocity(void){  /* execute robot velocity */  if(N_SetAxes(robd_robot_id) != N_NO_ERROR)    carmen_warn("Could not set robot velocity.\n");}void carmen_xr4000_usage(char *progname, char *fmt, ...) {  va_list args;  if(fmt != NULL) {    va_start(args, fmt);    vfprintf(stderr, fmt, args);    va_end(args);    fprintf(stderr, "\n\n");  }  else    fprintf(stderr, "\n");  if(strrchr(progname, '/') != NULL) {    progname = strrchr(progname, '/');    progname++;  }  fprintf(stderr, "Usage: %s <args>\n", progname);  fprintf(stderr, "\t-dev devname   - device connected to scout robot.\n");  exit(-1);}void carmen_xr4000_set_velocity(double xv, double yv, double rv){  /* set robot velocity */  xv *= 1000;  if(xv > XR4000_MAX_TV)    xv = XR4000_MAX_TV;  yv *= 1000;  if(yv > XR4000_MAX_TV)    yv = XR4000_MAX_TV;  rv *= 1000;  if(rv > XR4000_MAX_TV)    rv = XR4000_MAX_TV;  robot.rs->AxisSet.Axis[N_XTRANSLATION].DesiredSpeed = (long)(xv);  robot.rs->AxisSet.Axis[N_XTRANSLATION].Update = TRUE;  robot.rs->AxisSet.Axis[N_YTRANSLATION].DesiredSpeed = (long)(yv);  robot.rs->AxisSet.Axis[N_YTRANSLATION].Update = TRUE;  robot.rs->AxisSet.Axis[N_ROTATION].DesiredSpeed = (long)(rv);  robot.rs->AxisSet.Axis[N_ROTATION].Update = TRUE;}void carmen_xr4000_start(void){  /* get the robot state */  robot.rs = N_GetRobotState(robd_robot_id);  if(robot.rs == NULL)    carmen_die("Error: could not get robot state.\n");  /* set robot control parameters */  robot.rs->AxisSet.Global = FALSE;  robot.rs->AxisSet.Axis[N_XTRANSLATION].Mode = N_AXIS_VELOCITY;  robot.rs->AxisSet.Axis[N_XTRANSLATION].Acceleration = XR4000_T_ACCEL;  robot.rs->AxisSet.Axis[N_YTRANSLATION].Mode = N_AXIS_VELOCITY;  robot.rs->AxisSet.Axis[N_YTRANSLATION].Acceleration = XR4000_T_ACCEL;  robot.rs->AxisSet.Axis[N_ROTATION].Mode = N_AXIS_VELOCITY;  robot.rs->AxisSet.Axis[N_ROTATION].Acceleration = XR4000_R_ACCEL;  carmen_xr4000_set_velocity(0, 0, 0);  carmen_xr4000_register_ipc_messages();}void carmen_xr4000_run(void){  carmen_xr4000_execute_velocity();  carmen_xr4000_publish_odometry();}static void carmen_xr4000_stop_robot(void){  /* stop all robot motion */  robot.rs->AxisSet.Axis[N_XTRANSLATION].Mode = N_AXIS_STOP;  robot.rs->AxisSet.Axis[N_XTRANSLATION].Update = TRUE;  robot.rs->AxisSet.Axis[N_YTRANSLATION].Mode = N_AXIS_STOP;  robot.rs->AxisSet.Axis[N_YTRANSLATION].Update = TRUE;  robot.rs->AxisSet.Axis[N_ROTATION].Mode = N_AXIS_STOP;  robot.rs->AxisSet.Axis[N_ROTATION].Update = TRUE;  if(N_SetAxes(robd_robot_id) != N_NO_ERROR)    carmen_warn("Failure when stopping robot.\n");}void carmen_xr4000_shutdown(int sig){  if(sig == SIGINT)    carmen_xr4000_stop_robot();}void carmen_xr4000_emergency_crash(int sig __attribute ((unused))){  carmen_xr4000_stop_robot();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产精品青草| 亚洲国产精品一区二区www | 91片在线免费观看| 国产成人一级电影| 国产精品一区二区三区乱码| 久久精品理论片| 另类小说视频一区二区| 美女国产一区二区三区| 美女任你摸久久| 国产乱码一区二区三区| 高清成人免费视频| 波多野洁衣一区| 在线亚洲欧美专区二区| 在线欧美一区二区| 3atv在线一区二区三区| 日韩三级视频在线观看| 26uuu亚洲| 欧美激情一区二区三区全黄| 欧美激情一区在线| 一区二区三区欧美久久| 婷婷综合五月天| 狠狠色伊人亚洲综合成人| 国产精品18久久久久久久久 | 亚洲色图制服诱惑| 夜夜嗨av一区二区三区四季av| 一区av在线播放| 爽好多水快深点欧美视频| 国内久久精品视频| 91在线无精精品入口| 欧美日韩精品一区二区三区| 欧美大片在线观看| 一区二区中文视频| 秋霞av亚洲一区二区三| 99在线精品一区二区三区| 欧美日韩高清影院| 日本一区二区三区国色天香| 亚洲一卡二卡三卡四卡无卡久久| 九一九一国产精品| 91色九色蝌蚪| 国产日韩欧美激情| 日本欧美在线看| 99在线精品免费| 日韩欧美国产一区二区在线播放| 成人免费在线播放视频| 国产一区在线不卡| 欧美电影一区二区三区| 中文字幕一区二区三区不卡| 婷婷久久综合九色综合绿巨人| 国产成a人亚洲精品| 日韩一卡二卡三卡| 亚洲高清在线精品| 91在线精品秘密一区二区| 26uuu久久天堂性欧美| 午夜精品久久久久久久久久 | 欧美日韩国产一级二级| 国产精品色噜噜| 国产精品亚洲第一| 精品美女在线播放| 日韩av一二三| 欧美精品亚洲二区| 亚洲一区二区精品视频| 91免费国产在线| 中文字幕乱码日本亚洲一区二区| 麻豆精品国产91久久久久久| 欧美性视频一区二区三区| 亚洲日本中文字幕区| 成人小视频免费观看| 久久一区二区三区国产精品| 久草中文综合在线| 欧美r级在线观看| 久久国产精品99久久人人澡| 69堂国产成人免费视频| 日产国产欧美视频一区精品 | 狠狠色狠狠色综合系列| 26uuu国产日韩综合| 韩国精品在线观看| 久久午夜羞羞影院免费观看| 韩国av一区二区三区四区| 精品理论电影在线| 国内精品免费**视频| 久久综合色一综合色88| 国产激情一区二区三区四区| 国产色一区二区| 99国产精品久久| 亚洲乱码中文字幕| 欧美日韩精品系列| 久久www免费人成看片高清| 欧美不卡视频一区| 高清国产一区二区三区| 亚洲精品日产精品乱码不卡| 欧美在线观看一区| 日本vs亚洲vs韩国一区三区二区| 日韩欧美亚洲国产另类| 国产成人午夜精品影院观看视频| 国产日韩精品一区二区三区| 色婷婷av一区二区三区大白胸 | 中文字幕日韩欧美一区二区三区| 99国产精品久久久久| 午夜不卡在线视频| 精品国产sm最大网站| 成人av影视在线观看| 一二三四社区欧美黄| 日韩欧美美女一区二区三区| 国产大陆亚洲精品国产| 亚洲综合在线观看视频| 日韩亚洲电影在线| 波多野结衣的一区二区三区| 丝袜美腿成人在线| 国产精品伦理一区二区| 欧美日韩mp4| 成人性色生活片| 天堂成人免费av电影一区| 久久精品无码一区二区三区| 欧美性一二三区| 国产精品1024| 男女性色大片免费观看一区二区 | 日本韩国欧美国产| 久久成人精品无人区| 亚洲男女一区二区三区| 精品国产乱码久久久久久图片 | 精品嫩草影院久久| 欧美视频在线观看一区| 成人午夜视频在线观看| 奇米888四色在线精品| 专区另类欧美日韩| 26uuu国产电影一区二区| 欧美精品丝袜中出| 在线看国产一区| 99精品国产91久久久久久| 国产精品99久久久久久久vr| 三级一区在线视频先锋| 亚洲免费av在线| 国产精品美女久久久久久久久| 日韩一区二区三区观看| 精品视频123区在线观看| 99视频在线精品| 国产99久久久国产精品潘金网站| 日韩不卡一二三区| 亚洲r级在线视频| 亚洲精品成人精品456| 136国产福利精品导航| 欧美韩国日本综合| 国产亚洲成年网址在线观看| 欧美大黄免费观看| 91麻豆精品国产自产在线| 欧美在线小视频| 91福利在线免费观看| 91精品福利视频| 色先锋资源久久综合| 91麻豆自制传媒国产之光| 成人黄色片在线观看| 成人免费va视频| 成人免费毛片嘿嘿连载视频| 成人综合激情网| 粉嫩av亚洲一区二区图片| 成人一区在线看| eeuss影院一区二区三区| 高清久久久久久| 色综合天天综合在线视频| 99久久婷婷国产精品综合| 9人人澡人人爽人人精品| av在线播放一区二区三区| 99精品国产99久久久久久白柏| 99九九99九九九视频精品| 色欧美乱欧美15图片| 欧美美女直播网站| 91麻豆精品国产无毒不卡在线观看| 91精品国产麻豆| 久久久精品综合| 久久久久久97三级| 亚洲欧洲色图综合| 亚洲自拍欧美精品| 青青国产91久久久久久| 狠狠色狠狠色综合| 99久久亚洲一区二区三区青草| 欧美亚洲日本国产| 日韩欧美一二三| 国产精品电影院| 亚洲成人一二三| 国产精品中文字幕日韩精品| 97久久精品人人澡人人爽| 欧美视频一区在线观看| 久久影院午夜片一区| 一区二区三区中文字幕电影 | 波多野结衣亚洲| 欧美性一区二区| 国产日韩欧美电影| 视频一区二区三区中文字幕| 国产在线麻豆精品观看| 91久久国产综合久久| 欧美精品一区二区在线观看| 亚洲欧美日韩中文字幕一区二区三区| 午夜电影网一区| av在线不卡网| 欧美成人伊人久久综合网| 亚洲美女视频在线| 国内精品第一页| 欧美一区二区三区在线看| 亚洲国产精品t66y| 久久国产精品99精品国产|