有谁有turtlebot的C++避障程序或者类似的导航程序的实例吗
答案:2 悬赏:10
解决时间 2021-11-26 09:21
- 提问者网友:控制庸俗
- 2021-11-25 19:37
有谁有turtlebot的C++避障程序或者类似的导航程序的实例吗
最佳答案
- 二级知识专家网友:茫然不知崩溃
- 2021-11-25 20:32
避障的话,最好能用两个以上超声波模块,这样做就可以不用步进电机了。
你可以把两到三个超声波模块按一定角度装到车的前部,这样就可以根据三个超声波模块回收的距离信息来判断哪个方向有障碍物,从而选择正确的方向前行。
你可以把两到三个超声波模块按一定角度装到车的前部,这样就可以根据三个超声波模块回收的距离信息来判断哪个方向有障碍物,从而选择正确的方向前行。
全部回答
- 1楼网友:嗷呜我不好爱
- 2021-11-25 21:05
inline void rob_control(std::vector &_contour){
ros::Rate loopRate(10);
int rcount=0;
int lcount=0;
int r_state = 0;
int l_state = 0;
int in_cl = 8;//运动状态改变的阈值
for(unsigned i=0;i<_contour.size();i++)
{
cv::Point p=_contour[i];
PointT pointx=down_cloud->at(p.x*downScale,p.y*downScale);
//todo 安全距离和宽度设定
if(pointx.x<0.3&&pointx.x>-0.25&&pointx.z<1.2)
{
if(pointx.x>0)
{
rcount++;
}
else if(pointx.x<0)
{
lcount++;
}
pre_imageViewer->addCircle( p.x*downScale,p.y*downScale, 3, 1, 0.2,0.1, "contour", 1);
continue;
}
pre_imageViewer->addCircle( p.x*downScale,p.y*downScale, 1, 0, 1,1, "contour", 1);
}
while (ros::ok()){
if(lcount>in_cl&&rcount==0)
{
//turn right
if(l_state == 0)
{
tr();
r_state = 1;
l_state = 0;
std::cout<<"当前路面进行右转。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯