Lightweight inference tools for hypothesizing object positions and planning viewpoints in 3D space. The object_search repository is a catkinized ROS package.
Please refer to the OctoMap mailing list for installation instructions: 'How to use the latest version of octomap in ROS groovy?'
-
Compile your catkin workspace including the object_search package:
$ catkin_make -
Open a terminal and run:
Start the core:
$ roscoreLaunch the simulator: (Please note: the object does not include any objects by default)
$ roslaunch --wait strands_morse bham_cs_morse.launch env:=cs_lg_obj_searchAdd an object in the cs_lg_obj_search.py file as follows:
cup = PassiveObject('strands_sim/robots/strands_objects.blend','cup') cup.properties(Object = True, Type = 'Cup') cup.translate(0,0,1.0)Launch the 2D robot navigation
$ roslaunch --wait strands_morse bham_cs_nav2d.launchLaunch the octomap server and build a map. Or use a pre-build map:
$ rosrun octomap_server octomap_server_node `rospack find strands_morse`/bham/maps/cs_lg_obj_search_octomap.btLaunch the object search utils
$ roslauch object_search object_search.launchRun the action server:
$ rosrun object_search object_search_server.pyStart the search using an action client where
<object>is the name of the object the robot is looking for, e.g. Cup:$ rosrun object_search object_search_client.py <object>Start RVIZ and subscribe to a
PoseArraynamednav_goalsand aMarkerArraynamed/supporting_planes_posesto visualize the viewplanning result.