ROSセンサーmemo

webカメラ
=
①まずubuntoでwebカメラを使えるようにしておく。
下記コマンドで接続したカメラが認識できるかを確認する。できた場合は接続したカメラの情報が出て来る
~~~~~~~~~~~~~~~~~
lsusb
~~~~~~~~~~~~~~~~~
![Screenshot from 2023-06-11 18-19-21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3181208/a0ccb0cb-9bbc-5325-68c2-9a9c086eaf5c.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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3181208/58ec1a5a-3efa-d50f-30f2-5d68ae99d693.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
~~~~~~~~~~~~~~~~~
ターミナル１
~~~~~~~~~~~~~~~~~
 roscore
~~~~~~~~~~~~~~~~~
ターミナル２
~~~~~~~~~~~~~~~~~
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://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3181208/7890ef58-20c8-48f9-004b-24f09f919f04.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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3181208/b312a9f2-f4fb-8df9-9362-c98cf9bcb781.png)


rplidar
=
![捕获.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3181208/8ef39f05-4cfb-a59e-bb01-2ff6680775ac.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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3181208/977b9fea-e6c4-1bca-e00b-f02b308dca39.png)