Giter VIP home page Giter VIP logo

raspimouse_navigation's Introduction

raspimouse_navigation

Raspberry Pi MouseでROSのNavigation Stackを使ってナビゲーションをするためのパッケージです。

地図の生成にはrt-net/raspimouse_ros_examplesにあるslam_gmapping.launchを使うことができます。

Raspberry Pi Mouse V3を用いた実機でのナビゲーションと rt-net/raspimouse_simを用いたシミュレータ上でのナビゲーション両方で動作確認をしています。

実機

動作環境

Raspberry Pi Mouse

ハードウェア
ソフトウェア

Remote PC

インストール

# ROSパッケージのダウンロード
cd ~/catkin_ws/src
git clone https://github.com/ryuichiueda/raspimouse_ros_2.git
git clone https://github.com/rt-net/raspimouse_ros_examples.git
git clone https://github.com/Tiryoh/raspimouse_navigation.git

# 依存パッケージのインストール
rosdep install -r -y -i --from-paths .

# make & install
cd ~/catkin_ws && catkin build
source devel/setup.bash

使い方

SLAM

Raspberry Pi Mouse

Raspberry Pi Mouse上で次のコマンドでノードを起動します。

# URG
roslaunch raspimouse_ros_examples mouse_with_lidar.launch urg:=true port:=/dev/ttyACM0

# RPLIDAR
roslaunch raspimouse_ros_examples mouse_with_lidar.launch rplidar:=true port:=/dev/ttyUSB0

# LDS
roslaunch raspimouse_ros_examples mouse_with_lidar.launch lds:=true port:=/dev/ttyUSB0
Remote PC

1枚目の端末でRaspberry Pi Mouse操作のためのteleop用launchを起動します。

roslaunch raspimouse_ros_examples teleop.launch key:=true mouse:=false

2枚目の端末で地図を作成するためのlaunchを起動します。

roslaunch raspimouse_ros_examples slam_gmapping.launch 

地図作成後、3枚目の端末で地図を保存します。

roscd raspimouse_navigation/maps
rosrun map_server map_saver -f mymap

Navigation

Raspberry Pi Mouse

Raspberry Pi Mouse上で次のコマンドでノードを起動します。

roslaunch raspimouse_navigation robot.launch
Remote PC

Remote PC上で次のコマンドでノードを起動します。

map_fileには保存した地図のファイルを指定します。

roslaunch raspimouse_navigation pc.launch map_file:="$(rospack find raspimouse_navigation)/maps/mymap.yaml"

シミュレータ

動作環境

ソフトウェア

インストール

# ROSパッケージのダウンロード
cd ~/catkin_ws/src
git clone https://github.com/ryuichiueda/raspimouse_ros_2.git
git clone https://github.com/rt-net/raspimouse_ros_examples.git
git clone https://github.com/rt-net/raspimouse_sim.git
git clone https://github.com/Tiryoh/raspimouse_navigation.git

# 依存パッケージのインストール
rosdep install -r -y -i --from-paths .

# make & install
cd ~/catkin_ws && catkin build
source devel/setup.bash

使い方

SLAM

1枚目の端末でRaspberry Pi Mouse Simulatorを起動します。

roslaunch raspimouse_gazebo raspimouse_with_willowgarage.launch xacro_option:="lidar:=urg lidar_frame:=laser" 

2枚目の端末でRaspberry Pi Mouse操作のためのteleop用launchを起動します。

roslaunch raspimouse_ros_examples teleop.launch key:=true mouse:=false

3枚目の端末で地図を作成するためのlaunchを起動します。

roslaunch raspimouse_ros_examples slam_gmapping.launch 

地図作成後、4枚目の端末で地図を保存します。

roscd raspimouse_navigation/maps
rosrun map_server map_saver -f mymap

Navigation

1枚目の端末でRaspberry Pi Mouse Simulatorを起動します。

roslaunch raspimouse_gazebo raspimouse_with_willowgarage.launch xacro_option:="lidar:=urg lidar_frame:=laser" 

2枚目の端末で次のコマンドでノードを起動します。 map_fileには保存した地図のファイルを指定します。

roslaunch raspimouse_navigation pc.launch map_file:="$(rospack find raspimouse_navigation)/maps/mymap.yaml"

ライセンス

このリポジトリはMITライセンスで公開されています。詳細はLICENSEを確認してください。

謝辞

このリポジトリは zaki0929/raspimouse_navigation_3 から派生したものです。

raspimouse_navigation's People

Contributors

ryuichiueda avatar tiryoh avatar zaki0929 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

uberobo

raspimouse_navigation's Issues

Use plugins for costmap instead of pre-Hydro

またcostmapの使用がHydroから大きく変わっていて、パラメーター設定の方法がpre-Hydro形式と最新の形式があります。pluginsというパラメーターがないとpre-Hydro形式になって色々なパラメーターを良しなに内部で設定してくれます。ネットで調べるとpre-Hydro形式が多く出てくるのですが、最新の形式のほうが詳細に設定をすることができるのでこの方式を説明します。

ref: https://qiita.com/srs/items/fba2c83b96d17b2680e6

Pre-Hydro Parameters
Hydro and later releases use plugins for all costmap_2d layers. If you don't provide a plugins parameter then the initialization code will assume that your configuration is pre-Hydro and will load a default set of plugins with default namespaces. Your parameters will be moved to the new namespaces automagically. The default namespaces are static_layer, obstacle_layer and inflation_layer. Some tutorials (and books) still refer to pre-Hydro parameters, so pay close attention. To be safe, be sure to provide a plugins parameter.

Plugins
~/plugins (sequence, default: pre-Hydro behavior)

Sequence of plugin specifications, one per layer. Each specification is a dictionary with name and type fields. The name is used to define the parameter namespace for the plugin. See the tutorials for examples.

ref: http://wiki.ros.org/costmap_2d/layered

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.