我正在编程我的差分驱动移动机器人(电子球)移动到特定方向的特定坐标。机器人到达坐标没有问题,但是当它到达坐标时,它不能定位在特定的方向上,并在现场保持“旋转”寻找方向,有没有人有过这方面的经验?我被困在这个问题很长时间,真的希望有人知道为什么。代码的相关部分粘贴在下面。移动机器人(电子球)编程(c语言)

static void step() {

if (wb_robot_step(TIME_STEP)==-1) {

wb_robot_cleanup();

exit(EXIT_SUCCESS);

}

}

.

.

.

.

.

static void set_speed(int l, int r)

{

speed[LEFT] = l;

speed[RIGHT] = r;

if (pspeed[LEFT] != speed[LEFT] || pspeed[RIGHT] != speed[RIGHT]) {

wb_differential_wheels_set_speed(speed[LEFT], speed[RIGHT]);

}

}

.

.

.

.

static void goto_position1(float x, float y, float theta)

{

if (VERBOSE > 0) printf("Going to (%f, %f, %f)\n",x,y,theta);

// Set a target position

odometry_goto_set_goal(&og, x, y, theta);

// Move until the robot is close enough to the target position

while (og.result.atgoal == 0) {

// Update position and calculate new speeds

odometry_track_step(og.track);

odometry_goto_step(&og);

// Set the wheel speed

set_speed(og.result.speed_left, og.result.speed_right);

printf("%f",ot.result.theta);

print_position();

step();

} //after exiting while loop speed will be zero

og.result.speed_left = 0;

og.result.speed_right = 0;

if (((og.result.speed_left == 0) && (og.result.speed_right == 0)))

og.result.atgoal = 1;

return;

}

.

.

.

int main(){

//initialisation

while (wb_robot_step(TIME_STEP) != -1) {

goto_position1(0.0000000001,0.00000000001,PI/4);

}

return 0;

}

+1

作为一个可能相关的附注:为什么你将'spee_left'和'speed_right'设置为零,然后立即检查它们是否为零?无论如何,这个问题似乎是与'og.result.atgoal'的计算。无论您对“足够接近”的定义是否太精确,机器人都无法实现,或者有人将“og.result.atgoal”每次重置为零。由于我上面提到的'if'总是正确的,所以'og.result.atgoal'应该总是立即变为1,所以我高度怀疑它在其他地方被重新初始化为零。 –

+0

哪里在while循环中获得反馈。即你有一个设定值(一个所需的位置),那个函数包含你离那个位置有多近?它是'odometry_goto_step(&og);'偶然吗?还有,你可以发布'og'结构的定义吗?我假设有位置变量,也许像posx,posy?看到什么会有助于提出建议 –

c语言怎么编程机器人,移动机器人(电子球)编程(c语言)相关推荐

  1. 达奇机器人不能用电脑编程吗_奇幻工房智能编程机器人达奇dash编程容易学吗?适合几岁小朋友玩?...

    智能编程机器人:dash,达奇 适合年龄:5-12岁左右 Dash是一个混合着红外线.速度.重力等多种传感器.拥有若干交互功能的机器人小伙伴.它可以唱歌,跳舞,与孩子对话,在不同应用程序的控制下进行游 ...

  2. 达奇机器人编程学院_奇幻工房智能编程机器人达奇dash编程容易学吗?适合几岁小朋友玩?...

    展开全部 智能编程机器人:dash,达奇 适合年龄:5-12岁左右 Dash是一个混合着红外62616964757a686964616fe59b9ee7ad9431333363353738线.速度.重 ...

  3. 电子科大专科c语言作业1,13春电子科大《C语言(专科)》在线作业1

    电子科大<C语言(专科)>在线作业1 1xt奥鹏作业学习网(aopeng123.cn) 试卷总分:1001xt奥鹏作业学习网(aopeng123.cn) 单选题1xt奥鹏作业学习网(aop ...

  4. 编程机器人疯抢教育市场!6大派玩家谁主沉浮

    转自:https://36kr.com/p/5141523 儿童市场被誉为"朝阳行业"."常青行业",不仅产品范围广泛.品类也非常丰富.近年来,儿童市场也成为了 ...

  5. 初中文化能学编程吗_儿童早教益智,乐森星际特工智能编程机器人体验

    作为新时代的家长,总是想把最好的给孩子,为了不让孩子输在起跑线,各种兴趣培训.课程报了一通,但效果不一定很好,也无形中给孩子造成了压力,这种现象在一二线大城市尤为明显.作为亲身经历这个过程的家长,我认 ...

  6. 2个红外传感器循迹原理_编程机器人9 -- 红外线传感器

    这节课我们学习红外线传感器 01 -红外线传感器- 相比于上节课我们讲授的循迹传感器,红外线传感器在生活中我们就接触的多了,家里最常见的就是红外遥控器了吧!另外,红外线传感器在测距,测温方面的应用也是 ...

  7. c语言机器人编程软件,Coconut编程机器人软件官方版下载_Coconut编程机器人软件 v1.3.4官方版 - Win7旗舰版...

    Coconut编程机器人软件,Coconut机器人是基于Arduino Uno的驱动机器人,能够对链接到暂存器和输入项的程序进行编码,提供基于物理计算的软件培训! 软件相关 编码机器人椰子硬件(HW) ...

  8. c语言编程基础第四版电子教案,《C语言编程基础》电子教案.doc

    <C语言编程基础>电子教案 课题(内容)1.1 C语言简史及特点课时1教学任务分析教学目标知识技能通过本节课的教学,使学生了解并熟悉编程语言C的发展历史.特点及其种类和适用范围.过程与方法 ...

  9. 【C语言基础练习】有红、绿、蓝三种颜色的球各3个。现在将着9个球混合放在一个盒子中,从中任意摸出6个,编程计算摸出球的各种颜色搭配。

    有红.绿.蓝三种颜色的球各3个.现在将着9个球混合放在一个盒子中,从中任意摸出6个,编程计算摸出球的各种颜色搭配. 1 #include<stdio.h>2 int main()3 {4 ...

  10. OpenCV NAO机器人辅助捡球丢球

    文章目录 1. 概述 2. 相关技术 2.1 NAO机器人 2.2 Choregraphe 2.3 OpenCV 3. 总体设计与详细设计 3.1 系统模块划分 3.2 主要功能模块 4 遇到的问题 ...

最新文章

  1. BZOJ 3925 [Zjoi2015]地震后的幻想乡 ——期望DP
  2. python信息管理系统统计功能_用Python实现职工信息管理系统
  3. C语言 | 结构体详解(C结构体)
  4. 中石油训练赛 - Fermat‘s Optimization Problem(Java高精度运算+二分)
  5. 课程目标 java 1615308884
  6. 前端开发-编辑器安装-HbuilderX安装过程与基本使用 0226
  7. vue图片image
  8. Java基础学习总结(94)——Java线程再学习
  9. 多线程等待唤醒机制之生产消费者模式
  10. 解决安装Discuz!插件时提示“对不起,您安装的不是正版应用,安装程序无法继续执行”的方法...
  11. Python: ModuleNotFoundError解决方案
  12. 前端取色器 FSCapture
  13. 运动控制卡应用开发教程之C#
  14. 英语“就近原则”和“就远原则”
  15. XDOJ 回文数 C语言
  16. 163邮箱无法通过POP3接收邮件
  17. 如何免费使用xshell、xftp工具
  18. 支付宝上天了! 移动支付应用首次登上飞机
  19. NYOJ234-吃土豆(双层DP)
  20. 不歧视双非的计算机院校,这30所重点院校不歧视“双非”,公平竞争录取,爱了爱了!...

热门文章

  1. 我的Delphi开发经验谈(本人修改版) 收藏
  2. LINGO11免密版windows
  3. 我的私房IT学习网站
  4. java在线学习系统、基于javaweb的线上智能教育、ssm实现web版本学生在线学习考试、题库管理系统
  5. 【投稿提醒】2023年数字信号处理前沿国际会议(CFDSP 2023)
  6. 最新要饭网源码1.6终极版
  7. Java——猜数字游戏
  8. 开发国信股票自动交易软件
  9. Java后台生成NO2016012701(代码+年月日+流水号)这样的流水编号
  10. pdf2docx:Python实现PDF转Word