diff --git a/3dnav.rosinstall b/3dnav.rosinstall deleted file mode 100644 index bfda5dfd5d18f65b09d216ed1a3f17c89c31579c..0000000000000000000000000000000000000000 --- a/3dnav.rosinstall +++ /dev/null @@ -1,26 +0,0 @@ -###3d navigation rosinstall -- git: - local-name: 3d_nav/iri_3dnav - uri: ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/colrobtransp/3d_navigation/iri_3dnav.git -- git: - local-name: 3d_nav/iri_nav_lidar_filter - uri: ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/colrobtransp/3d_navigation/lidar_filter.git -- git: - local-name: 3d_nav/iri_nav_lidar_obstacles - uri: ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/colrobtransp/3d_navigation/iri_hole_detector2.git -- git: - local-name: 3d_nav/iri_nav_hole_detection - uri: ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/colrobtransp/3d_navigation/iri_hole_detection.git -- git: - local-name: 3d_nav/iri_nav_recovery_behaviors - uri: ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/colrobtransp/3d_navigation/recovery_behaviors.git -- git: - local-name: 3d_nav/iri_nav_average_point_cloud - uri: ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/colrobtransp/3d_navigation/average_point_cloud.git -- git: - local-name: 3d_nav/iri_nav_obstacle_detection_normals - uri: ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/colrobtransp/3d_navigation/iri_obstacle_detection_normals.git -- git: - local-name: 3d_nav/iri_camera_filter - uri: ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/colrobtransp/3d_navigation/iri_camera_filter.git - \ No newline at end of file diff --git a/README.md b/README.md index 31f201ce3ef26324cfba0624bd87ea992cc21f85..34968b20b55f90d1ecce2afabd2ab4ead4e1b173 100644 --- a/README.md +++ b/README.md @@ -3,60 +3,18 @@ The iri_3d_navigation set of packages provides an implementation of holes and slopes detection for safe navigation of the Ana robot. -For more information and installation instructions of the Ana packages go [here](https://gitlab.iri.upc.edu/labrobotica/ros/robots/ana/iri_ana_how_to). - -# brief explanation of iri_3d_navigation packages - -* iri_nav_lidar_filter - -This package provides a node that takes a point cloud as an input and gives the same cloud but filtered as an output. The filter consists in removing some points between specific angles -where the laser beams of the sensor collide with own parts of the robot producing inexact measures. - - -* iri_nav_lidar_obstacles - -This package provides a node that takes a lidar point cloud as an input and gives a laser scan as an output that marks obstacles as walls, holes, too inclined slopes, etc. - -* iri_nav_average_point_cloud - - - -* iri_nav_hole_detection - -This package takes a point cloud from a camera and detects holes on the floor by looking if the floor is missing on certain regions. If a hole is found, it outputs an obstacle point cloud. - -* iri_nav_obstacle_detection_normals - -This package takes a point cloud from a camera and detects obstacles by looking the normal of the plane that form each point with its neighbours. - - -* iri_3d_nav - -This package provides several launch files for launching the 3dnav nodes and navigation params. - - - # How to install the packages To install the packages, please follow the next steps: - - - If you want to use a new ROS workspace: +If you want to use a new ROS workspace: * Create a new workspace following the steps in this [tutorial](http://wiki.ros.org/catkin/Tutorials/create_a_workspace). - * VERY IMPORTANT: install the iriutils package cloning the following repository in your ROS workspace: - ``` - roscd - cd ../src - git clone ssh://git@gitlab.iri.upc.edu:2202/labrobotica/algorithms/iriutils.git - ``` - * Copy the 3dnav.rosinstall file to the src folder of the new workspace. - - * Initialize the wstool tool on the src folder following the steps in this [tutorial](http://wiki.ros.org/wstool) using - the 3dnav.rosinstall file available on this repository. From the src folder, execute: + + * Initialize the wstool tool on the src folder following the steps in this [tutorial](http://wiki.ros.org/wstool) using + the 3dnav.rosinstall file available on this repository. From the src folder, execute: ``` roscd @@ -64,19 +22,12 @@ cd ../src wstool init 3dnav.rosinstall wstool update ``` - - If you want to use an existing ROS workspace: - - * VERY IMPORTANT: install the iriutils package cloning the following repository in your ROS workspace: - ``` - roscd - cd ../src - git clone ssh://git@gitlab.iri.upc.edu:2202/labrobotica/algorithms/iriutils.git - ``` - - * Copy the 3dnav.rosinstall file to the src folder of the existing workspace. - - * Merge the 3dnav.rosinstall file available on this repository with the existing rosinstall file following the steps + +If you want to use an existing ROS workspace: + + * Copy the 3dnav.rosinstall file to the src folder of the existing workspace. + + * Merge the 3dnav.rosinstall file available on this repository with the existing rosinstall file following the steps in this [tutorial](http://wiki.ros.org/wstool#Merge_in_Additional_rosinstall_Files). From the src folder, execute: ``` @@ -85,50 +36,52 @@ cd ../src wstool merge 3dnav.rosinstall wstool update ``` - * Install the following system dependencies: + +Install all IRI dependencies. For each folder on the labrobotica/algorithms and labrobotica/drivers folder, execute the following commands: + +``` +roscd +cd ../src/labrobotica/algorithms/<folder> or cd ../src/labrobotica/drivers/<folder> +mkdir build +cd build +cmake .. +make +sudo make install +``` + +Install all ROS dependencies with the following commands: ``` roscd cd ../src -rosdep install -i --from-paths . +rosdep install -i -r --from-paths . ``` - * Compile the newly downloaded packages with the following command: +Compile all the ROS packages with the following commands: ``` cd .. -catkin_make +catkin_make ``` # Launch - * ana gazebo simulation +To try the 3D navigation with the Ana robot in simulation will require to have the [Ana robot simulation environment](https://gitlab.iri.upc.edu/labrobotica/ros/robots/ana/iri_ana_how_to) installed: - For launching a gazebo world . + * Start the simulation ``` - roslaunch iri_3dnav gazebo_campus.launch -``` - - - * Navigation simulation - - This command should launch the nodes for detecting holes. - +roslaunch iri_ana_gazebo sim_sample.launch world:=<wolrd_name> ``` - roslaunch iri_3dnav 3dnav.launch -``` - This command should launch the navigation with map. + * To use the navigation with map: ``` - roslaunch iri_3dnav 3dnav_map.launch +roslaunch iri_ana_rosnav 3d_nav_map.launch ``` + * To use the navigation without map -## Potencial running issues -1. If the simulator can not receive information (pointcloud) from the velodyne lidar, make sure that you have the IRI package "iri_velodyne_lidar_bringup" typically inside "ranger3d" folder. If it is not the case, you can download it from https://gitlab.iri.upc.edu/labrobotica/ros/sensors/ranger3d/iri_velodyne_lidar_bringup. -In addition, make sure that you have installed the "velodyne_gazebo_plugins". If it is not the case, install it with: ``` -sudo apt-get install ros-kinetic-velodyne-gazebo-plugins +roslaunch iri_ana_rosnav 3d_nav_nomap.launch ``` \ No newline at end of file