Star 200+php
https://github.com/CPFL/Autowarecss
用于城市自主驾驶的开源软件。 http://www.tier4.jp/
html
用于城市自主驾驶的集成开源软件,由第四层维护。支持如下功能:node
Autoware受BSD许可证保护。请自行负责使用。为了安全使用,咱们为不拥有真正自主车辆的人提供基于ROSBAG的仿真方法。若是您使用Autoware与真正的自主车辆,请在现场测试以前制定安全措施和风险评估。python
若是在ROS Hydro或Ubuntu 13.04,13.10上使用Autoware,请在2015 / OCT / 21以前使用结账修订。linux
注意:请勿安装ros-indigo-velodyne-pointcloud软件包。若是您已经安装,请卸载它。git
注意:在Ubuntu15.04 Jade中没有提供jsk_visualization和grid_map。请从如下存储库下载并自行构建。https://github.com/jsk-ros-pkg/jsk_visualization https://github.com/ethz-asl/grid_mapgithub
###基于Caffe的对象检测器基于CV的检测器RCNN和SSD节点不会自动构建。算法
要构建这些节点,请遵循相应节点的README SSD RCNN编程
当心更改下面的文件ros/src/sensing/drivers/lidar/packages/velodyne
。有子树。原始存储库在这里。若是从这个存储库更改这些文件,您必须使用Git子树推送。(若是您不明白,请不要更改并推送代码 git subtree
)。
GitFlow,git分支模型,在Autoware仓库中引入。
develop
。$ git checkout -b feature/[your_branch_name] develop
master
分支中发现错误时,能够从您的修补程序分支中分离出来master
。$ git checkout -b hotfix/[your_branch_name] master
更多细节在这里
请参阅Autoware / docs。截至2015年8月,咱们仅提供日本文件。英文文本将会加入。
Autoware Developers(autoware@googlegroups.com)
要订阅Autoware Developers ML,
----
用于ROS的RGB-D SLAM
https://github.com/felixendres/rgbdslam_v2
...是用于RGB-D相机的最早进的SLAM系统,例如Microsoft Kinect或Asus Xtion Pro Live。您可使用它来建立3D点云或OctoMaps。
RGBDSLAMv2是基于开源项目,ROS,OpenCV,OpenGL,PCL,OctoMap,SiftGPU,g2o等等 - 谢谢!
具备系统描述和性能评估的期刊文章能够在如下出版物中找到:
“3D Mapping with a RGB-D Camera”,
F. Endres,J.Hess,J.Sturm,D. Cremers,W.Burgard,
IEEE Transactions on Robotics,2014。
更多的信息能够在个人博士论文中找到
其余信息能够在这里找到:
这是一个规范的方式,若是你知道你在作什么,随时适应。
将RGBDSLAMv2放在catkin工做区中:有关 详细信息,请参阅catkin 教程。使用git将此存储库克隆到工做区的“src /”目录中。或下载RGBDSLAMv2做为存档,并将其解压缩到“src /”。
下载个人[g2o fork | https://github.com/felixendres/g2o ],将其放在其余目录中。构建并安装。将环境变量导出$G2O_DIR
到安装目录,让rgbdslam_v2知道在哪里找到它(请参阅从Scratch安装一个示例)。
使用rosdep(即“rosdep install rgbdslam”)安装缺乏的依赖项。详情请见http://wiki.ros.org/ROS/Tutorials/rosdep
要构建RGBDSLAMv2去你的catkin工做区并执行“catkin_make”。若是您收到有关缺乏siftgpu库的错误信息,请再次执行“catkin_make”。
##从Scratch ########################################### ########如今有一个install.sh脚本,能够执行(bash install.sh
)。它安装在〜/ Code之下所需的一切(您能够在脚本中更改位置)。
脚本简短并且不复杂,所以您也能够将其用做手册。
若是要使用安装脚本,则直接下载就足够了 。没有必要克隆这个存储库,由于脚本会为你作这个。
若是您拥有4GB或更多内存的多核机器,则能够经过将“-j2”的两次发生增长到例如“-j4”来加快编译速度。
有关使用状况的详细信息,请参阅如下部分。可是,让您快速开始这里是最重要的指标:
若是要使用RGBDSLAMv2与RGB-D摄像机,您可能必须安装openni(sudo apt-get install ros-kinetic-openni-launch)或相似的东西
查看“launch /”中的启动文件的示例和具体用例。roslaunch rgbdslam openni + rgbdslam.launch是实时映射的良好起点。
您可能须要根据摄像机驱动程序节点调整输入主题的参数。
查看“test /”中的README,用于在Juergen Sturm的RGB-D SLAM数据集和基准测试中运行,测试和评估RGBDSLAMv2:http : //vision.in.tum.de/data/datasets/rgbd-dataset 您须要cython for评估脚本(sudo apt-get install cython)。
若是要使用SURF或SIFT,则须要从源代码构建opencv,包括非免费模块(这不包括已包含的SIFTGPU,但须要在CMakeLists.txt中启用)。在RGBDSLAMv2的CMakeLists.txt中,您能够设置OpenCV的构建目录,并启用非免费功能。请注意,SIFT和SURF不是最佳选择。因为RGBDSLAMv2中的新(软件)功能,ORB优于二者。
该软件是ROS Fuerte版本的RGBDSLAM的更新。然而,不少事情都发生了变化,因此下面的一些文档可能会被淘汰。请报告文档的问题。谢谢。
有几个示例启动文件在某些用例中设置了RGB-D SLAM的参数。有关全部设置的明确列表及其默认设置,请参阅GUI菜单设置 - >查看当前设置中的src / parameter_server.cpp或(当前设置而不是默认设置)中可读取的定义。
各类用例启动文件可能没法正常工做,由于它们没有常常测试。你应该让他们跑步,若是你提到的主题(“rostopic列表”和“rosnode信息”将帮助你“rqt_graph”也是太好了)。
大多数人彷佛想要注册点云。当您命令RGB-D SLAM执行此操做时,默认状况下会发送到/ rgbdslam / batch_clouds上(见下文)。发送的云实际上与之前同样,可是/从/映射到/ openni_camera的默认转换是在/ tf发送的。
octoMap库被编译到rgbdslam节点。这容许直接建立octomap。在GUI中,能够经过从“数据”菜单中选择“保存八进制”来完成。在线八进制是可能的,但不推荐。
要启动RGBDSLAMv2启动,例如$ roslaunch rgbdslam openni + rgbdslam.launch
或者,您能够单独启动openni节点和RGBDSLAMv2,例如:roslaunch openni_camera openni_node.launch roslaunch rgbdslam rgbdslam.launch
要捕获模型,请按空格开始录制连续流,或按回车记录单帧。为了减小数据冗余,从(几乎)相同位置的顺序帧不包括在最终模型中。
参数RGBDSLAMv2能够经过参数进行定制。这些应该在启动文件中设置。能够在GUI操做期间更改参数,可是,从GUI更改可能对许多参数没有影响。
可视化3D可视化显示全局优化模型(您可能须要点击它才能在优化后更新视图)。除了缺乏值和深度跳跃以外,相邻点能够进行三角测量。使用快捷方式“t”,能够切换三角测量。因为原始点的渲染速度稍微加快,参数“cloud_display_type”控制是否在收到云时彻底计算三角测量。参数“gl_point_size”对大多数用户多是有用的。
RosUI能够替代Grapical_UI来运行rgbdslam headless,例如在PR2上。而后能够经过服务调用使用rgbdslam。可能的电话是:
要启动rgbdslam headless使用headless.launch:$ roslaunch rgbdslam headless.launch
经过如下方式捕获单个帧:$ rosservice call / rgbdslam / ros_ui frame
捕获数据流:$ rosservice call / rgbdslam / ros_ui_b pause false
使用计算转换发送点云(例如,到rviz或octomap_server):$ rosservice call / rgbdslam / ros_ui send_all
使用如下之一保存数据:
一个文件中的全部点云在rgbdslam / bin目录中的quicksave.pcd:$ rosservice call / rgbdslam / ros_ui_s save_cloud
在rgbdslam / bin目录中的本身文件中的每一个点云:$ rosservice call / rgbdslam / ros_ui save_individual
/ rgbdslam / ros_ui:
/ rgbdslam / ros_ui_b:
/ rgbdslam / ros_ui_f:
/ rgbdslam / ros_ui_s:
编译可能须要不少内存,特别是若是设置了环境变量$ ROS_PARALLEL_JOBS。
若是您位于德国,并将保存的文件夹加载到meshlab中,请尝试切换到US语言环境,或用.use文件中的逗号替换小数点。
若是您对RGBDSLAM的安装或使用有任何疑问,请参阅http://answers.ros.org/questions/?tags=RGBDSLAM如需进一步的问题,建议,修改本自述文件或提交修补程序,请联系Felix Endres(endres @ informatik.uni-freiburg.de)。
除了本手册,可使用rosdoc(“rosrun rosdoc rosdoc rgbdslam”)建立代码文档,该文件将在当前目录中建立一个“doc”文件夹。
若是与GICP或SIFTGPU的编译或连接有关的问题,能够在CMakeLists.txt的顶部停用这些功能。您可能会得到更快的GPU功能设置参数“siftgpu_with_cuda”,但您将须要安装可能须要NVidia GPU的专有CUDA驱动程序(请参阅http://www.nvidia.com/object/cuda_gpus.html)。要安装开发驱动程序和CUDA SDK,您可使用如下教程:http ://sublimated.wordpress.com/2011/03/25/installing-cuda-4-0-rc-on-ubuntu-10-10- 64位/ ubuntu 10.04:http : //ubuntuforums.org/showthread.php?t=1625433(在Ubuntu 10.04 x64上测试)要使用SiftGPU,您应该安装“libdevil-dev”。
能够在external / siftgpu / Linux / makefile中更改其余编译信息。
若是您收到siftgpu库找不到的错误,请在目录external / siftgpu /并从新运行catkin_make中手动执行“make”。
GICP普遍的ICP能够(de)激活,以完善注册。有关更多信息,请参阅http://stanford.edu/~avsegal/generalized_icp.html
这个软件是分发的,但愿它是有用的,但没有任何保证; 甚至没有适销性或适用于特定用途的默示保证。
RGBDSLAM是根据GPL v.3受权的。请参阅随附的文件“复制”。
----
ROS2:https://github.com/ros2/ros2/wiki
机器人操做系统(ROS)是一组可帮助您构建机器人应用程序的软件库和工具。从驱动程序到最早进的算法,以及强大的开发人员工具,ROS具备您下一个机器人项目所需的功能。这都是开源的。
在这里,您将找到有关如何安装和使用ROS 2软件的文档,ROS 2是一个正在大力开发的新版本的ROS。有关ROS 2的更多信息,请参见下文。
若是您正在寻找有关ROS 1的信息(即ROS,由于它已经存在了好几年,如今您可能正在使用),请查看ROS网站或文档维基。
在继续以前,请阅读功能页面了解当前ROS 2版本中的内容。
请参阅安装页面。
ROS 2正在大力发展,全部版本目前都是“alpha”-prefixed。您不该该指望今天从ROS 1切换到ROS 2,但您能够查看教程页面,以查看系统在当前状态下能够执行的操做的一系列示例。
有关如何为ROS 2开发作出贡献的详细信息,请参阅贡献页面和开发人员指南。
请参阅联系页面。
自从ROS于2007年启动以来,机器人和ROS社区发生了很大变化。ROS 2项目的目标是适应这些变化,利用ROS 1的优点,改善不了的。有一个关于ROS 2的动机完整的文章在这里。
ROS 2的Alpha版本目前正在进行约6周的节奏,让社区成员有机会对系统提供反馈。在高层次上,ROS 2的发展普遍侧重于为支持多个DDS中间件实施,多个操做系统,多种编程语言以及与运行ROS 1的系统共存的基础奠基基础。有关当前功能的详细信息,请参阅功能。
有关ROS 2的即将推出的功能的详细信息,请参阅路线图。
有关ROS 2设计的各类文章在design.ros2.org,如:为何选择ROS 2.0?,DDS上的ROS以及ROS 1和ROS 2之间的变化。
ROS 2的代码是开源的,分为各类存储库。您能够在ros2 github组织上找到大多数存储库的代码。
如下是关于ROS 2的ROSCon会谈,并提供有关ROS 2和各类演示的工做的信息:
标题 | 类型 | 连接 |
---|---|---|
ROS 2更新 - alpha版本总结,架构概述 | ROSCon 2016演示 | 幻灯片 / 视频 |
评估ROS2通讯层的弹性 | ROSCon 2016演示 | 幻灯片 / 视频 |
ROS 2状态 - 演示和技术背后 | ROSCon 2015演示 | 幻灯片 / 视频 |
ROS 2在“小”嵌入式系统上 | ROSCon 2015演示 | 幻灯片 / 视频 |
ROS和ROS 2.0中的实时控制 | ROSCon 2015演示 | 幻灯片 / 视频 |
为何要使用ROS 2 | ROSCon 2014演示 | 幻灯片 / 视频 |
下一代ROS:创建在DDS上 | ROSCon 2014演示 | 幻灯片 / 视频 |
----
欧盟FP7研究项目SPENCER的目标是为服务机器人开发算法,能够经过高度动态和拥挤的行人环境(如机场或购物中心)来指导群体,同时以符合社会的方式行事,例如不跨越家庭或夫妇 这样的机器人能够遇到的示例性状况在右侧的下图中可视化。为此,须要开发出在机器人环境中对于人类感知的强大和计算效率高的组件。
下图显示了在SPENCER项目背景下开发的实时人员和组检测和跟踪管道:
咱们管道的不一样阶段之间的整个沟统统过ROS消息发生,这些消息鼓励在自定义设置中重用咱们的组件。模块化架构容许在管道的全部阶段中各个组件的简单互换性。
咱们提供一套可重复使用的ROS消息类型定义,咱们已经经过不一样的传感器模式和跟踪方法成功地应用于各类人员检测和跟踪场景。能够在spencer_tracking_msgs包中找到最相关的消息。
咱们高度鼓励重用这些消息,以从咱们丰富的检测,跟踪,过滤和可视化组件的基础设施中获益!现有的检测和跟踪算法一般能够经过以咱们的格式发布附加消息,或经过编写一个简单的C ++或Python节点来转换消息格式,来容易地集成。
咱们集成了如下人员检测模块:
输出geometry_msgs/PoseArray
或people_msgs/PositionMeasurementArray
消息的其余外部检测器可使用此包中的脚本轻松地集成到咱们的框架中。这种检测器的实例包括:
leg_detectors.launch
(替换laser_detectors.launch
)。对于检测到检测融合,咱们实现了一系列节点,能够经过roslaunch XML文件灵活地组合融合流水线。详细信息能够在spencer_detected_person_association包中找到。下图显示了在SPENCER实验期间使用的示例配置:
在检测到轨道融合(目前未实现)的状况下,仍然建议对与轨道相关联的每组检测发布CompositeDetectedPerson消息(经过CompositeDetectedPersons),以便稍后能够返回到来自轨道的原始检测,以及经过相关联的检测标识查找关联图像边界框等。
对于我的和组跟踪,咱们目前提供基于最近邻标准过滤器数据关联的示例性代码,其在大多数使用状况下足够强大(特别是若是正在使用多模态检测器)。的人跟踪已加强与轨道起始的逻辑和4不一样的基于IMM-运动模型(恒速低过程噪声,高过程噪声,协调转弯和布朗运动),以使跟踪更加健壮。
该组跟踪器依赖于社会/空间关系经由如在[1]中所述的相同相干运动指示器特征来肯定。
在内部,咱们已经集成了更先进的方法,包括轨迹导向多假设人物跟踪器[2],以及假设为导向的多模型多假设人和组跟踪器[1]。这些组件使用彻底相同的ROS消息定义,可是它们还没有公开。这里提供的组件最初做为比较的基准方法实现。
所述spencer_tracking_utils包包含许多独立的ROS的节点,能够过滤传入组TrackedPerson基于不一样标准的消息,例如,到传感器/机器人的距离,仅在视觉上确认轨道等
在spencer_tracking_metrics中,咱们已经公开了不一样跟踪指标的实现,例如CLEAR-MOT和OSPA,以便它们与咱们的消息定义兼容。这些可用于评估给定的基准线的跟踪性能。
该srl_tracking_logfile_import包提供了进口的卡门格式旧的2D激光扫描日志文件已经标注了真实情况的人曲目,如python脚本,这些数据集。
所述srl_tracking_exporter包中包含用于从2D自上而下的角度为可伸缩矢量图形(SVGs)渲染轨道轨迹,检测和机器人测距法的有用Python脚本。这些能够选择性地动画化以即可视化一个或多个轨道随着时间的演变。
咱们的框架的一个主要亮点是可重用和高度可配置的定制RViz插件,用于可视化:
做为示例,跟踪人员的一些功能显示为:
如下全部屏幕截图都是使用这些插件生成的。
如下屏幕截图显示咱们的系统正在运行,同时从拥挤的机场环境播放记录的数据:
人员检测和跟踪系统的视频能够在SPENCER YouTube频道上找到:
在配有先后RGB-D传感器(Asus Xtion Pro Live)和两台SICK LMS500激光扫描仪的SPENCER机器人平台上,咱们经过两台高端游戏笔记本电脑(Intel Core i7-4700MQ,nVidia GeForce 765M)。用于正面传感器的检测器与检测融合管线一块儿在一台笔记本电脑上执行。背面传感器和人员和组跟踪模块的检测器在第二台笔记本电脑上执行。两台笔记本电脑经过千兆以太网互相链接,平台的其他部分相互链接。
经过这种配置,组件能够实时运行在20-25 Hz(可视化卸载到单独的计算机上),即便在拥挤的环境中也能够看到30多我的。
在Ubuntu 14.04 / ROS Indigo和Ubuntu 16.04 / ROS Kinetic上测试了人员和组检测和跟踪框架。有关机器人操做系统(ROS)的更多信息,请参阅ros.org。
注意:整个框架仅适用于64位系统。在32位系统上,您将遇到Eigen相关的对齐问题(失败的断言)。参见问题#1
因为咱们目前尚未提供任何预先构建的Debian软件包,所以您必须从源代码构建咱们的框架。做为第一步,建立一个新的catkin工做区的文件夹,并将GitHub存储库克隆到子文件夹中src
:
假设您已经安装了ROS Indigo或ROS Kinetic,咱们建议您经过如下方式安装咱们的框架所需的依赖关系:
接下来,咱们建议使用catkin
(可经过sudo apt-get install python-catkin-tools
)设置工做区:
最后,经过如下方式构建全部包:
catkin build -c -s
构建工做区后,经过如下方式提供:
source devel/setup.bash
使用的cudaHOG库rwth_ground_hog
须要使用nVidia显卡和已安装的CUDA SDK(推荐版本为6.5)。因为安装CUDA(特别是在使用Optimus / Bumblebee的笔记本电脑上)而且编译库并不简单,所以在此提供了安装说明。一旦遵循了这些说明,rwth_ground_hog
须要使用catkin 重建包。若是没有安装CUDA SDK,则ROS程序包仍将编译,但不会提供任何功能。
如下演示和三个教程可帮助您轻松开始使用咱们的框架。
能够经过运行下载具备2D激光和RGB-D传感器数据来测试咱们框架的简短示例性袋子文件
rosrun spencer_people_tracking_launch download_example_bagfiles.sh
而后,您能够启动
roslaunch spencer_people_tracking_launch tracking_on_bagfile.launch
这将开始播放一个bagfile(一旦按SPACE
下来取消暂停)并运行Rviz进行可视化。
做为基于深度模板的上身检测器的替代方案,您能够选择从点云库中使用咱们稍微修改的人物检测器版本。在使用HOG SVM验证候选ROI以前,该检测器首先执行欧氏距离聚类和头次集群提取。要这样作,传递use_pcl_detector:=true
到启动文件。
若是您已经编译了cudaHOG库(参见上面的说明),您能够选择经过传送use_hog_detector:=true
到启动文件来启用groundHOG检测器。检测到检测融合流水线将自动融合来自两个检测器的检测。
这是开始使用本地链接到计算机的单个RGB-D传感器的最简单方法。将您的Asus Xtion Pro Live传感器水平放置在平面上,并将其链接到计算机(或播放下面进一步连接的示例袋子文件)。而后从您的人员跟踪工做区中运行如下启动文件(确保您已经提供了它,例如source devel/setup.bash
):
roslaunch spencer_people_tracking_launch tracking_single_rgbd_sensor.launch height_above_ground:=1.6
这将执行如下操做:
/spencer/sensors/rgbd_front_top/
相机命名空间中发布RGB-D点云srl_nearest_neighbor_tracker
,它将订阅/spencer/perception/detected_persons
和发布轨道/spencer/perception/tracked_persons
原始的MS Kinect v1传感器不支持OpenNi2。在这种状况下,请附加use_openni1:=true
到上述命令行的启动文件以备份到OpenNi1。
若是您看不到任何检测边界框,请先检查点云是否正确显示在RViz中。若是没有,您的RGB-D传感器可能有问题(USB或OpenNi问题)。
要尝试相似于SPENCER机器人平台的传感器配置,请运行:
roslaunch spencer_people_tracking_launch tracking_on_robot.launch
这假设RGB-D传感器水平安装在地面以上约1.6m处,传感器数据将在如下主题上公布:
启动文件启动一个相似于教程1(上图)的管道,可是包括用于后部传感器的第二组RGB-D探测器,以及两个2D激光扫描仪的人员探测器。发布上述RGB-D和激光数据的传感器驱动程序不会由此启动文件自动启动。此外,您手动必须启动Rviz。
请注意,若是只有人检测器的一部分运行,则融合管线会自动从新配置。若是你没有后面的RGB-D传感器,只需注释掉包含rear_rgbd_detectors.launch
在里面的行tracking_on_robot.launch
。
spencer_people_tracking_launch/launch/detectors
。您可能须要根据须要从新输入和输出主题。detection_to_detection_fusion_pipeline.launch
及其子女,如fuse_lasers_and_rgbd.launch
在spencer_detected_person_association
。基于所提供的示例,建立本身的管道,分步地对来自不一样检测器的检测进行融合。有关更多信息,请参阅相应的包。freiburg_people_tracking.launch
文件的副本spencer_people_tracking_launch
。调整它是指您本身的融合启动文件在步骤2中建立。freiburg_people_tracking.launch
。roslaunch spencer_people_tracking_launch group_tracking.launch
。咱们的ICRA 2016论文的多模态“运动捕捉”序列可根据要求提供,让您在咱们的数据集上评估本身的检测/跟踪算法。为了公平的比较,请尽量使用此存储库中包含的CLEAR-MOT指标实现。因为隐私缘由,机场序列的原始数据不能共享,尽管咱们可能会在稍后提供提取的检测。
该存储库中的软件由如下机构维护:
不一样ROS包的信用量分配给相应README.md
和package.xml
文件中列出的特定做者。
这项工做获得EC根据合同号FP7-ICT-600877(SPENCER)的支持。若是您使用此存储库中包含的软件进行研究,请引用如下出版物:
关于在很是拥挤和动态环境中的移动平台的多模态人员跟踪
Linder,T.,Breuers,S.,Leibe,B.,Arras,KO
IEEE国际机器人与自动化大会(ICRA)2016
也能够:
人机检测,跟踪和可视化使用ROS在移动服务机器人
Linder,T.和Arras,KO
机器人操做系统(ROS):完整参考(第1卷)。
Springer系统,决策和控制研究,2016年
该存储库中的大多数软件都是根据BSD许可证发布的。可是,有关详细信息,请查看各个ROS包。
[1] Linder T.和Arras KO 多模型假设跟踪RGB-D数据中的人群。IEEE Int。会议信息融合(FUSION'14),萨拉曼卡,西班牙,2014年。
[2] Jafari O. Hosseini和Mitzel D.和Leibe B。基于移动机器人和头戴式相机的实时RGB-D人检测和跟踪。IEEE国际机器人与自动化大会(ICRA'14),2014年。
[3] Arras KO和Martinez Mozos O.和Burgard W .. 使用加强特征来检测2D范围数据中的人。IEEE国际机器人与自动化大会(ICRA'07),意大利罗马2007年。
[4] Munaro M.和Menegatti E. 快速RGB-D人跟踪服务机器人。自主机器人,第37卷第3期,第227-242页,Springer,2014。
----
制图师是一种在多平台和传感器配置中在2D和3D 中提供实时同时定位和映射(SLAM)的系统。该项目提供制图工具的ROS整合。
----
AutoRally研究平台软件。
研究页面AutoRally与:
咱们欢迎错误修复,加强功能,新功能和反馈!
请将提交请求提交给符合ROS C ++样式指南的devel分支。咱们使用Gitflow,因此主分支保留发布。
安装所需的软件包
sudo apt-get install git doxygen openssh-server libusb-dev texinfo
推荐工具
如下工具对于该项目是有用的,但不是必需的。
安装 ros-indigo-desktop-full
安装gtsam
按照gtsam 快速入门指南,克隆并安装gtsam 的开发分支。
而不是cmake ..
使用:
cmake -DGTSAM_INSTALL_GEOGRAPHICLIB=ON -DGTSAM_WITH_EIGEN_MKL=OFF ..
一旦安装完成,确保linux能够看到共享库:
sudo ldconfig
在catkin工做空间中获取自动存储库。建议的位置是~/catkin_ws/src/
,但任何有效的catkin worskspace源文件夹将工做。若是您正在使用代码,咱们建议先分一批。
要直接从AutoRally回购克隆:
git clone https://github.com/AutoRally/autorally.git
还将IMU代码克隆到同一个catkin工做空间中:
git clone https://github.com/AutoRally/imu_3dm_gx4.git
在catkin工做区文件夹中,运行此命令来安装该项目依赖的包。
rosdep install --from-path src --ignore-src -y
catkin_make
从catkin工做空间文件夹编译并安装运行。
因为ROS分布式发射系统的额外要求,您必须运行
source src/autorally/autorally_util/setupEnvLocal.sh
以前使用任何AutoRally组件。有关如何为您的车辆平台上的分布式发射设置此系统的更多信息,请参阅维基。
注意:若是您不熟悉catkin,请知道您必须运行source catkin_ws/devel/setup.sh
,ROS将可以找到自动包。这行能够添加到你的〜/ .bashrc文件。
您能够生成或运行更新代码文档doxygen
在autorally/
。
查看autorally/doc/html/index.html
在Web浏览器中打开的代码文档。
roslaunch autorally_gazebo autoRallyTrackGazeboSim.launch
您可使用USB手柄来驱动模拟平台。在启动时,节点发布的runstop
消息joystick
是假的。按右键(一般标记为X,Y,A,B或正方形,三角形,X,圆圈)的任何按钮可切换发布的值。
经过查看主题中的runstopMotionEnabled
参数来验证运行状态运动是否启用/chassisState
。
若是您没有使用游戏手柄,则必须为平台移动配置另外一个runstop信息源:
评论第93行 autorally_gazebo/launch/autoRallyTrackGazeboSim.launch
rosrun rqt_publisher rqt_publisher
和rqt_publisher配置来发布消息主题/runstop
类型的autorally_msgs/runstop
在1Hz与sender
设置为rqt_publisher
和motionEnabled
设置为真。
runstopMotionEnabled
是真实的/chassisState
话题。在本节结尾,机器人将使用可用的控制器在模拟中自主驾驶autorally_control
。
将机器人定位在与模拟开始时相同的位置,并确保启动运行中止运动(设置为true)。
在autorally_core/launch/state_estimator.launch
变化InvertY
和InvertZ
对假,则:
roslaunch autorally_control waypointFollower.launch
配置发布商constantSpeedController/speedCommand
的类型std_msgs/Float64
为10的价格为3(您能够调整他的价值一旦一切正在运行)。该值是以m / s为单位的目标速度,只要您执行此操做,平台应在移动启用时移动。
若是机器人转动并击中障碍物,多是由于状态估计器没有收敛,因此它的方向估计是不正确的。只需选择轨道障碍并将其移动以容许机器人继续驾驶,而且估计器应该收敛,而且车辆将返回到障碍物内。
有关控制器和状态估计器的更详细的解释能够在wiki上找到:
控制AutoRally平台是您本身的控制器如何控制AutoRally平台(在模拟或硬件上)的教程。
若是您正在配置物理AutoRally平台,则下一步是配置计算框,全部外设和启动系统。这些说明在“ 平台配置说明”中找到。
----
在提出问题以前,请仔细阅读本README和各个组件的内容。咱们获得不少重复的问题,因此当你有问题时,咱们敦促你们检查github问题(包括关闭的)。你的问题极可能已经在讨论过了。
该项目的目标是给您一个驱动程序和从Kinect-2传感器接收数据所需的工具,以一种有用的机器人技术。您仍然须要知道如何使用ROS来使用它。请遵循ROS教程。您还须要学习如何使用点云,深度云或图像(计算机视觉)来处理数据。
注意: 有关 iai_kinect2软件包及其组件的 问题,请使用GitHub问题。不要写邮件
这是用于Kinect One(Kinect v2)的ROS接口的工具和库的集合。
它包含:
首先你应该看看这个FAQ和libfreenect2的FAQ。其次,从libfreenect2的问题页面和iai_kinect2的问题页面看相似的问题和解决方案。
点云仅在使用启动文件时发布。确保启动kinect2_bridge roslaunch kinect2_bridge kinect2_bridge.launch
。
简答:不。
长的答案:是的,可使用OpenCV 3.0编译这个包,可是它不会工做。这是由于使用了cv_bridge,它自己在ROS Indigo / Jade中使用OpenCV 2.4.x进行编译,而且没法与OpenCV版本进行连接。OpenCV 3.0的工做支持可能会带来将来的ROS版本。
有不少缘由kinect2_bridge
可能不工做。首先要找出问题是否与kinect2_bridge
或libfreenect2
。一个很好的测试工具是Protonect
它位于的二进制文件libfreenect2/build/bin/Protonect
。它直接使用libfreenect2,对其余库的依赖性最小,所以它是第一个测试的好工具。
执行:
./Protonect gl
测试OpenGL支持。./Protonect cl
测试OpenCL支持。./Protonect cpu
测试CPU支持。运行前kinect2_bridge
请确保Protonect
正在工做,并显示颜色,深度和图像。若是其中有些是黑色的,那么有一个与此无关的问题kinect2_bridge
,您应该从libfreenect2 GitHub页面中查看有关帮助的问题。
若是其中一人的做品,尝试与工做的一个kinect2_bridge
:rosrun kinect2_bridge kinect2_bridge _depth_method:=<opengl|opencl|cpu>
。您也可使用更改注册方法_reg_method:=<cpu|opencl>
。
若是是这样的话,你必须确保Protonect
使用相同版本libfreenect2
的kinect2_bridge
同样。要作到这一点,运行make
和sudo make install
再次build文件夹中。再试kinect2_bridge
一次。
还要确保你没有使用OpenCV 3.0。
若是仍然崩溃,请在调试中编译并运行gdb:
打开一个问题,并发布问题描述和backtrace(bt
)的输出。
这是正常的行为。'kinect2_bridge'仅在客户端链接时处理数据(ROS节点至少听到一个主题)。这样能够节省CPU和GPU资源。一旦开始kinect_viewer
或rostopic hz
其中一个主题,处理应该开始。
rosdep
将输出错误没法找到[kinect2_bridge]
和[kinect2_registration]
。这很好,由于它们都是iai_kinect2包的一部分,rosdep
不知道这些包。
这表示USB链接有问题。
首先,检查GitHub上的问题页面是否有相似的问题,由于它们可能包含它们的解决方案。默认状况下,您只会看到公开的问题,可是若是您点击,closed
您将会解决这些问题。还有一个搜索字段帮助找到相似的问题。
若是您没有发现问题的解决方案,请随时为您的问题开辟新的问题。请详细说明您的问题,并提供错误信息和日志输出。
安装ROS Ubuntu 14.04的说明
安装libfreenect2:
按照说明操做,并使用C ++ 11 cmake .. -DENABLE_CXX11=ON
代替cmake ..
若是某些事情不起做用,请查看最新的稳定版本git checkout v0.2.0
。
将此存储库克隆到您的catkin工做空间中,安装依赖项并构建它:
cd〜/ catkin_ws / src / git clone https://github.com/code-iai/iai_kinect2.git cd iai_kinect2 rosdep install -r --from-paths。cd〜/ catkin_ws catkin_make -DCMAKE_BUILD_TYPE =“Release”
roslaunch kinect2_bridge kinect2_bridge.launch
sudo apt-get install opencl-headers
sudo apt-get install nvidia-modprobe opencl-headers
export LD_LIBRARY_PATH =“/ usr / local / cuda / lib64:$ {LD_LIBRARY_PATH}”export PATH =“/ usr / local / cuda / bin:$ {PATH}”
echo“/ usr / local / cuda / lib64”| sudo tee /etc/ld.so.conf.d/cuda.conf sudo ldconfig
sudo add-apt-repository ppa:floe / beignet && sudo apt-get update sudo apt-get install beignet beignet-dev opencl-headers
结果应该与此相似(可能取决于所使用的参考书目风格):
----
最后列一些参考书籍:
该代码可与ROS Jade和ROS Indigo相兼容。本书提到了每一个包的详细安装说明
该代码可与ROS Kinetic和ROS Indigo合做。本书提到了每一个包的详细安装说明
该代码可与ROS Jade和ROS Indigo相兼容。本书提到了每一个包的详细安装说明
----
本文转自https://blog.csdn.net/weixin_37239947/article/details/74939650。