我是靠谱客的博主 柔弱绿草,最近开发中收集的这篇文章主要介绍飞行机器人专栏(九)-- 多传感器固定端口分配,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

查看源图像

目录

​编辑

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>

 

最后

以上就是柔弱绿草为你收集整理的飞行机器人专栏(九)-- 多传感器固定端口分配的全部内容,希望文章能够帮你解决飞行机器人专栏(九)-- 多传感器固定端口分配所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部