摘要:
在大多数时间都是依靠ROS节点来发布恰当的Twist消息。举个简单的例子,假设我们想编程使机器人向前移动1m,旋转180度,然后返回开始的位置。我们会尝试用不同的方法来完成这个任务,这些方法很好地表现了ROS不同层次的运动控制。 1、通过定时和定速估计距离和角度 我们第一个尝试是用定时的Twist命 阅读全文
摘要:
PCL中I/O库提供了点云文件输入输出相关的操作类,并封装了OpenNI兼容的设备源数据获取接口,可直接从众多感知设备获取点云图像等数据。I/O模块利用21个类和28个函数实现了对点云的获取、读入、存储等相关操作,其依赖于pcl_common和pcl_octree模块以及OpenNI外部开发包。 1 阅读全文
摘要:
PCL中所有的处理都是基于点云展开的,利用不同的设备获取点云、存储点云等都是点云处理前后必须做的流程,PCL中有自己设计的内部PCD文件格式,为此,设计读写该该格式以及与其他3D文件格式之间进行转化的接口类都是很有必要的;目前PCL内部支持对常用的3D格式文件的打开与存储操作,以及与PCD内部格式之 阅读全文
摘要:
利用opencv中的VideoCapture类,来对视频进行读取显示,以及调用摄像头。 VideoCapture是opencv 2.X中新增的一个类,对应于之前C语言版本的CvCapture结构体。它提供了从摄像机或视频文件捕获视频的C++接口,作用是从视频文件或从摄像头捕获视频并显示出来。 1、读 阅读全文
摘要:
在上一节中,已经完成了OPENCV的配置,在本节接触几个Opencv图像处理相关的程序,看看opencv用简洁的代码能够实现哪些有趣的图像效果。 1、第一个程序:图像显示 2、第二个程序:图像腐蚀 如何用opencv实现最基本的形态学运算之一 腐蚀,即用图像中的暗色部分“腐蚀”掉图像中的高亮部分。 阅读全文
摘要:
对你的机器人进行测量校准 在这一部分当中,需要有实际的机器人,如果没有可以略过此节,如果有一台原版的TurtleBot(用iRobot create作为底座),那么确保使用自动校准过程为你的机器人设置角速度修正系数。还可以用这一部分内容的第一步去设置线速度修正系数。需要注意的是,无论在什么情况下,都 阅读全文
摘要:
1、/odom : (odometry : 里程计,就是车子方向盘下面的各种表)下面是它内部的参数: std_msgs/Header header string child_frame_id // 子类坐标系 geometry_msgs/PoseWithCovariance pose // 平移和旋 阅读全文
摘要:
控制一个机器人运动可以在运动控制系统中许多不同的层中实现,ROS在不同的层中都有提供相应的方法。从对发动机的直接控制,到路径规划和SLAM,不同的层代表着不同程度的抽象。 1、发动机、轮子和编码器 大多数differential drive robots在运行ROS时都会在发动机和轮子上使用编码器。 阅读全文
摘要:
在这一章节将学习如何控制底座移动,这里的底座是通过一对差速驱动轮子和一个被动转动的轮子来保持平衡。ROS还可以被用来控制全方向移动底座,控制飞行机器人或者水下交通工具,不过陆地上行走的差速驱动机器人比较适合初学者。 1、单位长度和坐标系 在给机器人传送指令前,复习一下ROS使用的单位长度和坐标系惯例 阅读全文
摘要:
在这里我之前用的VM12安装成功之后,仿真器机器人会有问题,故把电脑做成双系统的形式来重新安装; 环境:Ubuntu14.04 LTS 32bits ROS版本:ROS Indigo 在学习本部分之后的内容,请先学习 beginner_Tutorials 和 learning_tf 的ROS 相关教 阅读全文