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。