Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

ROS

ROSでUSBカメラを使う その2:launchファイルを書く

ROS

shuzo-kino.hateblo.jp の続き。 launchファイルを書いて、それから実行してみます。 実際のところ ただ書くだけなのもナンなので、解像度とレートをさげてみます。 <launch> <node name="camera" pkg="usb_cam" type="usb_cam_node"> <param name="pixel_format" value="yuyv" /> <param name="image_width" value="320" /> </param></param></node></launch>

ROSでUSBカメラを使う その1:とりあえずROSRUNで動かす

ROS

実際のところ $ sudo apt install ros-${ROS_DISTRO}-usb-cam install ros-${ROS_DISTRO}-image-viewROSトピックの仕様上、MJPGではうまくデータ形式を取り扱えないそうなのでフォーマットはyuyvに形式を明示 デバイスはデフォでは /dev/video0です $ rosrun…

rosboardでブラウザ越しにROS

ROS

Are you looking for a web-based alternative to RVIZ for both ROS 1 and ROS 2? Check out ROSBoard, it has lots of great features and a slick user interface. https://t.co/Ibr7nSrQh1 pic.twitter.com/RwmrAllCVj— Open Robotics (@OpenRoboticsOrg…

rosdepで入れたモノの管理権限を変更する

ROS

rosdep installをrootでやってしまい、通常ユーザーで実行ができなくなってしまいました。 これを解消するサブコマンドとして、その名もfix-permissionsというのがあります。 実際のところ rootからubuntuに入れ替え、権限を弄る流れは以下の通り # cd ~/cat…

rosdepで入れたものを再インストールする

ROS

実際のところ 何らかの事情で導入済みのものを再インストールしなくてはならない場合、"--reinstall"のオプションをつけると上書きが可能です。 $ rosdep install --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y --reinstall 参考もと rosdep -s…

roslaunch: [ ] is neither a launch file in package [ ] nor is [ ] a launch file name ……なんて言われたら、環境変数にlaunchファイルが認識されていない可能性

ROS

ROSの新環境を準備中のこと。 roscoreをメインの端末で立ち上げ、併行して使っていた端末でroslaunchしようとしたところ、こんなエラーが。 roslaunch: [ ] is neither a launch file in package [ ] nor is [ ] a launch file name 何のことはなく、作業端…

ROSからM5stackにふれる その4:log

実際のところ #include <ros.h> #include <M5Stack.h> ros::NodeHandle nh; void setup() { // initialize the M5Stack object M5.begin(); M5.Power.begin(); nh.initNode(); } void loop() { //wait until you are actually connected while (!nh.connected()) { nh.spinOnce</m5stack.h></ros.h>…

ROSからM5stackにふれる その3:HelloWorldもといpublisher

実際のところ #include <ros.h> #include <std_msgs/String.h> #include <M5Stack.h> ros::NodeHandle nh; std_msgs::String str_msg; ros::Publisher chatter("chatter", &str_msg); char hello[10] = "hello ROS"; void setup() { // initialize the M5Stack object M5.begin(); M5.Power.begin(</m5stack.h></std_msgs/string.h></ros.h>…

ROSからM5stackにふれる その2:Lチカもといsubscriber

実際のところ #include <ros.h> #include <std_msgs/Empty.h> #include <M5Stack.h> ros::NodeHandle nh; bool flag = true; void messageCb( const std_msgs::Empty& toggle_msg){ if ( flag ) { M5.Lcd.fillScreen(WHITE); flag = false; } else { M5.Lcd.fillScreen(BLACK); flag = true; } } </m5stack.h></std_msgs/empty.h></ros.h>…

ROSからM5stackにふれる その1:環境構築

何やかんやで、即作りたいときには便利なM5stack こいつをROSと連携する方法を考えていきます。 実際のところ ROSにrosserial-arduinoの環境導入 sudo apt install ros-$ROS_DISTRO-rosserial sudo apt install ros-$ROS_DISTRO-rosserial-arduino cd catkin…

ROSでmsgファイルが無い等々と怒られたら、設定ファイルが読み込めてないだけかも

ROS

shuzo-kino.hateblo.jp と同じ症状ですが、出た場所が違ったのでメモ以前の記事と同様、設定ファイルの読み込みが上手くいかなかった為に 実際のところ $ rosservice call /xarm/move_line_tool [0,0,-50,0,0,0] 200 2000 0 0本来であればアームが動くのです…

xArmにROS環境をつくる その3:rospy経由でpythonから動かす

PythonでROSメッセージをおくる方法として、rospyの活用があります 実際のところ まず使うためのサービス名を把握 $ rosservice list /rosout/get_loggers /rosout/set_logger_level ・・・ /xarm/vacuum_gripper_set /xarm/velo_move_joint /xarm/velo_move…

xArmにROS環境をつくる その2:サービスを経由してxArmを動かす

ROS

実際のところ roslaunch $ YOURIP=192.168.1.230 $ roslaunch xarm_bringup xarm7_server.launch robot_ip:=$YOURIP 操作側端末の準備 サービス経由でロボットを動かす $ rosservice call /xarm/motion_ctrl 8 1 ret: 0 message: "motion enable, ret = 0"モ…

xArmにROS環境をつくる

ROS

xArmは中国深圳のUFactory社が出しているロボットアームです。 ユニバーサルロボティクス社のURシリーズと似た規模感、可動軸ながら、軽量安価という特徴があります。 実際のところ 環境 Ubuntu 20LTS on WSL ROS noetic 前準備 gazebo_ros_pkg、ros_control…

WSL上のROSがQtのプラグイン初期化ができない云々で怒り始めたら、DISPLAY変数を疑うといいかもしれない

ROS

実際のところ $ roslaunch xarm_description xarm7_rviz_display.launch ... process[rviz-4]: started with pid [8059] qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was f…

rosdepのオプション"rosdistro"で対象のDistroを絞って動かす

ROS

前の世代の作業環境でやってたけど、色々あって最新にしたい。 じゃぁ一個一個再インストとかでは流石に萎えますよね。 ROS公式もその辺りは把握しており、対応するオプションがあります。 実際のところ まず最新にアップデートし、checkサブコマンドにrosdi…

【読書メモ】プログラミングROS ―Pythonによるロボットアプリケーション開発 (オライリー・ジャパン)

プログラミングROS ―Pythonによるロボットアプリケーション開発 (オライリー・ジャパン)作者:Morgan Quigley,Brian Gerkey,William D. SmartオライリージャパンAmazonとある案件でお客先が読んでいたので、参照ついでに手に取ってみました。 rospyを使ってRO…

ビルドした筈のmsgsがrosmsgで出てこない場合、catkinのsetupを再読み込みするといいかもしれない

ROS

実際のところ --------------------------------------------------------------- [build] Found '38' packages in 0.0 seconds. [build] Package table is up to date. Starting >>> unitree_legged_msgs Finished <<< unitree_legged_msgs [ 14.2 seconds …

ROSのパッケージビルドツールcatkin(とても紛らわしい)

ROS

単独でパッケージビルドしたかったがcatkin_makeだと魔界記法めいていてコワイ 参考もと $ sudo apt install python-catkin-toolscatkin_makeしたものがあると、エラーを吐きます。 せっかくなので、イチから作った方が早いでしょう。 単独でやるときは $ ca…

ros-noetic-desktop-fullが入らないと思ったら作業環境が不一致の18.04だったおという話。

ROS

Ubuntu20……だと思っていた環境 E: 問題を解決することができません。壊れた変更禁止パッケージがあります。 なんのことはなく、使っていたのがUbuntu18系だったというオチ。 noeticは20系対応なので、インストールできんというわけです。 実際のところ $ sud…

【読書メモ】ROS2ではじめよう 次世代ロボットプログラミング

ROS2ではじめよう 次世代ロボットプログラミング作者: 近藤豊出版社/メーカー: 技術評論社発売日: 2019/08/13メディア: 単行本(ソフトカバー)この商品を含むブログを見る前のROS conでも盛り上がったロボット向けミドルウェアROS2の数少ない教本です。一応…

【古い情報】Ubuntu 18 LTSの上にROS2 Dash環境を構築する

2020年5月ごろ、Ubuntu 20 LTS系に対応したROS2(foxy)に対応したのが出ました。 今後も継続してアップデートされると思いますので定期的に 依存性の強い古いパッケージを使うとかでもない限り、原則最新のにしときましょう。 qiita.com以下、過去ログも含め…

【イベントログ】日本ロボット学会の機器展示

open manipulator で遊ぶ その5:Gazeboを起動する

GazeboはROSに付属するシミュレータツールです。 こいつを使えば、三次元モデルで動作検証ができます。 実際のところ いまかいてまs 参考もと http://emanual.robotis.com/docs/en/platform/openmanipulator_x/

open manipulator で遊ぶ その4:ROSを導入

ROSは研究用途から実用まで、幅広く使われているロボット用ミドルウェアです。 ロボティズ社は公式にROSの開発サポートをしている関係からOpen Manipulatorも動作サンプルとして使えます。というわけで、Open ManipulatorでROSを使ってみます。 この記事は旧…