如果在ROSHydro或Ubuntu13.04,13.10上使用Autoware,请在2015/OCT/21之前使用结帐修订。
注意:请勿安装ros-indigo-velodyne-pointcloud软件包。如果您已经安装,请卸载它。
###基于Caffe的对象检测器基于CV的检测器RCNN和SSD节点不会自动构建。
GitFlow,git分支模型,在Autoware仓库中引入。
请参阅Autoware/docs。截至2015年8月,我们仅提供日本文件。英文文本将会加入。
要订阅AutowareDevelopersML,
----
用于ROS的RGB-DSLAM
...是用于RGB-D相机的最先进的SLAM系统,例如MicrosoftKinect或AsusXtionProLive。您可以使用它来创建3D点云或OctoMaps。
“3DMappingwithaRGB-DCamera”,F.Endres,J.Hess,J.Sturm,D.Cremers,W.Burgard,IEEETransactionsonRobotics,2014。
其他信息可以在这里找到:
这是一个规范的方式,如果你知道你在做什么,随时适应。
##从Scratch###################################################现在有一个install.sh脚本,可以执行(bashinstall.sh)。它安装在/Code之下所需的一切(您可以在脚本中更改位置)。
脚本简短而且不复杂,因此您也可以将其用作手册。
如果您拥有4GB或更多内存的多核机器,则可以通过将“-j2”的两次发生增加到例如“-j4”来加快编译速度。
有关使用情况的详细信息,请参阅以下部分。但是,让您快速开始这里是最重要的指标:
该软件是ROSFuerte版本的RGBDSLAM的更新。然而,很多事情都发生了变化,所以下面的一些文档可能会被淘汰。请报告文档的问题。谢谢。
有几个示例启动文件在某些用例中设置了RGB-DSLAM的参数。有关所有设置的明确列表及其默认设置,请参阅GUI菜单设置->查看当前设置中的src/parameter_server.cpp或(当前设置而不是默认设置)中可读取的定义。
各种用例启动文件可能无法正常工作,因为它们没有经常测试。你应该让他们跑步,如果你提到的主题(“rostopic列表”和“rosnode信息”将帮助你“rqt_graph”也是太好了)。
大多数人似乎想要注册点云。当您命令RGB-DSLAM执行此操作时,默认情况下会发送到/rgbdslam/batch_clouds上(见下文)。发送的云实际上与以前一样,但是/从/映射到/openni_camera的默认转换是在/tf发送的。
octoMap库被编译到rgbdslam节点。这允许直接创建octomap。在GUI中,可以通过从“数据”菜单中选择“保存八进制”来完成。在线八进制是可能的,但不推荐。
要启动RGBDSLAMv2启动,例如$roslaunchrgbdslamopenni+rgbdslam.launch
或者,您可以单独启动openni节点和RGBDSLAMv2,例如:roslaunchopenni_cameraopenni_node.launchroslaunchrgbdslamrgbdslam.launch
要捕获模型,请按空格开始录制连续流,或按回车记录单帧。为了减少数据冗余,从(几乎)相同位置的顺序帧不包括在最终模型中。
参数RGBDSLAMv2可以通过参数进行定制。这些应该在启动文件中设置。可以在GUI操作期间更改参数,但是,从GUI更改可能对许多参数没有影响。
可视化3D可视化显示全局优化模型(您可能需要点击它才能在优化后更新视图)。除了缺少值和深度跳跃之外,相邻点可以进行三角测量。使用快捷方式“t”,可以切换三角测量。由于原始点的渲染速度稍微加快,参数“cloud_display_type”控制是否在收到云时完全计算三角测量。参数“gl_point_size”对大多数用户可能是有用的。
要启动rgbdslamheadless使用headless.launch:$roslaunchrgbdslamheadless.launch
通过以下方式捕获单个帧:$rosservicecall/rgbdslam/ros_uiframe
捕获数据流:$rosservicecall/rgbdslam/ros_ui_bpausefalse
使用计算转换发送点云(例如,到rviz或octomap_server):$rosservicecall/rgbdslam/ros_uisend_all
使用以下之一保存数据:
一个文件中的所有点云在rgbdslam/bin目录中的quicksave.pcd:$rosservicecall/rgbdslam/ros_ui_ssave_cloud
在rgbdslam/bin目录中的自己文件中的每个点云:$rosservicecall/rgbdslam/ros_uisave_individual
/rgbdslam/ros_ui:
/rgbdslam/ros_ui_b:
/rgbdslam/ros_ui_f:
/rgbdslam/ros_ui_s:
编译可能需要很多内存,特别是如果设置了环境变量$ROS_PARALLEL_JOBS。
如果您位于德国,并将保存的文件夹加载到meshlab中,请尝试切换到US语言环境,或用.use文件中的逗号替换小数点。
除了本手册,可以使用rosdoc(“rosrunrosdocrosdocrgbdslam”)创建代码文档,该文件将在当前目录中创建一个“doc”文件夹。
如果您收到siftgpu库找不到的错误,请在目录external/siftgpu/并重新运行catkin_make中手动执行“make”。
这个软件是分发的,希望它是有用的,但没有任何保证;甚至没有适销性或适用于特定用途的默示保证。
在这里,您将找到有关如何安装和使用ROS2软件的文档,ROS2是一个正在大力开发的新版本的ROS。有关ROS2的更多信息,请参见下文。
欧盟FP7研究项目SPENCER的目标是为服务机器人开发算法,可以通过高度动态和拥挤的行人环境(如机场或购物中心)来指导群体,同时以符合社会的方式行事,例如不跨越家庭或夫妇这样的机器人可以遇到的示例性情况在右侧的下图中可视化。为此,需要开发出在机器人环境中对于人类感知的强大和计算效率高的组件。
下图显示了在SPENCER项目背景下开发的实时人员和组检测和跟踪管道:
我们集成了以下人员检测模块:
在内部,我们已经集成了更先进的方法,包括轨迹导向多假设人物跟踪器[2],以及假设为导向的多模型多假设人和组跟踪器[1]。这些组件使用完全相同的ROS消息定义,但是它们尚未公开。这里提供的组件最初作为比较的基准方法实现。
作为示例,跟踪人员的一些功能显示为:
以下所有屏幕截图都是使用这些插件生成的。
以下屏幕截图显示我们的系统正在运行,同时从拥挤的机场环境播放记录的数据:
在配有前后RGB-D传感器(AsusXtionProLive)和两台SICKLMS500激光扫描仪的SPENCER机器人平台上,我们通过两台高端游戏笔记本电脑(IntelCorei7-4700MQ,nVidiaGeForce765M)。用于正面传感器的检测器与检测融合管线一起在一台笔记本电脑上执行。背面传感器和人员和组跟踪模块的检测器在第二台笔记本电脑上执行。两台笔记本电脑通过千兆以太网互相连接,平台的其余部分相互连接。
通过这种配置,组件可以实时运行在20-25Hz(可视化卸载到单独的计算机上),即使在拥挤的环境中也可以看到30多个人。
由于我们目前还没有提供任何预先构建的Debian软件包,因此您必须从源代码构建我们的框架。作为第一步,创建一个新的catkin工作区的文件夹,并将GitHub存储库克隆到子文件夹中src:
假设您已经安装了ROSIndigo或ROSKinetic,我们建议您通过以下方式安装我们的框架所需的依赖关系:
接下来,我们建议使用catkin(可通过sudoapt-getinstallpython-catkin-tools)设置工作区:
最后,通过以下方式构建所有包:
以下演示和三个教程可帮助您轻松开始使用我们的框架。
可以通过运行下载具有2D激光和RGB-D传感器数据来测试我们框架的简短示例性袋子文件
rosrunspencer_people_tracking_launchdownload_example_bagfiles.sh然后,您可以启动
roslaunchspencer_people_tracking_launchtracking_on_bagfile.launch这将开始播放一个bagfile(一旦按SPACE下来取消暂停)并运行Rviz进行可视化。
作为基于深度模板的上身检测器的替代方案,您可以选择从点云库中使用我们稍微修改的人物检测器版本。在使用HOGSVM验证候选ROI之前,该检测器首先执行欧氏距离聚类和头次集群提取。要这样做,传递use_pcl_detector:=true到启动文件。
如果您已经编译了cudaHOG库(参见上面的说明),您可以选择通过传送use_hog_detector:=true到启动文件来启用groundHOG检测器。检测到检测融合流水线将自动融合来自两个检测器的检测。
这是开始使用本地连接到计算机的单个RGB-D传感器的最简单方法。将您的AsusXtionProLive传感器水平放置在平面上,并将其连接到计算机(或播放下面进一步链接的示例袋子文件)。然后从您的人员跟踪工作区中运行以下启动文件(确保您已经提供了它,例如sourcedevel/setup.bash):
roslaunchspencer_people_tracking_launchtracking_single_rgbd_sensor.launchheight_above_ground:=1.6这将执行以下操作:
原始的MSKinectv1传感器不支持OpenNi2。在这种情况下,请附加use_openni1:=true到上述命令行的启动文件以备份到OpenNi1。
如果您看不到任何检测边界框,请先检查点云是否正确显示在RViz中。如果没有,您的RGB-D传感器可能有问题(USB或OpenNi问题)。
要尝试类似于SPENCER机器人平台的传感器配置,请运行:
roslaunchspencer_people_tracking_launchtracking_on_robot.launch这假设RGB-D传感器水平安装在地面以上约1.6m处,传感器数据将在以下主题上公布:
启动文件启动一个类似于教程1(上图)的管道,但是包括用于后部传感器的第二组RGB-D探测器,以及两个2D激光扫描仪的人员探测器。发布上述RGB-D和激光数据的传感器驱动程序不会由此启动文件自动启动。此外,您手动必须启动Rviz。
请注意,如果只有人检测器的一部分运行,则融合管线会自动重新配置。如果你没有后面的RGB-D传感器,只需注释掉包含rear_rgbd_detectors.launch在里面的行tracking_on_robot.launch。
我们的ICRA2016论文的多模态“运动捕捉”序列可根据要求提供,让您在我们的数据集上评估自己的检测/跟踪算法。为了公平的比较,请尽可能使用此存储库中包含的CLEAR-MOT指标实现。由于隐私原因,机场序列的原始数据不能共享,尽管我们可能会在稍后提供提取的检测。
该存储库中的软件由以下机构维护:
不同ROS包的信用量分配给相应README.md和package.xml文件中列出的特定作者。
这项工作得到EC根据合同号FP7-ICT-600877(SPENCER)的支持。如果您使用此存储库中包含的软件进行研究,请引用以下出版物:
关于在非常拥挤和动态环境中的移动平台的多模态人员跟踪Linder,T.,Breuers,S.,Leibe,B.,Arras,KOIEEE国际机器人与自动化大会(ICRA)2016
也可以:
人机检测,跟踪和可视化使用ROS在移动服务机器人Linder,T.和Arras,KO机器人操作系统(ROS):完整参考(第1卷)。Springer系统,决策和控制研究,2016年
该存储库中的大多数软件都是根据BSD许可证发布的。但是,有关详细信息,请查看各个ROS包。
[1]LinderT.和ArrasKO多模型假设跟踪RGB-D数据中的人群。IEEEInt。会议信息融合(FUSION'14),萨拉曼卡,西班牙,2014年。
[2]JafariO.Hosseini和MitzelD.和LeibeB。基于移动机器人和头戴式相机的实时RGB-D人检测和跟踪。IEEE国际机器人与自动化大会(ICRA'14),2014年。
[3]ArrasKO和MartinezMozosO.和BurgardW..使用增强特征来检测2D范围数据中的人。IEEE国际机器人与自动化大会(ICRA'07),意大利罗马2007年。
[4]MunaroM.和MenegattiE.快速RGB-D人跟踪服务机器人。自主机器人,第37卷第3期,第227-242页,Springer,2014。
AutoRally研究平台软件。
研究页面AutoRally与:
要直接从AutoRally回购克隆:
rosdepinstall--from-pathsrc--ignore-src-y
catkin_make从catkin工作空间文件夹编译并安装运行。
由于ROS分布式发射系统的额外要求,您必须运行
sourcesrc/autorally/autorally_util/setupEnvLocal.sh
注意:如果您不熟悉catkin,请知道您必须运行sourcecatkin_ws/devel/setup.sh,ROS将能够找到自动包。这行可以添加到你的/.bashrc文件。
您可以生成或运行更新代码文档doxygen在autorally/。
查看autorally/doc/html/index.html在Web浏览器中打开的代码文档。
roslaunchautorally_gazeboautoRallyTrackGazeboSim.launch
您可以使用USB手柄来驱动模拟平台。在启动时,节点发布的runstop消息joystick是假的。按右键(通常标记为X,Y,A,B或正方形,三角形,X,圆圈)的任何按钮可切换发布的值。
通过查看主题中的runstopMotionEnabled参数来验证运行状态运动是否启用/chassisState。
如果您没有使用游戏手柄,则必须为平台移动配置另一个runstop信息源:
和rqt_publisher配置来发布消息主题/runstop类型的autorally_msgs/runstop在1Hz与sender设置为rqt_publisher和motionEnabled设置为真。
在本节结尾,机器人将使用可用的控制器在模拟中自主驾驶autorally_control。
将机器人定位在与模拟开始时相同的位置,并确保启动运行停止运动(设置为true)。
在autorally_core/launch/state_estimator.launch变化InvertY和InvertZ对假,则:
如果机器人转动并击中障碍物,可能是因为状态估计器没有收敛,所以它的方向估计是不正确的。只需选择轨道障碍并将其移动以允许机器人继续驾驶,并且估计器应该收敛,并且车辆将返回到障碍物内。
注意:有关iai_kinect2软件包及其组件的问题,请使用GitHub问题。不要写邮件
这是用于KinectOne(Kinectv2)的ROS接口的工具和库的集合。
它包含:
点云仅在使用启动文件时发布。确保启动kinect2_bridgeroslaunchkinect2_bridgekinect2_bridge.launch。
简答:不。
长的答案:是的,可以使用OpenCV3.0编译这个包,但是它不会工作。这是因为使用了cv_bridge,它本身在ROSIndigo/Jade中使用OpenCV2.4.x进行编译,并且无法与OpenCV版本进行链接。OpenCV3.0的工作支持可能会带来未来的ROS版本。
有很多原因kinect2_bridge可能不工作。首先要找出问题是否与kinect2_bridge或libfreenect2。一个很好的测试工具是Protonect它位于的二进制文件libfreenect2/build/bin/Protonect。它直接使用libfreenect2,对其他库的依赖性最小,因此它是第一个测试的好工具。
执行:
运行前kinect2_bridge请确保Protonect正在工作,并显示颜色,深度和图像。如果其中有些是黑色的,那么有一个与此无关的问题kinect2_bridge,您应该从libfreenect2GitHub页面中查看有关帮助的问题。
如果其中一人的作品,尝试与工作的一个kinect2_bridge:rosrunkinect2_bridgekinect2_bridge_depth_method:=
如果是这样的话,你必须确保Protonect使用相同版本libfreenect2的kinect2_bridge一样。要做到这一点,运行make和sudomakeinstall再次build文件夹中。再试kinect2_bridge一次。
还要确保你没有使用OpenCV3.0。
如果仍然崩溃,请在调试中编译并运行gdb:
打开一个问题,并发布问题描述和backtrace(bt)的输出。
这是正常的行为。'kinect2_bridge'仅在客户端连接时处理数据(ROS节点至少听到一个主题)。这样可以节省CPU和GPU资源。一旦开始kinect_viewer或rostopichz其中一个主题,处理应该开始。
rosdep将输出错误无法找到[kinect2_bridge]和[kinect2_registration]。这很好,因为它们都是iai_kinect2包的一部分,rosdep不知道这些包。
这表示USB连接有问题。
首先,检查GitHub上的问题页面是否有类似的问题,因为它们可能包含它们的解决方案。默认情况下,您只会看到公开的问题,但是如果您点击,closed您将会解决这些问题。还有一个搜索字段帮助找到类似的问题。
如果您没有发现问题的解决方案,请随时为您的问题开辟新的问题。请详细说明您的问题,并提供错误信息和日志输出。
roslaunchkinect2_bridgekinect2_bridge.launch
sudoapt-getinstallopencl-headers
sudoapt-getinstallnvidia-modprobeopencl-headers
exportLD_LIBRARY_PATH=“/usr/local/cuda/lib64:${LD_LIBRARY_PATH}”exportPATH=“/usr/local/cuda/bin:${PATH}”
echo“/usr/local/cuda/lib64”|sudotee/etc/ld.so.conf.d/cuda.confsudoldconfig
sudoadd-apt-repositoryppa:floe/beignet&&sudoapt-getupdatesudoapt-getinstallbeignetbeignet-devopencl-headers
结果应该与此类似(可能取决于所使用的参考书目风格):
最后列一些参考书籍:
该代码可与ROSJade和ROSIndigo相兼容。本书提到了每个包的详细安装说明
该代码可与ROSKinetic和ROSIndigo合作。本书提到了每个包的详细安装说明