去年跟踪orb-slam 还不怎么稳定. 尝试beta版本 使用D435i发现有崩溃, 算力消耗太大, 保存地图失败情况, 基本上无法完整跑通.
现在跟踪, 作者已经没有beta字眼了, 理论上可以用了.
点击(此处)折叠或打开
-
Parameters
-
There are three types of parameters right now: static- and dynamic ros parameters and camera settings from the config file. The static parameters are send to the ROS parameter server at startup and are not supposed to change. They are set in the launch files which are located at ros/launch. The parameters are:
-
- load_map: Bool. If set to true, the node will try to load the map provided with map_file at startup.
-
-
- map_file: String. The name of the file the map is saved at.
-
-
- settings_file: String. The location of config file mentioned above.
-
-
- voc_file:String. The location of config vocanulary file mentioned above.
-
-
- publish_pose: Bool. If a PoseStamped message should be published. Even if this is false the tf will still be published.
-
-
- publish_pointcloud: Bool. If the pointcloud containing all key points (the map) should be published.
-
-
- pointcloud_frame_id: String. The Frame id of the Pointcloud/map.
-
-
- camera_frame_id: String. The Frame id of the camera position.
-
-
Dynamic parameters can be changed at runtime. Either by updating them directly via the command line or by using rqt_reconfigure which is the recommended way. The parameters are:
-
-
- localize_only: Bool. Toggle from/to only localization. The SLAM will then no longer add no new points to the map.
-
-
- reset_map: Bool. Set to true to erase the map and start new. After reset the parameter will automatically update back to false.
-
-
- min_num_kf_in_map: Int. Number of key frames a map has to have to not get reset after tracking is lost.
-
-
Finally, the intrinsic camera calibration parameters along with some hyperparameters can be found in the specific yaml files in orb_slam2/config.
-
-
Published topics
-
The following topics are being published and subscribed to by the nodes:
-
-
- All nodes publish (given the settings) a PointCloud2 containing all key points of the map.
-
-
- Live image from the camera containing the currently found key points and a status text.
-
-
- A tf from the pointcloud frame id to the camera frame id (the position).
-
-
Subscribed topics
-
- The mono node subscribes to /camera/image_raw for the input image.
-
-
- The RGBD node subscribes to /camera/rgb/image_raw for the RGB image and
-
-
- /camera/depth_registered/image_raw for the depth information.
-
-
- The stereo node subscribes to image_left/image_color_rect and
-
-
- image_right/image_color_rect for corresponding images.
-
-
Services
-
All nodes offer the possibility to save the map via the service node_type/save_map. So the save_map services are:
-
-
- /orb_slam2_rgbd/save_map
-
-
- /orb_slam2_mono/save_map
-
-
- /orb_slam2_stereo/save_map
建图/定位..
后期需要确定的内容:
1. 3D模型修图如何处理?
2. map.bin 是个神马格式?
3. voc_file = Vocabulary/ORBvoc.txt 文件内容意义, 作用域在哪里?
4. settings_file被抛弃了, 原来内容是什么? 为什么抛弃了?
摄像头固有参数现在哪里去配置.
5. 激光雷达/超声波/红外等等作为避障手段, 如何集成到视觉为基线的costmap中来.
6. 碰撞/电子围栏 如何动态/静态 集成到 pointcloud 中.
7. 路径规划在map.bin中如何实现?
8. 有否 demo 工程参考.
可以先用 D435 先试试.
目前使用奥比中光Orbbec Astra-Mini RGB-D 3D体感摄像头
目前可以尝试在demo平台上跑跑看. 还可以尝试一下使用rgbd + artag的组合, 查看算力使用情况.
注意 配置地板和天花板的高度限值. 需要和 urdf 参数xyz,rpy配套.
-
配置环境
-
依赖 libeigen3-dev
-
集成 orb_slam_2_ros到 kinetic
-
ros-kinetic-astra-camera ros-kinetic-astra-launch
-
$ ls /opt/ros/kinetic/share/astra_launch/launch/
astra.launch astrapro.launch astra_tf_prefix.launch multi_astra.launch
目前配置一个 astro, 那么加载
astra.launch.
使用rqt_image_view 查看3D体感摄像头图像
使用 rviz 查看 topic 的内容.
0. 配置. urdf, cam_info
1. 建图
//速度, 精度, 畸变度
2. 修图
3. nav (围挡, nodelet, layer, costmap, 路径规划)
阅读(936) | 评论(0) | 转发(0) |