
ROS
文章平均质量分 74
ROS入门和开发。
abcwoabcwo
这个作者很懒,什么都没留下…
展开
-
rostopic pub通过命令行发布话题
作用使用指定的话题名称发布消息用法rostopic pub [话题名称] [消息类型] [参数]Usage: rostopic pub /topic type [args...]选项-h, --helpshow this help message and exit.-v print verbose output.-r RATE, --rate=RATE...原创 2020-01-19 09:34:54 · 17155 阅读 · 0 评论 -
怎么写ROS中的CMakeLists.txt?
您的CMakeLists.txt文件必须遵循此格式,否则您的软件包将无法正确构建。 配置中的顺序很重要。 Required CMake Version (cmake_minimum_required) Package Name (project()) Find other CMake/Catkin packages needed for build (find_packa...原创 2020-01-06 08:55:27 · 230 阅读 · 0 评论 -
下载ROS源码
step1 安装依赖项 sudo apt-get install python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential step2 选择内容并下载 1.可选1:Desktop-Full Install: ROS, rqt, rviz, robot-...原创 2019-12-20 09:13:11 · 1414 阅读 · 0 评论 -
actionlib_msgs简介及使用
在路径/opt/ros/indigo/share/actionlib_msgs/msg下有三个msg文件: GoalID.msg GoalStatus.msg GoalStatusArray.msg Message: actionlib_msgs/GoalID File: actionlib_msgs/GoalID.msg Raw message definiti...原创 2019-12-14 10:17:57 · 2365 阅读 · 0 评论 -
ROS actionlib
actionlib是ROS中一个很重要的功能包集合,尽管在ROS中已经提供了srevice机制来满足请求—响应式的使用场景,但是假如某个请求执行时间很长,在此期间用户想查看执行的进度或者取消这个请求的话,service机制就不能满足了,但是actionlib可满足用户这种需求。例如,控制机器人运动到地图中某一目标位置,这个过程可能复杂而漫长,执行过程中还可能强制中断或反馈信息,这时action...原创 2019-10-28 09:08:38 · 279 阅读 · 0 评论 -
RViz doesn't load .dae mesh. Cannot locate it.
问题描述I am trying to load an underwater robot mesh in RViz. Because I could not do this with a .osg file, I converted it to .dae with Blender. Even though I have done that, RViz is still not able to lo...原创 2019-03-04 16:29:38 · 2059 阅读 · 0 评论 -
turtlebot_description解读
turtlebot_description provides a complete 3D model of the TurtleBot for simulation and visualization. The files in this package are parsed and used by a variety of other components. Most users will no...原创 2019-03-02 16:16:38 · 439 阅读 · 0 评论 -
ROS中多参数的回调函数怎么写
做个笔记,可以参考:https://blog.youkuaiyun.com/shiyue0010/article/details/51984230转载 2019-03-02 14:57:53 · 3587 阅读 · 0 评论 -
ROS发布激光扫描消息
转载自:https://www.cnblogs.com/21207-iHome/p/7840129.html激光雷达工作时会先在当前位置发出激光并接收反射光束,解析得到距离信息,而后激光发射器会转过一个角度分辨率对应的角度再次重复这个过程。限于物理及机械方面的限制,激光雷达通常会有一部分“盲区”。使用激光雷达返回的数据通常可以描绘出一幅极坐标图,极点位于雷达扫描中心,0-360°整周圆由扫...转载 2019-02-18 19:07:46 · 603 阅读 · 0 评论 -
ROS学习笔记(十):ROS中package的组成
ROS中的软件以package(包)的形式组织。软件包可能包含ROS 节点,与ROS无关的库,数据集,配置文件,第三方软件或逻辑上构成有用模块的任何其他内容。这些包的目标是以易于消费的方式提供这种有用的功能,以便软件可以轻松重用。 ROS包往往遵循一个共同的结构。以下是您可能注意到的一些目录和文件。include/package_name:C ++包含头(确保在CMakeLists.t...原创 2019-01-17 17:12:45 · 1222 阅读 · 0 评论 -
ROS 消息队列
https://blog.youkuaiyun.com/handsome_for_kill/article/details/81984428http://wiki.ros.org/rospy/Overview/Publishers%20and%20Subscribershttp://wiki.ros.org/roscpp/Overview/Publishers%20and%20Subscribers原创 2019-05-22 09:29:10 · 831 阅读 · 0 评论 -
ROS学习笔记(十二):tf
Transform Configuration(变换配置)许多ROS功能包,都要求利用tf软件库,以机器人识别的变换树的形式进行发布。抽象层面上,变换树其实就是一种“偏移”,代表了不同坐标系之间的变换和旋转。更具体点来说,设想一个简单的机器人,只有一个基本的移动机体和挂在机体上方的扫描仪。基于此,我们定义了两个坐标系:一个对应于机体中心点的坐标系,一个对应于扫描仪中心的坐标系。分别取名为“ba...原创 2019-05-29 23:07:17 · 468 阅读 · 0 评论 -
ROS中的地图
ROS中的地图很好理解,就是一张普通的灰度图像,通常为pgm格式。这张图像上的黑色像素表示障碍物,白色像素表示可行区域,灰色是未探索的区域。如下图所示,在SLAM建图的过程中,你可以在RViz里看到一张地图被逐渐建立起来的过程,类似于一块块拼图被拼接成一张完整的地图。这张地图对于我们定位、路径规划都是不可缺少的信息。事实上,地图在ROS中是以Topic的形式维护和呈现的,这个Topic名称...原创 2019-06-15 13:18:54 · 4203 阅读 · 2 评论 -
ROS中的多传感器时间同步
问题在对多传感器数据融合时,由于各个传感器采集数据的发布频率的不同,例如odom一般为50Hz、imu一般为100Hz、camera 一般为25Hz,需要将传感器数据进行时间同步后才能进行融合。方法分别订阅不同的需要融合的传感器的主题,通过TimeSynchronizer 统一接收多个主题,并产生一个同步结果的回调函数,在回调函数里处理同步时间后的数据。输入 C++: Up ...原创 2019-06-11 19:30:42 · 4516 阅读 · 2 评论 -
PID控制器
在工程实际中,PID控制是应用最为广泛控制方式。PID为比例、积分、微分的缩写。比例(P)控制比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。积分(I)控制在积分控制中,控制器的输出与输入误差信号的积分成正比关系。微分(D)控制在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。连续形式和离散形式更多h...原创 2019-07-27 09:44:22 · 277 阅读 · 0 评论 -
ros::NodeHandle与命名空间的那些事儿
两个用途首先,它提供简单的启动和关闭roscpp程序内部节点。 其次,它提供了额外的命名空间解析层,可以使编写子组件更容易。自动启动和关闭ros :: NodeHandle管理内部引用计数,以便启动和关闭节点,如下所示:ros :: NodeHandle nh;在创建时,如果内部节点尚未启动,则ros :: NodeHandle将启动该节点。一旦所有ros :: Node...原创 2019-08-16 19:14:31 · 2189 阅读 · 0 评论 -
ROS中Callbacks和Spinning的那些事儿:ros::spin ros::spinOnce ros::MultiThreadedSpinner ros::AsyncSpinner
ros::spin() 单线程回调函数ros::spin()在节点关闭或ros::shutdown()或按下Ctrl-C才会返回。ros::spinOnce() 单线程回调函数ros::spinOnce()在那个时间点,会调用所有的回调函数。ros::MultiThreadedSpinner 防阻塞多线程回调函数MultiThreadedSpinner类似于ros::spin...原创 2019-09-21 09:49:26 · 2232 阅读 · 0 评论 -
ROS中的坐标系map、odom、base_link、base_footprint、base_laser
ROS最常用的坐标系为map、odom、base_link、base_footprint、base_laser坐标系。map地图坐标系一般设该坐标系为固定坐标系(fixed frame),一般与机器人所在的世界坐标系一致。base_link机器人本体(基座)坐标系与机器人中心重合,坐标系原点一般为机器人的旋转中心。base_footprint坐标系原点为base_link原...原创 2019-09-21 15:25:03 · 9928 阅读 · 4 评论 -
ROS学习笔记(九):ROS的一些重要概念
ROSROS是一个用于开发机器人应用程序的、类似操作系统的机器人软件平台。ROS提供开发机器人应用程序时所需的硬件抽象、子设备控制,以及机器人工程中广泛使用的传感、识别、绘图、运动规划等功能。此外ROS还提供进程之间的消息解析、功能包管理、库和丰富的开发及调试工具。主节点主节点(master)负责节点到节点的连接和消息通信,类似于名称服务器(Name Server)。roscore是它的运...原创 2019-01-17 16:52:28 · 745 阅读 · 0 评论 -
ROS学习笔记(五):ROS 常用命令(二)
catkin_make 命令rosbag 命令rosmsg 命令 rosnode 命令rosparam 命令rosservice 命令rossrv 命令rostopic 命令转载 2019-01-17 16:42:30 · 376 阅读 · 0 评论 -
Stage资料汇总
IntroductionStage is a robot simulator. It provides a virtual world populated by mobile robots and sensors, along with various objects for the robots to sense and manipulate.There are three ways to ...原创 2019-01-04 17:59:05 · 369 阅读 · 0 评论 -
ROS学习笔记(七):Turtlebot仿真-下载所有的gazebo的模型
Gazebo特性Dynamics Simulation直接控制物理引擎参数; Building Editor无需代码即可在Gazebo中创建机器人模型(只用insert就可以插入各种模型,可以在基于Gazebo的云端中创建机器人模型); Advanced 3DGraphics提高真实性; Sensors提供激光雷达,摄像头,RGBD摄像头,IMU等传感器; Robot Models提供...原创 2019-01-03 19:35:56 · 3587 阅读 · 2 评论 -
ROS学习笔记(八):ROS术语
原创 2018-04-20 18:55:20 · 379 阅读 · 0 评论 -
ROS学习笔记(六):使用 turtlesim的小例子
启动turtlesim在三个不同的终端中,分别执行以下三个指令:$ roscore$ rosrun turtlesim turtlesim_node$ rosrun turtlesim turtle_teleop_key分三个终端的目的是让三个指令同时进行。如果一切正常,你应该看到类似于下图的图形窗口。这个窗口显示了一个模拟龟形机器人,它生活在方形“世界”。每台机器海龟的外...原创 2018-03-26 22:44:04 · 3276 阅读 · 0 评论 -
ROS学习笔记(一):ROS简介
ROS即机器人操作系统(RobotOperating System) ,它可以帮助提高机器人软件的开发效率。ROS系统是起源于2007年斯坦福大学人工智能实验室的项目与机器人技术公司Willow Garage的个人机器人项目(Personal RobotsProgram)之间的合作,2008年之后就由WillowGarage来进行推动。2010年Willow Garage公司发布了开源机器...原创 2018-03-26 22:37:33 · 5528 阅读 · 1 评论 -
ROS学习笔记(四):ROS 常用命令(一)
转载 2018-03-26 22:38:16 · 605 阅读 · 0 评论 -
ROS学习笔记(十一):roscore与roslaunch的区别
roscore 节点管理器应该在使用 ROS 的全部时间内持续运行。一个合理的工作流程是在一个终端启动roscore,然后打开其他终端运行其他程序。除非你已经完成 ROS 的相关工作,否则一般没有理由终止roscore命令。当结束时,可以通过在roscore 终端键入 Ctrl-C停止节点管理器。大多数ROS 节点在启动时连接到节点管理器上,如果运行中连接中断,则不会尝试重新连接。因此,...原创 2019-05-20 14:26:33 · 5809 阅读 · 0 评论 -
ROS学习笔记(二):Ubuntu14.04安装ROS Indigo教程及卸载方法
ROS 存在不同的版本,但是由于ROS不同版本之间互不兼容,所以每一个 ROS 版本都对应着一个或两个对应的Ubuntu 版本。安装时,一定要对应好,否则安装出问题。ROS发布日期 ROS版本 对应Ubutnu版本 2016.3 ROS Kinetic Kame Ubuntu 16.04 (Xenial) / Ubuntu 15.10 (Wily) 2015....原创 2018-03-26 22:37:54 · 1283 阅读 · 0 评论 -
Bug避障算法简介(Bug1 & Bug2)
基本概念障碍物是指妨碍机器人通行的静止状态和运动状态的物体。 避障是指移动机器人根据传感器感知到的障碍物的状态信息,包括障碍物的尺寸、形状和位置等,按照一定的方法进行有效地避障,最后达到目标点。 实现避障与导航的必要条件是环境感知,在未知或者是部分未知的环境下避障需要通过传感器获取周围环境信息。基本思想 Bug算法大概是人们能想象到的最简单的避障算法。其基本思想是机器人在...原创 2018-05-22 20:09:56 · 8223 阅读 · 0 评论 -
ROS中catkin_make出错
情况一 在ROS的Kinetic Kame(May 2016 - May 2021)这个版本之前的所有版本都是在c++03环境下编译的。Kinetic Kame版本开始才使用c++11环境下编译。在开发过程中,如果在较早的版本(如indigo)中使用了c++11标准库的一些函数时,在catkin_make过程会报错。因此,需要在你使用了c++11标准库函数的包里CMakeLists...原创 2018-08-22 18:42:34 · 3928 阅读 · 0 评论 -
Ubuntu14.04 + ROS indigo环境安装更新版本Gazebo
Step1:先卸载 ros-indigo-desktop-full如果之前安装ROS时,是使用如下命令安装,则需要先卸载。sudo apt-get install ros-indigo-desktop-full因为,ros-indigo-desktop-full不仅包含了ros-indigo-ros-base、ros-indigo-desktop这些基本包,还集成了很多的功能包,其中包...原创 2019-01-03 19:33:41 · 1819 阅读 · 0 评论 -
ROS学习笔记(三):Ubuntu14.04安装ROS Indigo报错
问题描述根据上篇博客《ROS学习笔记(二):Ubuntu14.04安装ROS Indigo教程》安装过程中,执行sudo apt-get install ros-indigo-desktop-full可能会报如下错误信息Errors were encountered while processing: /var/cache/apt/archives/python-rosdist...原创 2018-12-27 18:56:48 · 832 阅读 · 0 评论 -
Turtlebot源码安装编译
安装依赖性sudo apt-get install ros-indigo-turtlebot ros-indigo-turtlebot-apps ros-indigo-turtlebot-interactions ros-indigo-turtlebot-simulator ros-indigo-kobuki-ftdi ros-indigo-rocon-remocon ros-indigo-r...原创 2018-12-11 11:51:38 · 621 阅读 · 1 评论 -
ROS cv_bridge
cv_bridge把ROS 的数据格式转为Opencv可以使用的数据格式。即是一个提供ROS和OpenCV库提供之间的接口的开发包。报错CMake Error at /opt/ros/indigo/share/cv_bridge/cmake/cv_bridgeConfig.cmake:110 (message): Project 'cv_bridge' specifies '/us...原创 2018-11-05 20:07:52 · 1005 阅读 · 1 评论 -
c++11环境下编译ROS的开发程序
在ROS的Kinetic Kame(May 2016 - May 2021)这个版本之前的所有版本都是在C++03环境下编译的。Kinetic Kame版本开始使用c++11环境下编译。在开发过程中,在较早的版本(如indigo)使用了c++标准库的一些函数时,会报错。因此,应该在你使用了c++11标准库函数的包里CMakeLists.txt文件里添加:add_compile_option...原创 2018-11-05 19:41:34 · 1340 阅读 · 0 评论 -
TurtleBot2主要技术规格与指标
TurtleBot 2的主要技术规格如下:3个保险杠(碰撞传感器):左,前,右 1个悬崖感应器(防止从5cm以上高处跌落) 1个车轮下降传感器(每个车轮一个) 4个连接器:5V @ 1A Molex PN:43650-0218 - 用于定制电路板 12V@1.5A:Molex PN:43045-0224 - 特别支持kinect 12V @ 5A:Molex PN:556...原创 2018-09-06 19:06:40 · 5021 阅读 · 0 评论 -
Kobuki Turtlebot2
The mobile platform Kobuki Turtlebot II is a low-cost mobile robot for education and research. Despite the price, this product offers a high performance and is able to carry out most of advanced robot...原创 2018-09-07 19:33:31 · 760 阅读 · 0 评论