GeRoNa: Generic Robot Navigation

GeRoNa(通用机器人导航)是一个模块化机器人导航框架,它将路径规划和路径跟踪(包括障碍检测)捆绑在一起,并管理各个模块之间的通信。它被设计为易于扩展的新任务和机器人模型。「GeRoNa (Generic Robot Navigation) is a modular robot navigation framework, that bundles path planning and path following (including obstacle detection) and manages communication between the individual modules. It is designed to be easily extensible for new tasks and robot models.」

  • 所有者: cogsys-tuebingen/gerona
  • 平台: Embedded Systems
  • 許可證: BSD 3-Clause "New" or "Revised" License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

GeRoNa: Generic Robot Navigation

continuous_integration

This project contains a set of ROS packages which provide a navigation suite, including path planning on a given map, controlling of the robot to follow this path and obstacle avoidance while driving.

The packages are build with the goal to get a modular, easily extensible framework, where new modules (e.g. kinematic model of a new robot, new obstacle avoidance algorithms, etc) can be added with minimal effort.

The following video demonstrates various supported robot kinematics:

GeRoNa: Generic Robot Navigation Video

Installation

First, install the dependencies. For example, from your workspace root directory:

cd src
git clone https://github.com/cogsys-tuebingen/cslibs_path_planning
git clone https://github.com/cogsys-tuebingen/cslibs_navigation_utilities
cd ..

rosdep install --from-paths -i -r -y src

Then you can either use catkin_make, catkin_make_isolated or catkin build to build the software.

Quick Start

This is only a really quick "quick start" guide. For more detailed explanations, see below.

Send goals from some ROS node

To start the complete navigation project as well as nodes for SLAM and obstacle detection (using 2d laser), simply run

roslaunch navigation_launch navigation.launch

Now everything is set up and your node can connect to the navigate_to_goal action server and send goals.

Set goals manually using Rviz

If you want to set goal poses manually using Rviz (e.g. for testing or demonstration purposes), run

roslaunch navigation_launch rviz_controlled.launch

Select robot controller/model

By default a controller for car-like robots is used (ackermann_purepursuit). To change this, simply set the environment variable ROBOT_CONTROLLER with the name of the contproller you want to use.
For example, to use the omni-drive orthexp controller:

export ROBOT_CONTROLLER=omni_orthexp
roslaunch navigation_launch navigation.launch

The controller can also be set via the ROS parameter

rosparam set path_follower/controller_type omni_orthexp

More Information

Please take a look at the example launch files for how to customize parameters in your launch files.

For more information please refer to the wiki.

主要指標

概覽
名稱與所有者cogsys-tuebingen/gerona
主編程語言C++
編程語言CMake (語言數: 6)
平台
許可證BSD 3-Clause "New" or "Revised" License
所有者活动
創建於2017-05-03 17:33:22
推送於2021-09-25 09:45:03
最后一次提交2021-09-25 11:44:50
發布數0
用户参与
星數330
關注者數19
派生數128
提交數2k
已啟用問題?
問題數31
打開的問題數2
拉請求數2
打開的拉請求數0
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?