机器人william hill官网
直播中

张超

6年用户 94经验值
擅长:存储技术
私信 关注
[经验]

北醒CE30评测

大家好,我是一名“黑科技”发烧友,最近听闻北醒新推出一款固态激光雷达CE30-A,赶紧入手了一台尝尝鲜,基于移动小车底盘和北醒提供的SDK,简单做了几个小功能,先来看看效果:
  可以看到视频里雷达的整体效果还是不错的,现在和各位大神和新手朋友分享一下我的开发过程吧,首先是一些基础的准备:
1、 系统要求:
Ubuntu14.04,安装ROS Indigo系统。
2、 ROS系统在ubuntu下安装:
3、编译CE30 ROS官方驱动包:
(1). 参照教程http://wiki.ros.org/cn/ROS/Tutorials/InstallingandConfiguringROSEnvironment设置工作环境并创建ROS工作空间。
(2). 将官方驱动ce30_ros文件夹解压后复制到工作空间下的src文件夹下。
(3). 参照教程http://wiki.ros.org/cn/ROS/Tutorials/BuildingPackages中的0.0.2使用catkin_make来编译你的工作空间。
4、编译ce30应用程序。
(1). 将ce30_use文件夹解压后复制到创建的工作空间的src文件夹下。
(2). 参照上述的流程编译ce30_use。
5、启动应用程序
(1)、将兼容ROS的机器人底盘连接到工控机。
(2)、按Ctrl+alt+T键打开terminal。
(3)、给串口设置权限,在terminal中输入sudo chmod 777 /dev/ttyUSB*。
(4)、如果要使用避障和绕障模式,输入roslaunch ce30_use use.launch。
(5)、避障模式和绕障模式通过use.launch文件中的is_avoid参数切换,如果想使用绕障模式,将is_avoid的value值设置为true,否则设置为false。
为了更直观的表达我的思路,下面画了2个流程图:
1、 指定车宽避障模式程序流程图(见图1)
图1 避障模式程序流程图
2、绕障模式程序流程图(见图2)
图2 机器人绕障模式
3、跟车模式算法流程
(1)      定义PID结构体(其中比例系数P,积分系数I,微分系数D,目标量target,当前误差为iEorro,累计误差为InEorro,微分误差为dEorro,最后误差为lastEorro)。
(2)      初始化程序。
(3)      接收雷达数据为laserData。
(4)      计算当前误差iEorro = target – laserData;
a)     累计误差InEorro = InEorro + iEorro;
b)     微分误差dEorro = iEorro – lastEorro。
(5)      赋值lastEorro = iEorro。
(6)      计算控制量V = P*iEorro + I*InEorro +D*dEorro。
(7)      将控制量发送给底盘执行。
(8)      重复步骤(3)至步骤(7)
  以上是我的基本思路和想法,下面贴上代码
Obstacle Avoidance.cpp
Vehicle Follow.cpp
  各位大神见笑了,还请高手指点,新手朋友有问题的话欢迎交流讨论!

更多回帖

发帖
×
20
完善资料,
赚取积分