{"id":19195398,"url":"https://github.com/ardupilot/octomapplanner","last_synced_at":"2025-06-15T16:37:04.421Z","repository":{"id":45743559,"uuid":"134945427","full_name":"ArduPilot/OctomapPlanner","owner":"ArduPilot","description":"ArduPilot Gazebo SITL 3D mapping and planning","archived":false,"fork":false,"pushed_at":"2019-01-08T04:38:54.000Z","size":109,"stargazers_count":142,"open_issues_count":12,"forks_count":45,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-29T01:24:01.044Z","etag":null,"topics":["ardupilot","collision-avoidance","drones","gazebo","mapping","planning"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArduPilot.png","metadata":{"files":{"readme":"readme.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-26T08:56:56.000Z","updated_at":"2025-03-14T00:20:06.000Z","dependencies_parsed_at":"2022-09-01T12:00:50.489Z","dependency_job_id":null,"html_url":"https://github.com/ArduPilot/OctomapPlanner","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArduPilot%2FOctomapPlanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArduPilot%2FOctomapPlanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArduPilot%2FOctomapPlanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArduPilot%2FOctomapPlanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArduPilot","download_url":"https://codeload.github.com/ArduPilot/OctomapPlanner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249154986,"owners_count":21221512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ardupilot","collision-avoidance","drones","gazebo","mapping","planning"],"created_at":"2024-11-09T12:09:48.471Z","updated_at":"2025-04-15T21:22:57.937Z","avatar_url":"https://github.com/ArduPilot.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":".. _octomapplanner-gazebo-sitl:\n\n============\nOctomapPlanner\n============\n\nThis article explains how to set up and use ArduPlanner to work with Gazebo SITL\n\n.. image:: https://discuss.ardupilot.org/uploads/default/original/3X/f/1/f1618477d5558a5b77a186b81b52ae4e84345c09.jpg\n   :target: https://discuss.ardupilot.org/uploads/default/original/3X/f/1/f1618477d5558a5b77a186b81b52ae4e84345c09.jpg\n\nOverview\n===============\n\nOctomapPlanner is a library for autonomous mapping and planning specifically designed for ArduPilot Copter. It uses Octomap for 3D occupancy mapping and OMPL and FCL for goal-directed planning with collision avoidance.\n\n.. warning::\n\nThis library is still under development and has only been tested to work with Gazebo SITL for limited test cases. Further development and tests on hardware are still to be done.\n\nSetup Instructions\n==================\n\nIt is recommended to use Ubuntu 16.04 since all the tests have been conducted on it.\n\nMake sure to install gazebo-8 instead of gazebo-7 since visualization messages are not supported before gazebo-8\n\nUsers should first setup OSRF keys and install Gazebo 8 by executing\n\n::\n\n\tsudo sh -c 'echo \"deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main\" \u003e /etc/apt/sources.list.d/gazebo-stable.list'\n\twget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -\n\tsudo apt update\n\tsudo apt install libgazebo8-dev\n\nWe will also use ros sources for installing other dependencies. To do that use the following commands\n\n::\n\n\tsudo sh -c 'echo \"deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main\" \u003e /etc/apt/sources.list.d/ros-latest.list'\n\tsudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116\n\tsudo apt update\n\n\n.. tip::\n\nROS users can also install Gazebo 8 with ROS support after adding OSRF keys and using ros-kinetic-gazebo8-* packages\n\nFollow the steps here to install ardupilot_gazebo https://github.com/swiftgust/ardupilot_gazebo\n\nDependencies Installation\n=========================\n\noctomap\n\n::\n\n\tsudo apt install liboctomap-dev\n\nmavlink\n\n::\n\n\tsudo apt install ros-kinetic-mavlink\n\nOMPL\n\n::\n\n\tsudo apt install ros-kinetic-ompl\n\nfcl\n\n::\n\n\tgit clone https://github.com/danfis/libccd\n\tcd libccd\n\tmkdir build \u0026\u0026 cd build\n\tcmake -G \"Unix Makefiles\" -DBUILD_SHARED_LIBS=ON ..\n\tmake \u0026\u0026 sudo make install\n\t\n\tgit clone https://github.com/flexible-collision-library/fcl\n\tcd fcl\n\tmkdir build\n\tcd build\n\tcmake ..\n\tsudo make install\n\n\n\nFinally, build OctomapPlanner and copy the iris model and grass model for gazebo to find\n\n::\n\n\tgit clone https://github.com/ardupilot/OctomapPlanner\n\tcd OctomapPlanner\n\tmkdir build\n\tcd build\n\tcmake ..\n\tmake\n\tcp -r ../models/* ~/.gazebo/models/\n\nRunning the code\n================\n\nLaunch Gazebo with a demo world by executing \n\n::\n\n\tgazebo --verbose worlds/iris_gas_station_demo.world\n\nOn a seperate terminal start ArduCopter SITL\n\n::\n\n\tsim_vehicle.py -v ArduCopter -f gazebo-iris\n\nSwitch the copter to guided mode and takeoff using the following commands\n\n::\n\t\n\tmode guided\n\tarm throttle\n\ttakeoff 1 (or any other hight in metres)\n\nBefore launching the code you may want to edit a few parameters like start and goal location\nThis can be done by editing the planner_params.yaml file inside the config folder\n\nFinally, launch the planner code by executing this from the OctomapPlanner root folder\n\n\n::\n\n\t./build/main_node\n\nRelated Blogs\n================\n\n`GSoC 2018: Realtime Mapping and Planning for Collision Avoidance \u003chttps://discuss.ardupilot.org/t/gsoc-2018-realtime-mapping-and-planning-for-collision-avoidance/29864\u003e`_\n\n`GSoC 2018: Realtime Mapping and Planning for Collision Avoidance: Part 2 \u003chttps://discuss.ardupilot.org/t/gsoc-2018-realtime-mapping-and-planning-for-collision-avoidance-part-2/30750\u003e`_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fardupilot%2Foctomapplanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fardupilot%2Foctomapplanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fardupilot%2Foctomapplanner/lists"}