C++ 玩家/舞台-机器人没有在模拟中移动?
我是新手。但不知何故,我设法想出了下面的代码,但并没有移动 首先是配置文件C++ 玩家/舞台-机器人没有在模拟中移动?,c++,simulation,robotics,C++,Simulation,Robotics,我是新手。但不知何故,我设法想出了下面的代码,但并没有移动 首先是配置文件 driver ( name "stage" provides ["simulation:0"] plugin "stageplugin" #load the world file worldfile "robotWorld.world" ) driver ( name "stage" provides [ "positi
driver
(
name "stage"
provides ["simulation:0"]
plugin "stageplugin"
#load the world file
worldfile "robotWorld.world"
)
driver
(
name "stage"
provides [
"position2d:0"
"laser:0"
]
model "robot"
)
map.inc文件
define map model
(
#color of the map
color "black"
#we need a boundary wall aroung the map, then only the robot can't go outside of the map
boundary 1
gui_nose 1
gui_grid 1
gui_movemask 0
gui_outline 0
fiducial_reurn 0
gripper_return 0
)
robot.inc文件
define robots_laser laser
(
# minimum range of the laser
range_min 0.0
#maximum range of the laser
range_max 2
#field of view or pan angle of the camera
#fov 180
#assume the robot's size as 400*200, and the camera is in the front end
pose [200 100 0 0]
#size of the camera
size [0.025 0.025 0.001]
)
define robot position
(
#size of the robot
size [50 50 50]
#as a default centre of rotation is the geometry centre
#shape of the robot
polygons 1
polygon[0].points 4
polygon[0].point[0] [0 0]
polygon[0].point[1] [1 0]
polygon[0].point[2] [1 1]
polygon[0].point[3] [0 1]
# car steering model
drive "car"
#mass of the robot
mass 10.0
robots_laser()
)
世界档案是
include "robot.inc"
include "map.inc"
#size of the simulation
size [15 15]
#interval_sim=5
#interval_real=10
#GUI window
window
(
size [700 700]
scale 2.5
show_data 1
)
map
(
bitmap "map2"
size [300 300 3]
)
robot
(
name "robot"
pose [0 0 0 0]
color "Green"
)
这是主cpp文件(mainCode.cpp)
#包括
#包括
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[])
{
使用名称空间PlayerCc;
cout在控制器外部,Player/Stage是线程化的。但是,您的代码必须管理自己的资源。因此,您需要放弃执行时间,以便其他事情(如您订阅的代理)可以运行
在while循环结束时添加一个sleep调用。这将允许代理更新数据(与播放器/舞台之间的数据)以便您接收新的传感器数据,播放器获得新的速度命令。投票关闭为“太本地化”。也许,你应该把这个问题发到你正在使用的库的邮件列表中,或者自己去解决。@Pavel Shved我在stack over flow中看到了近5个与玩家/舞台相关的问题。所以我把它贴了出来,但我仍然认为你的问题太本地化了。也许这些问题也是。@Pavel Shved Partiall我必须同意你的看法。当然,在一个模糊的平台上会有帮助。链接声称,顺便说一句,该播放器是世界上使用最广泛的机器人控制界面,这表明该主题总体上是好的。
#include<iostream>
#include<unistd.h>
#include<time.h>
#include<player-3.0/libplayerc++/playerc++.h>
using namespace std;
int main(int argc,char * argv[])
{
using namespace PlayerCc;
cout << "111111111111" << endl ;
PlayerClient robotClient("localhost",6665);
Position2dProxy p2dProxy(&robotClient,0);
LaserProxy laserProxy(&robotClient,0);
p2dProxy.SetMotorEnable(true);
p2dProxy.RequestGeom();
robotClient.Read();
while(true)
{
robotClient.Read();
p2dProxy.SetCarlike(240,0);
cout << laserProxy[45] << endl ;
}
cout << "reached the end of the coding" << endl ;
}