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

在使用C语言编程控制差分驱动的移动机器人(电子球)时,作者遇到了一个问题:机器人能到达指定坐标,但在到达后无法保持特定方向。在循环中,机器人不断旋转尝试定位。问题可能与‘og.result.atgoal’的计算有关,因为它可能在其他地方被错误地重置为零。寻求解决方案。
摘要由CSDN通过智能技术生成

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

// Se

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值