空飛ぶロボットのつくりかた

ロボットをつくるために必要な技術をまとめます。ロボットの未来についても考えたりします。

ROS

ROS x LeapMotionのお勉強

LeapMotionを使ってみる 準備 SDKのダウンロード V2 Tracking — Leap Motion Developer install sudo dpkg --install Leap-2.3.1+31549-x64.deb ubuntu16.04でもし動かなければ Ubuntu 16.04にLeapMotion導入 - Qiita を参考に修正 leapを起動したい時 sudo …

ROS x C++のお勉強

背景 PCLや画像処理の高速化などC++でしか扱えないものを使えるようになりたい。 ROSパッケージの構成検討 robonchu.hatenablog.com 最小構成(hello world) CMakeLists.txt cmake_minimum_required(VERSION 2.8.3) project(hello) find_package(catkin REQUI…

kinect v2をROS(KINETIC)で動かしてみる

ROS

環境設定 実行結果 PCL Python x PointCloud rvizでの表示、TFの出し方 TFについて SD, HD, QHD 環境設定 手順:Ubuntu16.04: Kinect V2の設定 | demura.net GitHub - OpenKinect/libfreenect2: Open source drivers for the Kinect for Windows v2 device G…

Gazebo+ROSのお勉強

ROS

Gazebo Tutorial Gazebo : Tutorials gazebo_ros_pkgs - ROS Wiki わかりやすいブログ Controller と HardwareInterface との間の処理の仕組み(1. ロボットモデルの定義と登録) - Qiita Controller と HardwareInterface との間の処理の仕組み(2. RobotHW…

sumoをros(kinetic)で動かしてみる

動かし方 基本的には以下のREADMEの通り GitHub - arnaud-ramey/rossumo: Wrapper of the ARDroneSDK3 sample "JumpingSumoPiloting.c" as a C++ lightweight class for ROS. はじめに、WIFIでsumo(名前:Jett~)と接続しておく 変更点 catkin_make --only-pk…

ロボットをGazebo + ROS(kinetic)上で作って、動かしてみる

ROS

Gazebo ROS Demos GitHub - ros-simulation/gazebo_ros_demos: Example robots and code for interfacing Gazebo with ROS Quick Start Rviz: roslaunch rrbot_description rrbot_rviz.launch Gazebo: roslaunch rrbot_gazebo rrbot_world.launch ROS Contro…

ROSのスクリプト構成を考えてみる

C++編 pattern1 package 構成: func.h , func.cpp, func_node.cpp func.h include <必要なファイル> namespaceをパッケージ名で作成 Funcクラスを作成 コンストラクタとデストラクタの定義(Public) pubやsub,callbackを定義(Private) その他、必要な変数や…

画像読み込み、表示のお勉強

例えばros kinect のdepth imageは Data published on /camera/depth/image_raw is the depth in millimeters as a 16 bit unsigned integer. のようにパブされている。 [PARTLY UNSOLVED] Raw Kinect Depth Data - ROS Answers: Open Source Q&A Forum グレ…

ROS message_filtersのお勉強

複数のトピックの時間の同期を取りたいときなどに使用する。 Time Synchronizer ApproximateTime Policy Time Synchronizer imageとcamera_infoの同期をとっている The TimeSynchronizer filter synchronizes incoming channels by the timestamps contained…

ROSrviz/rqtのお勉強

ROS

rviz $ rosrun rviz rviz 左のaddからいろいろ追加してみよう rqt 素のrqt $ rqt rqt_plot $ rqt_plot topic指定 $ rqt_plot /turtle1/cmd_vel/linear/x rqt_image_view $ rosrun uvc_camera uvc_camera_node $ rqt そして Plugins->Visualization->ImageVie…

ROStfのお勉強

ROS

TFコマンド フレームツリーグラフ $ rosrun tf view_frames $ evince frames.pdf フレーム関係 $ roslaunch turtle_tf turtle_tf_demo.launch $ rosrun tf tf_echo world turtle1 At time 1496036356.439 - Translation: [5.544, 5.544, 0.000] - Rotation: …

ROSプラグインのお勉強

ROS

プラグインプログラムの作成 プラグインをエクスポート プラグインの登録 プラグインの記述 プラグインライブラリの構築 プラグインを利用する 実行 プラグインプログラムの作成 ベースプラグインクラス プラグインクラス で構成される プラグインをエクスポ…

ROSアクションのお勉強

ROS

rosアクションの復習 アクションの作成 型の定義 設定 actionの実装例 アクションの作成 型の定義 $ roscd sample $ mkdir action $ cd action $ touch sample.action sample.actionの中身↓ uint16[] freqs --- bool finished --- uint32 steps 上からGoal,R…

ROSメッセージのお勉強

ROS

rosメッセージの復習 メッセージコマンド メッセージファイルの作成 メッセージコマンド すべてのメッセージを表示 $ rosmsg list 指定したメッセージの型を表示 $ rosmsg show geometry_msgs/Twist geometry_msgs/Vector3 linear float64 x float64 y float…

ROSランチのお勉強

ROS

rosランチの復習 node include param arg remap,group node <launch> <node pkg="turtlesim" name="sim" type="turtlesim_node" output="screen" required="true" /> </launch> include 他のランチファイルの立ち上げる時 <launch> <include file="$(find beginner_tutorials)/launch/turtlemimic.launch" /> </launch> param <launch> </launch>

ROSパラムのお勉強

ROS

rosパラムの復習 利用可能なパラメータの表示 list get set delete launch 利用可能なパラメータの表示 set : パラメータを設定する get : パラメータを取得する load : ファイルからパラメータを取り込む dump : ファイルにパラメータを格納する delete : …

ROSサービスのお勉強

ROS

rosサービスの復習 全サービスを調べる あるノードが提供してるサービスを調べる あるサービスを提供するnodeを探したいとき サービスの情報を調べる サービスの利用 サービスの作成 サービスのmsgの作成 サービスサーバーの作成 サービスクライアントの作成…

rosを使ってセンサ取得データの保存

ROS

rosを使ってセンサ取得データを保存する。 環境 os: ubuntu16.04 ros: kinetic usb_cam編 インストール usb_camのインストール 参考:づーまー日記: 【備忘録】 ROS Kinetic でusb-camのインストール方法&使い方 データの表示 ターミナル1 $ roscore ター…

Raspberry Pi Kame プロトタイプ Mark0

raspi-kame作成 これまでやってきたことを組み合わせて、raspberry pi kameを作りました↓ 【ハード】 raspberry pi 3 dcモーター×2 サーボモータ×1(16個まで拡張可) 超音波センサ カメラ 【ソフト】 ros : kinetic kame ちょっとした段差なら登ります〜 な…

他のPCへ向けてrosの指令を送る方法

ROS_MASTER_URIを変更する .bashrcに以下のように記載しておくと便利 alias raspi_robot_mode=‘export ROS_MASTER_URI=http://{IPアドレス}:11311 export PS1=“[\033[41;1;37m]<raspi_robo>[\033[0m]\w$ ”’ こうすることで、他PCでroscoreが立ち上がっていると、自PCで動</raspi_robo>…

raspberry pi 3で ROS Kinetic Kame を動かす

raspberry pi 3 に Ubuntu Mate 16.04を入れる 以下からubuntu mateのimgをダウンロード ubuntu-mate.org SDカードフォーマッターでイレースフォーマットを実行 https://www.sdcard.org/jp/downloads/formatter_4/ DD for Windowsでイメージを書きこむ http:…

rosのpocketsphinxの使い方

インストール $ git clone https://github.com/mikeferguson/pocketsphinx.git $ sudo apt-get install gstreamer0.10-pocketsphinx $ sudo apt-get install gstreamer0.10-gconf 修正 pocketsphinx/nodes/recognizer.py pocketsphinx/nodes/voice_cmd_vel.p…

rosで3rdpartyのコードをインストールする時

rosのmkを追いかけてみる /opt/ros/indigo/share/mk/download_unpack_build.mk md5sumファイルがあれば $(ROS_ROOT)/core/rosbuild/bin/download_checkmd5.py $(TARBALL_URL) $(TARBALL) を実行 /opt/ros/indigo/share/ros/core/rosbuild/bin/download_check…

rosのワークスペース

ROS

ワークスぺース 参考: catkin/package.xml - ROS Wiki package.xml 参考: ja/ROS/Tutorials/CreatingPackage - ROS Wiki catkin/package.xml - ROS Wiki ビルド 参考: ROS/Tutorials/BuildingPackages - ROS Wiki

rosのNamesに関して

ROS

名前の種類 base relative/name /global/name ~private/name 参考: ja/Names - ROS Wiki Names - ROS Wiki Namespace and Remapping - ROS Answers: Open Source Q&A Forum ROS Naming and Namespaces | NooTriX Remap topic名やparameter名を簡単に変更で…

デバッガのお勉強

rosのデバッガ、IDE rosでもpdbが使える? 【ToDo】 rosでeclipseやpdbを使ってみる 参考: IDEs - ROS Wiki debug ros node python - ROS Answers: Open Source Q&A Forum How do I use eclipse with python (pydev) - ROS Answers: Open Source Q&A Forum …

rospyのお勉強

rospy.get_param パラメータサーバーから値をとってくる rospy.get_param(param_name, default) 参考: rospy/Overview/Parameter Server - ROS Wiki rospy.Time rate,sleep,durationなどよく使うものが多い rospy.Timer(period, callback, oneshot=False) p…

rosでテストを書いてみる

unittest CMakeLists.txt catkin_python_setup() if(CATKIN_ENABLE_TESTING) find_package(rostest REQUIRED) add_rostest(test/mytest.test) endif() package.xml <test_depend>rostest</test_depend> <test_depend>python-nose</test_depend> ↑テストにnoseをつかう場合 mytest.test <launch> </launch>

パラチュン用dynamic_reconfigureの使い方

ROS

dynamic_reconfigureの使い方 Tutorial.cfgファイルの作成 #!/usr/bin/env python PACKAGE = "dynamic_tutorials" # package name from dynamic_reconfigure.parameter_generator_catkin import * gen = ParameterGenerator() gen.add("int_param", int_t, 0…

ROSを勉強している方々のブログまとめ

ROS

お世話になっております。 大感謝。全部目を通したい。 rosとは 参考 ROSの概念 [ROSロボットプログラミング] ROSで使われる専門用語 - Qiita わかりやすいチュートリアル ROS Tutorials — ROS Tutorials 0.5.1 documentation ブログまとめ ros-robot.blogsp…