飞行机器人专栏(九)-- 多传感器固定端口分配

news2024/11/24 7:33:33

查看源图像

目录

​编辑

1 /dev/设备列表

2 ttyUSB*端口ID 

3 端口别名rules动态绑定

4 launch文件配置


1 /dev/设备列表

lsusb

lsusb -t

2 ttyUSB*端口ID 

查看/dev/ttyUSB* 设备端口ID :0403:6014

找到对应USB的设备ID,这里是 0403:6014, 可以不连接USB设备输入lsusb,连接上后再输一次lsusb,多加出现的那一行就是你对应的ID。

3 端口别名rules动态绑定

新建USB端口规则文件ttyusb.rules

cd /etc/udev/rules.d/
touch ttyusb.rules

KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE:="0777", SYMLINK+="ServoBus"

注意: (需要替换id/自定义名称)

举例: ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014",动态绑定端口id,并设置别名SYMLINK+="ServoBus", 端口权限MODE:="0777"。

重启usb dev服务器

    sudo service udev reload

    sudo service udev restart

重新拔插设备并检查设备端口号:

ls /dev/ServoBus

查看所有端口

lsusb

 可以发现,Rules已经生效,将ttyUSB0硬件端口软链接至rules-ServoBus端口便于分类识别与使用。

4 launch文件配置

将ROS launch文件中的端口名改为软链接的端口名即可,即使增删硬件,端口别名也不会错乱。

<arg name="usb_port"     default="/dev/ServoBus"/>

<launch>
  <arg name="usb_port"     default="/dev/ServoBus"/>
  <arg name="baud_rate"    default="1000000"/>
  <arg name="control_period"         default="0.010"/>

  <!--Hardware of Virtual Platform in Gazebo-->
  <arg name="use_platform"           default="true"/>
<!--Control Mode Selection -->
    <arg name="using_publisher_gui"        default="false"/>
<!-- Dynamixel prismatic joint servo MAX velocity , mm/s-->
    <!--<arg name="prismatic_joint_max_velocity"      default=100/>-->
    
  <node name="open_manipulator_controller" pkg="open_manipulator_controller" type="open_manipulator_controller" 
    output="screen" args="$(arg usb_port) $(arg baud_rate)">
    <param name="control_period"       value="$(arg control_period)"/>
    <param name="using_platform"       value="$(arg use_platform)"/>
  </node>
</launch>

 

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

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

相关文章

测试新风向|视频 AI 转流程图初体验

前言&#xff1a; &#x1f604;作者简介&#xff1a;小曾同学.com,小伙伴们也可以叫我小曾&#xff0c;一个致力于测试开发的博主⛽️ 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。&#x1f60a; 座右铭&#xff1a;…

极狐GitLab include 语法减少 CI/CD Pipeline 代码冗余,提升构建效率

项目经理&#xff1a;我们有个 Java 的新项目要开始了&#xff0c;需要你帮忙设置调试一下 CI/CD Pipeline DevOps 工程师&#xff1a;好的&#xff0c;没问题 ONE WEEK LATER... 项目经理&#xff1a;新项目的 CI/CD Pipeline 咋样了啊&#xff0c;我看研发还是手动人肉编译…

基于Vue+SpringBoot的在线考试系统,支持多种题型,含数据库文件

spring-boot-online-exam 完整代码下载地址&#xff1a;基于VueSpringBoot的在线考试系统 快速体验 在安装了docker的机器上执行如下命令&#xff1a; 安装mysql: docker run --name exam-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORDaA111111 -d mysql:5.7.15然后用doc/sql…

freeswitch的gateway实现出中继的主备方案

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 某些呼叫场景中&#xff0c;我们有2条出中继线路可选&#xff0c;2条出中继需要按照主备模式来配置&#xff0c;优先使用主中继呼叫&#xff0c;当主中继出现问题时&#xff0c;呼叫自动转移到备用中继呼叫。 本节中&a…

正大国际期货:恒指操作技巧之交易中五种绝佳的开仓思路分析

很多人总是亏损&#xff0c;其实最重要的原因之一是没有一个优势的概率系统&#xff0c;正大IxxxuanI经过了解之后&#xff0c;对目前市面上概率系统进行总结&#xff0c;现将以下几种优势的概率系统归纳罗列如下&#xff0c;有缘者定可举一反三&#xff0c;或可为你细化和改良…

Android中GRPC的使用-拦截器

在构建GRPC应用程序时&#xff0c;无论是客户端应用程序&#xff0c;还是服务端应用程序&#xff0c;在远程方法执行之前后之后&#xff0c;都可能需要执行一些通用逻辑。在GRPC中可以拦截RPC的执行&#xff0c;来满足特定的需求&#xff0c;如日志、认证、性能度量指标等&…

基于Amlogic 安卓9.0, 驱动简说(四):Platform平台驱动,驱动与设备的分离

一、篇头 本文介绍Platform平台驱动框架&#xff0c;使用此框架&#xff0c;将可以用上DTS设备树文件&#xff0c;实现设备的静态枚举&#xff0c;实现设备与驱动的分离。 本文基于Amlogic T972 &#xff0c; Android 9.0&#xff0c; 内核版本 4.9.113 二、系列文章 第1篇&a…

【Docker基础篇】一文完成快速使用

Docker基础篇前言Docker是什么&#xff1f;Docker与传统虚拟机技术区别Docker作用、为什么用docker原理Docker常用命令案例展示redis各种软件安装打包到本地、上传到远程仓库打包到本地推送到远程仓库前言 所有的权威均来自与官方&#xff0c;如有疑问请参考官网文献。人非圣贤…

网络厂商 Aruba 2022 年业绩成倍增长的经验是什么

转眼&#xff0c;2022 年马上就要结束了。 在多重不确定的经济环境之下&#xff0c;网络厂商 Aruba 中国在 2022 年的业绩&#xff0c;与上一财年相比仍然实现了成倍的增长。今年初&#xff0c;CSDN 曾采访过 Aruba 中国区的管理者 Aruba 中国区总经理谢建国与 Aruba 北中国区大…

alpine的介绍与使用

目录 1. alpine 简介 2. 基于alpine构建jdk8镜像 2.1 Dockerfile 2.2 将构建目录上传到linux中 2.3 执行构建 3. 镜像瘦身 4. 上传阿里云镜像仓库 1. alpine 简介 Alpine Linux是一个轻型Linux发行版&#xff0c;它不同于通常的Linux发行版&#xff0c;Alpine采用了musl …

【车间调度】基于卷积神经网络的柔性作业车间调度问题的两阶段算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

CryptoJS加密解密

1.CryptoJS CryptoJS库是前端js写的一个加密解密的工具&#xff0c;使用场景就是对于像账户密码等重要信息要显示在页面上时&#xff0c;需要加密&#xff0c;这样才能保证安全&#xff0c;CryptoJS提供了许多加密的方法&#xff0c; 请参考&#xff1a; cryptojs-JavaScrip…

OSPF的汇总实验

目录 1.拓扑图 2.实验要求 3.实验思路 4.主要配置 5.测试 6.实验总结 1.拓扑图 2.实验要求 R4为ISP&#xff0c;其上只能配置ip&#xff0c;R4与其他所有直连设备间使用公有ip&#xff1b;解决ospf不规则区域&#xff1b;整个ospf环境ip地址为172.16.0.0/16&#xff0c;…

pure pursuit纯跟踪

Pure Pursuit是一种几何追踪方法,速度越小,performance越好; :汽车前轮转角 L:前后轮轴距(车长) R:转弯半径 将车辆模型简化为自行车模型(这里默认左轮和右轮的旋转是一致的)!!! bicycle model: pure pursuit建立于自行车模型和阿克曼小车模型的基础上,goal point为距离后…

2022年用于Web开发的15种最佳编程语言

Web 开发是一个常青的领域&#xff0c;机会总是很多。自 90 年代初出现以来&#xff0c;开发行业在各种方式和领域中发展并蓬勃发展。今天&#xff0c;在 21 世纪&#xff0c;Web 开发仍然是最受欢迎的技能之一。要在这个领域开始职业生涯&#xff0c;掌握Web 开发语言是必不可…

UDS-10.4 SecurityAccess (27) service

10.4 安全访问(27)服务 来自&#xff1a;ISO 14229-1-2020.pdf 10.4.1 服务描述 本服务的目的是提供一种访问数据和/或诊断服务的方法&#xff0c;这些数据和/或诊断服务由于安全、排放或安全原因而被限制访问。用于将例程或数据下载/上传到服务器以及从服务器读取特定内存位置…

spring 基础知识-- IOC 和 DI 的配置和使用。

目录 一、基本概念 二、Spring 核心概念 1、问题分析 2、IOC、IOC容器、Bean、DI 3、IOC 入门案例 4、DI 入门案例 三、IOC 详解 1、bean 基础配置 2、bean 实例化 3、bean 生命周期 四、DI 详解 1、setter 注入 2、构造器注入 3、自动配置 4、集合注入 一、基…

go调度和性能分析利器之trace

trace的使用示例 import ("fmt""log""os""runtime/trace""sync" )func main() {//runtime.GOMAXPROCS(1)// 1. 创建trace持久化的文件句柄f, err : os.Create("trace.out")if err ! nil {log.Fatalf("failed…

再次学习make

目录 1.Makefile的重要性 2.MakeFile的概念 3.Makefile的优点 4.Makefile的基本语法 5.变量 5.1 自定义变量 5.2 变量的赋值 5.3自动变量 5.4 Makefile的隐含变量 6.Makefile的函数 6.1意义&#xff1a; 6.2 基本语法&#xff1a; 6.3 部分常用函数 6.4 自定义函…

ECS-弹性容器服务 - Part 1

67-ECS-弹性容器服务 - Part 1 Hello大家好&#xff0c;我们今天的课时内容是ECS-AWS的弹性容器服务。 ECS-AWS的弹性容器服务 ECS是高度可扩展的、快速的容器管理和编排服务。 使用ECS&#xff0c;能够将您的Docker容器运行在AWS EC2或者 Fargate管理的无服务器架构上。 将容…