摘要:转载自http://www.ncnynl.com/archives/201702/1328.html ROS发布nav_msgs/Odometry消息,以及通过tf从“odom”坐标系到“base_link”坐标系的转换。 在ROS上发布Odometry信息 导航包使用tf来确定机器人在世界中的位置
阅读全文
摘要:主要是订阅了playbag发布的scan话题和odom话题 其类型分别为 //cache the static tf from base to laser getBaseToLaserTf(scan_msg->header.frame_id);
阅读全文
摘要:1.参数服务器 ROS参数服务器能保存数据类型包括:strings, integers, floats, booleans, lists, dictionaries, iso8601 dates, and base64-encoded data。Dictionaries则必需有字符串key值。 ro
阅读全文
摘要:1.NodeHandle类(或者NodeHandle句柄)的私有名称 1)句柄可以让你通过构造函数指定命名空间 ros::NodeHandle nh("my_namespace"); 这使得使用该句柄的任何相对名字都是相对<node_namespace>/my_namespace,而不是只相对<no
阅读全文
摘要:1.介绍 nodelet包可以为在相同进程中的多个算法之间实现零拷贝的传输方式。 这个包也提供了实现一个nodelet所需的nodelet基类以及用于实例化nodelet的NodeletLoader类。 Source: git https://github.com/ros/nodelet_core.
阅读全文
摘要:1.准备 1)安装pluginlib_tutorials包: 2)创建一个包 2.创建基类 创建一个基类,所有的插件都将从基类继承,如RegularPolygon基类 创建一个基类头文件 其内容如下 在这里创建了一个抽象类名为RegularPolygon。 需要注意的是这个初始化方法,在使用plug
阅读全文
摘要:使用URDF创建机器人3D仿真模型 在真实的机器人上编程可以更好地让我们理解机器人的控制方式,因为真实的机器人会有反馈.如果没有真实的机器人,那么ROS仿真是一个很好的选择. ROS通过URDF(Unified Robot Description Format)描述机器人硬件尺寸布局. 1.创建一个
阅读全文
摘要:本文介绍使用机器人记录的tf变换和激光扫描数据来建立2D地图.并在ROS的图形化模拟环境rviz中通过重新回放记录的数据作为机器人真实传感器采集的输入,来观测地图动态创建过程. 1.ROS gmapping工具 ROS提供的gmapping包是用来生成地图的,它是对著名的开源openslam包在RO
阅读全文
摘要:把rgb摄像头的数据转换为laser的时候使用了Nodelet. pluginlib(插件库) 在ros中有一个plugin的包,下面是一个ROS Plugin Registration的例子 上面包含一个polygon_interface多边形接口,它包含了两个插件,第一个插件是rectangle
阅读全文
摘要:1.Gazebo概述 在Gazebo中的模拟效果是非常好的. 它的特性 Dynamics Simulation 直接控制物理引擎参数 Building Editor 无需代码即可在Gazebo中创建机器人模型(只用insert就可以插入各种模型,可以在基于Gazebo的云端中创建机器人模型) Adv
阅读全文
摘要:路径规划 目标导航: MoveBaseAction是在MoveBase中定义的一个action文件, 它的目标是 geometry_msgs/PoseStamped target_pose表示目标位置 结果为空 反馈为: geometry_msgs/PoseStamped base_position
阅读全文
摘要:导航定位仿真 仿真配置 stage_ros:仿真平台 amcl:用于定位 move_base:导航的实现 map_server:提供地图 配置文件有如下: 首先看一下stage_config目录,该目录下有maps以及worlds目录 在maps目录下有 在使用map文件和world文件的分辨率需要
阅读全文
摘要:导航概述 硬件要求: 虽然导航功能包集被设计成尽可能的通用,在使用时仍然有三个主要的硬件限制: ROS导航包集 下面图完美解释了导航功能包需要那些组件,首先看一下该如何设置 provided node已经提供的节点 optional provided node 可选择的节点 platform spe
阅读全文
摘要:gmapping 根据激光数据(或者深度数据模拟的激光数据)建立地图,在turtlebot里面应用的就是深度数据模拟的激光数据.如果没有激光雷达的话可以使用Kinect. SLAM 机器人在未知环境中从一个未知位置开始移动,在移动的过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量
阅读全文
摘要:上节课讲到了客户端,这节课讲解一下服务器 1.创建服务器源文件touch fibonacciserver.cpp 2.编写源文件 3.修改CMakeLists.txt 4.编译之catkin_make 5.运行roscore, 再运行客户端rosrun learning_actionlib fibo
阅读全文
摘要:一\Actionlib概念 在ROS系统中,有时需发送请求给某个节点完成相应的任务,同时获得一个一个响应,这种情况下可以通过ROS服务来 完成;然而,在某些情况下,服务需要很长时间才能执行完,如让机器人到达一个指定的地点,用户想要取消或者定期得到请求执行的进度的反馈,这个时候我们选择actionli
阅读全文
摘要:1、Kinect 1)安装 sudo apt-get install ros-indigo-openni-camera sudo apt-get install ros-indigo-openni-launch 2)驱动 https://github.com/avin2/SensorKinect 运
阅读全文