プログラムの備忘録として残しておく.
自分で実際に使ったことだけを記録するので内容は薄いかもしれない.
Kikou's Log
2100年1月1日金曜日
2023年6月13日火曜日
Emacsインストール時の初期設定
Emacsはインストールしたままでは起動時にごちゃごちゃと説明が出てきてしまうので表示しないようにする.
~/.emacs.d/init.el
に
(setq inhibit-startup-message t)
(setq initial-scratch-message nil)
と記述して保存.
2021年6月10日木曜日
モーションキャプチャFlex13で取得した剛体の位置姿勢をROSで扱いたい
OptiTrackのモーションキャプチャ(MC)「Flex 13」で取得したデータをROSでTopic,TFとして扱いたい.これはFlexシリーズだけではなくPrimeシリーズでも,Motiveを使用している場合は同じ処理を行えば良い.
環境をざっくり.
Windows10 PC(Motive要求スペック)
Ubuntu 18.04 PC (ROS 1 Melodic)
WinでMotiveを使用してMCのデータを取得し,剛体設定している剛体の座標をUbuntuで受け取りROSで扱うことが目標です.と言っても公式が出している情報通りで英語が読めればOK.
今回は
OptiTrack (NatNet) streaming engine with mocap_optitrack ROS package
すなわち,Motiveにデフォルトで用意されている機能を使用して目標を達成する.
WinとUbuntuは同じネットワークに接続する.
通常通りMotiveで撮影環境のキャリブレーションと剛体設定を行う.
View > Assets Pane をクリックし表示されるAssets Paneで剛体の名称を設定する(ここでは1).
View > DataStreaming Pane をクリックし表示されるStreaming Paneでストリーミング情報を設定する.まずはPaneの3点リーダをクリックし,Show Advancedをクリックする.
- Broadcast Frame Data: On
- Local Interfaces: Win PCのIPアドレス
- Labeled Markers: 必要に応じて
- Unlabeled Markers: 必要に応じて
- Asset Markers: 必要に応じて
- Rigid Bodies: On(剛体の情報をストリームする)
- Skeletons: 必要に応じて
- Skeleton Coordinates: 必要に応じて
- Skeleton As Rigid Bodies: 必要に応じて
- Bone Naming Convention: 必要に応じて
- Up Axis: Y Up(デフォルトのY UpでROS上ではZ Upで表示される)
- Remote Trigger: 必要に応じて
- Transmission Type: Multicast
- Subject Prefix: 必要に応じて
- Visual3D Compatible: 必要に応じて
- Scale: 1
- Command Port: 1510
- Data Port: 1511(mocap_optitrackのデフォルトに合わせる)
- Multicast Interface: 244.0.0.1(mocap_optitrackのデフォルトに合わせる)
- Multicast as Broadcast: On
- Soket Size: 1000000
- VRPN Streaming Engine: Off
- Trackd Streaming Engine: Off
この設定でLive録画を開始する,またはEDITで再生するとローカルネットワーク上に剛体の位置姿勢がストリーミングされる.
次にROS側の設定を行う.
適当なワークスペースのsrcにで
$ git clone git@github.com:ros-drivers/mocap_optitrack.git
して,ワークスペースをcatkin_makeする.
ワークスペース/src/mocap_optitrack/config/mocap.yamlを編集する.
rigid_bodies:
'1':
pose: Robot_1/pose
pose2d: Robot_1/ground_pose
odom: Robot_1/Odom
tf: tf
child_frame_id: Robot_1/base_link
parent_frame_id: map
optitrack_config:
multicast_address: 224.0.0.1
command_port: 1510
data_port: 1511
enable_optitrack: true
以上の設定で
$ roslaunch mocap_optitrack mocap.launch
すると.ymalで設定したトピックにそれぞれの情報がPublishされ,
RvizでRobot_1のbase_linkが表示可能になる.
以上.
追記:
MotiveのPropaties->General Settings->Streaming IDが1になっていることを確認する.
ラベル:
Flex,
Motion Capture,
OptiTrack,
Prime,
ROS
2019年9月9日月曜日
ROSでRealsenseを使ってPointCloud型でメッセージを発行する
ROSでRealsenseを使うときに使用するパッケージ,launchファイルをオプションなしで実行するとPointCloud型のtopicが発行されない.
PointCloud型を発行したい場合は
$ roslaunch realsense2_camera rs_camera.launch filters:=pointcloud
これでsensor_msgs/PointCloud2型で
/camera/depth/color/points
が発行される.
…何か処理が重くなった
PointCloud型を発行したい場合は
$ roslaunch realsense2_camera rs_camera.launch filters:=pointcloud
これでsensor_msgs/PointCloud2型で
/camera/depth/color/points
が発行される.
…何か処理が重くなった
2019年6月17日月曜日
RealSenseのパッケージをWSでcatkin_makeしようとしたパッケージが無いと怒られた
ROS KineticでRealSenseを使えるようにする.
まずはRealSenseのSDKをインストールする.
https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md
次にROS Wrapperを入れる.
https://github.com/IntelRealSense/realsense-ros
ここでcatkin_makeしようとしたら,
could not find a package configuration file provided by ddynamic_reconfigure
と怒られた.
必要なパッケージがインストールされていないようなので自動でインストールする.
$ cd catkin_ws
$ rosdep install -r --from-path src --ignore-src
するとcatkin_makeが通った.
RVizでも無事にDepthCloudで表示できることを確認.
まずはRealSenseのSDKをインストールする.
https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md
次にROS Wrapperを入れる.
https://github.com/IntelRealSense/realsense-ros
ここでcatkin_makeしようとしたら,
could not find a package configuration file provided by ddynamic_reconfigure
と怒られた.
必要なパッケージがインストールされていないようなので自動でインストールする.
$ cd catkin_ws
$ rosdep install -r --from-path src --ignore-src
するとcatkin_makeが通った.
RVizでも無事にDepthCloudで表示できることを確認.
2019年6月14日金曜日
Raspberry Pi 3 BにMAVROSを入れてPX4と通信する
Raspberry PiにMAVROSをセットアップ.
Ubuntu 16.04を入れる.
ROS Kinetic Kameを入れる.
ここまでこちらのサイトをまんま参考にしている.というかイメージをそのままEtcherしている.
$ sudo apt update
$ sudo apt upgrade
lockが出たらpathが表示されているlockファイルをrmする.
公開鍵の文句が出たらその公開鍵を削除して入れ直す
$ sudo apt-key del 表示された公開鍵のID
$ 入れ直す.
USBを使えるようにしておく.
$ sudo gpasswd -a USER_NAME dialout
$ sudo reboot
MAVROSを入れる.
$ sudo apt install ros-kinetic-mavros ros-kinetic-mavros-extras
MAVROSの付属品を入れる.
Ubuntu 16.04を入れる.
ROS Kinetic Kameを入れる.
ここまでこちらのサイトをまんま参考にしている.というかイメージをそのままEtcherしている.
$ sudo apt update
$ sudo apt upgrade
lockが出たらpathが表示されているlockファイルをrmする.
公開鍵の文句が出たらその公開鍵を削除して入れ直す
$ sudo apt-key del 表示された公開鍵のID
$ 入れ直す.
USBを使えるようにしておく.
$ sudo gpasswd -a USER_NAME dialout
$ sudo reboot
MAVROSを入れる.
$ sudo apt install ros-kinetic-mavros ros-kinetic-mavros-extras
MAVROSの付属品を入れる.
$ wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh ./install_geographiclib_datasets.sh
$ sudo chmod +x install_geographiclib_datasets.sh
$ sudo ./install_geographiclib_datasets.sh
MeijoDroneを入れる.
$ git clone https://github.com/MeijoDrone/MeijoDrone.git
$ cd MeijoDrone/sip_mavros_ws
掃除.
$ rm -r devel
$ rm -r build
Makeする.
$ catkin_make
.shに権限を与える.
$ sudo chmod +x runPX4Manager.sh
PX4を繋いだら早速動かす.
$ ./runPX4Manager.sh /dev/ttyACM0
ラベル:
MAVROS,
RaspberryPi,
ubuntu
2019年6月13日木曜日
apt updateで公開鍵がないですよと怒られた
Ubuntu16.04にROS Kineticをインストールしているが,apt updateしようとしたら以下のエラーが出た.
the following signatures couldn't be verified because the public key is not available: NO_PUBKEY F42ED6FBAB17C654
公開鍵が悪さをしているようなので一旦公開鍵を削除して
$ sudo apt-key del F42ED6FBAB17C654
改めて公開鍵を登録した.
$ sudo apt-key adv --keyserver 'hkp://ha.pool.sks-keyservers.net:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
これでapt updateが通った.
the following signatures couldn't be verified because the public key is not available: NO_PUBKEY F42ED6FBAB17C654
公開鍵が悪さをしているようなので一旦公開鍵を削除して
$ sudo apt-key del F42ED6FBAB17C654
改めて公開鍵を登録した.
$ sudo apt-key adv --keyserver 'hkp://ha.pool.sks-keyservers.net:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
これでapt updateが通った.
登録:
投稿 (Atom)