ROS 摄像头的使用

news2024/11/18 17:19:48

参考:

​ 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>
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/398258.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Learning C++ No.13【STL No.3】

引言&#xff1a; 北京时间&#xff1a;2023/3/7/15:33&#xff0c;还有27分钟就要去上课啦&#xff01;刚刚把最近因为考试原因欠的课给还干净了&#xff0c;已经准备好今天晚上接受航哥的毒打了&#xff0c;毒打就毒打&#xff0c;咱不怕&#xff0c;只要不欠钱&#xff0c;…

小黑子—Java从入门到入土过程:第一章

Java零基础入门1.0Java系列第一章1. cmd2. 利用cmd打开qq并配置环境变量3. Java概述和学习方法4. JDK下载和安装5. hello world 小案例6. bug常见小问题7. 环境变量8. Notepad9. java 语言的发展10. java 能干什么10.1 javaSE10.2 javaME10.3 javaEE11. java为什么火12. java为…

什么是激励能力?HR人才测评

什么是激励能力&#xff1f;激励能力主要是针对管理型岗位而言的&#xff0c;尤其是团队型管理&#xff0c;既要督导团队成员&#xff0c;更需要掌握激励下属的方法和技巧。在HR人才测评系统中&#xff0c;对于管理型岗位的人才测评指标&#xff0c;通常也会包含激励能力&#…

蓝牙耳机哪款佩戴舒服?2023佩戴最舒适蓝牙耳机

由于每天坐在电脑桌前的时间比较长&#xff0c;需要音乐和运动调剂一下自己&#xff0c;而说到与蓝牙耳机&#xff0c;大家更加关注的是音质和佩戴舒适度吧&#xff0c;作为一位音乐发烧友&#xff0c;使用过的耳机数不胜数&#xff0c;接下来跟大家分享一下我的体验感受。 第…

关于供应链,一文教你全面了解什么是供应链

什么是供应链&#xff1f;供应链是指产品生产和流通过程中所涉及的原材料供应商、生产商、分销商、零售商以及最终消费者等成员通过与上游、下游成员的连接 (linkage) 组成的网络结构。也即是由物料获取、物料加工、并将成品送到用户手中这一过程所涉及的企业和企业部门组成的一…

CH4-流程控制之for循环结构: 打印三3种三角形图案(代码+详细注释+知识点总结

建议学习方法&#xff1a;不会可以参考代码和视频进行学习&#xff0c;学会举一反三&#xff0c;三角形很多种变形题目&#xff0c;学会自己敲代码&#xff1b; 本文章内容建议参考后&#xff0c;自己默写和理解敲代码&#xff01;不要偷懒哦&#xff01; 刚刚起步&#xff0c;…

AM5728(AM5708)开发实战之调试DP83822 LED

一 LED寄存器分析 MLEDCR即Multi-LED Control Register,地址为0x0025 MLEDCR[1:0]设置MLED路由功能,具体如下所示: 0x00表示MLED功能路由到COL(PIN29) 0x03表示MLED功能路由到LED_0(PIN17) 从上述信息可知,DP83822芯片只有COL(PIN29)和LED_0(PIN17)才可以配置成MLED功能 …

手把手演示Ngnix+Tomcat实现动静分离

前言 大家好&#xff0c;又见面了&#xff0c;我是沐风晓月&#xff0c;本文首发于csdn作者:我是沐风晓月 的【运维系列-系统服务与架构】专栏&#xff0c;专栏还在持续更新中&#xff0c;欢迎关注。 此专栏是沐风晓月对操作系统中常见的服务进行总结&#xff0c;希望能够加深…

【专项训练】泛型递归、树的递归

递归和循环没有明显的边界! 不要进行人肉递归! 找最近重复子问题,直接写递归! 数学归纳法思维:1,2,…… 70. 爬楼梯 https://leetcode.cn/problems/climbing-stairs/ 互斥,且加在一起是全部答案! 动态规划法:用数组做递推,就是动态规划!!! class Solution

k8s-Kubernetes--pod管理-基本操作

文章目录前言一、简介一些简单的入门小命令二、pod基本操作1.pod创建2.pod删除&#xff0c;查看日志三、service和deployment(控制器)1.deployment基本操作2.Pod扩容与缩容3.expose暴露端口3.1ClusterIP默认类型暴露端口3.2 NodePort类型暴露端口4.升级pod镜像/应用版本5.回滚6…

萤火虫算法优化SVM变压器故障分类预测,fa-svm分类预测,libsvm参数优化

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 SVM应用实例,基于fa-svm分类预测 代码 结果分析 展望 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是…

Android Studio无法启动,Failed to create JVM:error code -1. JVM Path 完美解决方案

一、背景 很久没有启动过Android studio了,今天突然需要,却打不开了,报错如下,因此记录下我的解决办法,希望能帮到更多朋友! 二、过程 刚开始以为时java的环境变量问题,配置好java环境变量依然不行,所以大家不必折腾了。 后面经过一片博文的启发,https://blog.csdn.ne…

信息系统分析与设计——信息、管理与信息系统

&#x1f31f;所属专栏&#xff1a;信息系统分析与设计&#x1f414;作者简介&#xff1a;rchjr——五带信管菜只因一枚&#x1f62e;前言&#xff1a;该系列将持续更新信息系统分析与设计课程的相关学习笔记&#xff0c;欢迎和我一样的小白订阅&#xff0c;一起学习共同进步~&…

SpringBoot学习笔记(四)Web开发

在之前我们的项目都是以jar包结尾的&#xff0c;没有放webapp的地方。springboot最大的特点&#xff1a;自动装配&#xff0c;创建应用&#xff0c;选择模块导入starter&#xff0c;只需要专注于业务代码springboot到底帮我们配置了什么&#xff0c;我们能不能修改&#xff1f;…

【微信小程序】-- 案例 - 本地生活(列表页面)(三十)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…

什么是图神经网络?

什么是图神经网络&#xff1f; GNN 将深度学习的预测能力应用于丰富的数据结构&#xff0c;这些数据结构将对象及其关系描述为图中由线连接的点。 当两种技术融合时&#xff0c;它们可以创造出新奇而美妙的东西——比如手机和浏览器融合在一起打造智能手机。 如今&#xff0…

Java使用Springboot+Mybatis构建第一个项目

一、java安装&#xff1a;安装 Java1.8环境 maven3.6.1环境 Gradle-6.9.1环境 IntelliJ IDEA 2022.1.3 下载旗舰版&#xff08;因为包含springboot&#xff09;二、项目构建-数据库是sqlserver&#xff1a;1、打开idea&#xff0c;点击File->New->Project&#xff0c;选中…

华为OD机试题,用 Java 解【英文输入法】问题

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不…

输入两个数,可以进行加减乘除的操作。

完整代码如下所示&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"wi…

博客系统 -- 静态页面

文章目录1. 前言2. 页面展示3. 实现3.1 博客列表页3.2 博客详情页3.3 登录页面3.4 博客编辑页4. 整体代码1. 前言 到此 我们对 HTML &#xff0c; CSS &#xff0c; JavaScript 已经有了个简单的了解 &#xff0c; 但是还不太熟悉 &#xff0c;下面就通过 写一个博客系统的 网站…