ROS 摄像头的使用

参考:

youtube@Articulated Robotics

作者@Josh Newans博客

建议:
这个只是我的看法,强烈建议看原视频或博客

png:无损压缩

jpeg:有损压缩

  • Driver Node

    负责连接硬件设备,读取摄像头数据"image_raw"(这里的raw指的是未压缩的图片,而不是raw格式的图片),并发布到指定话题"sensor_msgs/Image",

    如果是需要压缩的图像数据"image_raw/compressed",则发布到"sensor_msgs/CompressdImage",

    二者通过 image_transport library/nodes可以互相转换

  • 坐标系

    image-20230309090127955

    • 在ROS中,机身的坐标系为左图,一般为camera_link,而图片坐标系则为camera_link_optical,两个坐标系的x,y,z轴是不同的。

    • 在实际使用时,urdf?创建的是两帧(frame),实际数据是一样的,但是图片坐标系是机身坐标系翻转(rotate)得到的。

    • camera_link_optical需要在header中声明这一帧是optical frame。

  • 修改 .xacro文件

    这里添加了 翻转

    <joint name="camera_optical_joint" type="fixed">
        <!--翻转添加的位置-->
        <origin xyz="0 0 0" rpy="${-pi/2} 0 ${-pi/2}" />
        
        <parent link="camera_link" />
        <child link="camera_link_optical" />
    </joint>
    
    <link name="camera_link_optical"></link>
    
    <!--设置相机的参数-->
    <camera>
        <!--fov与实际相机一致-->
        <horizontal_fov>1.089</horizontal_fov>
        <!--设置图片格式-->
        <image>
            <format>R8G8B8</format>
            <width>640</width>
            <height>480</height>
        </image>
        <!--设置相机范围 0.05m~8m -->
        <clip>
            <near>0.05</near>
            <far>8.0</far>
        </clip>
    </camera>
    
    <!--修改插件(驱动)-->
    <plugin name="camera_controller" filename="libgazebo_ros_camera.so">
        <frame_name>camera_link_optical</frame_name>
    </plugin>
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Smile Hun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值