1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ROSセンサーmemo

Last updated at Posted at 2023-05-04

webカメラ

①まずubuntoでwebカメラを使えるようにしておく。
下記コマンドで接続したカメラが認識できるかを確認する。できた場合は接続したカメラの情報が出て来る

lsusb

Screenshot from 2023-06-11 18-19-21.png

②cheese Webcam Applicationをインストールする

sudo apt-get install cheese

③カメラを試す前にwebカメラの使用権限を設定する

sudo usermod -a -G video $USER
cat /etc/group | grep video

Screenshot from 2023-06-11 18-20-54.png

④cheeseコマンドでカメラを起動できたらubuntuのwebカメラ設定完了。これでROSのwebカメラも認識できるようになるはず。

cheese

⑤ROSのWebカメラ駆動用aptインストール

sudo apt-get install ros-noetic-usb-cam
sudo apt install ros-noetic-image-view

ターミナル1

 roscore

ターミナル2

roslaunch usb_cam usb_cam_node.launch

カメラビュー

rosrun image_view image_view image:=/usb_cam/image_raw

usb_cam.launchファイル

<launch>
    <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" >
        <param name="video_device" value="/dev/video1" />
        <param name="image_width" value="640" />
        <param name="image_height" value="480" />
        <param name="pixel_format" value="yuyv" />
        <param name="camera_frame_id" value="usb_cam" />
        <param name="io_method" value="mmap"/>
    </node>
</launch>

rqtで見てみる

rqt_image_view

※MicrosoftのLifeCam Studioを使う且つVirtualBox環境の場合はUSB3.0に設定しないと画像がうまく表示されない。USB2.0で設定した場合はカメラデバイス情報は表示できるけど、イメージが真っ暗になる。USBの転送速度の問題らしい。

参考:
https://wiki.archlinux.jp/index.php/%E3%82%A6%E3%82%A7%E3%83%96%E3%82%AB%E3%83%A1%E3%83%A9%E8%A8%AD%E5%AE%9A

freenect_camera(Kinect xbox360)

捕获.PNG

ドライバーなどのインストール
https://aibegins.net/2020/11/22/give-your-next-robot-3d-vision-kinect-v1-with-ros-noetic/

kinectをロボットに実装するxacro例

<?xml version="1.0"?>
<robot name="mrobot" xmlns:xacro="http://www.ros.org/wiki/xacro">

    <xacro:include filename="$(find mrobot_description)/urdf/mrobot_body.urdf.xacro" />

    <!-- Kinectインクルート -->
    <xacro:include filename="$(find mrobot_description)/urdf/kinect.xacro" />

    <!-- Kinect取り付け位置 -->
    <xacro:property name="kinect_offset_x" value="-0.06" />
    <xacro:property name="kinect_offset_y" value="0" />
    <xacro:property name="kinect_offset_z" value="0.035" />

    <xacro:mrobot_body/>

    <!-- Kinectパラメータ -->
    <joint name="kinect_frame_joint" type="fixed">
        <origin xyz="${kinect_offset_x} ${kinect_offset_y} ${kinect_offset_z}" rpy="0 0 0" />
        <parent link="plate_2_link"/>
        <child link="camera_link"/>
    </joint>
    <xacro:kinect_camera prefix="camera"/>

</robot>

ベースのrobotベースは別のxacroで定義必要だが、上記xacroをrunするとこんな感じ。これで後センサーを使った画像認識した状態で自立走行の作りを始められるね。
Screenshot from 2023-06-16 10-56-19.png

rplidar

捕获.PNG

sudo apt-get install ros-noetic-rplidar-ros

コネクトRplidarUSB、接続状況を確認する

lsusb

※下記エラー発生する場合、対処方法にて試す
Error,Cannot bind to the specified port /dev/ttyUSB0.
これは権限の問題

sudo gpasswd --add * dialout
    *はユーザー名を入れること

lidar test(注意:RasPiの電流は大体1.5A以下だが、センサーは1.5A消費するものが多いため、電源を分けた方がいいと思う)

rosrun rplidar_ros rplidarNode
rostopic list
rostopic echo /scan

memo:usb情報を確認するコマンド

lsusb
  • -v をつけると詳細情報まで表示される
    Screenshot from 2023-05-20 22-26-58.png
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?