菜单

驱动层程序

下载

驱动层程序

驱动层程序包括无人机驱动及无人车驱动,程序放置于Sunray_swarm/sunray_drivers文件夹中。

无人机驱动节点rmtt_driver

  • 无人机驱动程序放置在Sunray_swarm/sunray_drivers/rmtt文件夹中,无人机驱动节点启动文件截取如下:

    XML 复制代码
    <arg name="local_ip" default="192.168.25.59" />
    <!-- 第1台无人机 -->
    <group ns="/sunray_swarm/rmtt_1">
      <node pkg="rmtt_driver" name="rmtt_driver" type="rmtt_node.py" output="screen">
        <param name="drone_sn" type="string" value="0TQZM47CNT046P" />
        <param name="drone_ip" type="string" value="192.168.25.95" />
        <param name="drone_port" type="string" value="8889" />
        <param name="local_ip" type="string" value="$(arg local_ip)" />
        <param name="local_port" type="string" value="8890" />
        <param name="video_port" type="string" value="11111" />
        <param name="enable_camera" type="bool" value="true" />
      </node>
    </group>
  • 启动参数

    • 需要指定无人机SN号drone_sn,该SN号可以在无人机电池槽中查看获得
    • 需要指定无人机IP地址drone_ip,即无人机连接至指定局域网中的IP
    • local_ip为运行sunray_swarm程序的电脑IP地址
    • drone_port是驱动程序发送控制指令至无人机的端口号
    • local_port是驱动程序从无人机端接收状态的端口号
    • video_port是无人机发送视频流至驱动程序的端口号
    • enable_camera代表是否启动摄像头
  • rmtt_driver发布的话题

    • ~battery std_msgs/Float32):无人机电池电量
    • ~image_rawsensor_msgs/Image):图像话题
    • ~image_raw/compressedsensor_msgs/CompressedImage)压缩的图像话题
    • ~camera_info sensor_msgs/CameraInfo) 相机信息
  • rmtt_driver订阅的话题

    • ~cmd_velgeometry_msgs/Twist)机体系速度控制指令,起飞后才会生效
    • ~takeoffstd_msgs/Empty)起飞指令
    • ~landstd_msgs/Empty)降落指令
    • ~ledstd_msgs/ColorRGBA) LED灯颜色
    • ~mled std_msgs/String)点阵屏的字符
  • rmtt_driver提供的服务

    • ~set_downvision std_srvs/SetBool)切换相机

无人车驱动节点wheeltec_robot_node

  • 无人车驱动程序放置在Sunray_swarm/sunray_drivers/wheeltec文件夹中
  • 无人车驱动程序wheeltec_robot_node运行在无人车车载电脑中,无人车底层控制器与车载电脑通过USB线连接,通信方式为串口通信,目前wheeltec_robot_nodeugv_control_node通信的方式为ROS多机,后期可以改为TCP通信
  • 无人车驱动启动文件截取如下:
    XML 复制代码
    <group>
        <!-- 开启底层单片机控制节点 -->
        <node pkg="turn_on_wheeltec_robot" type="wheeltec_robot_node" name="wheeltec_robot_node" output="screen">
            <remap from="/cmd_vel"        to="/sunray_swarm/wheeltec_$(arg ugv_id)/cmd_vel"/>
            <remap from="/PowerVoltage"        to="/sunray_swarm/wheeltec_$(arg ugv_id)/battery"/>
            <param name="usart_port_name" type="string" value="/dev/ttyACM0"/>  
            <param name="serial_baud_rate" type="int" value="115200"/>
        </node>
    </group>
  • wheeltec_robot_node参数
    • usart_port_name: 无人车与车载电脑的端口号
    • serial_baud_rate: 串口通信波特率
  • wheeltec_robot_node发布的话题
    • ~battery std_msgs/Float32):无人车电池电量
  • wheeltec_robot_node订阅的话题
    • ~cmd_velgeometry_msgs/Twist)无人车车体系速度控制指令,注:收不到指令无人机就不会移动
上一个
Sunray_swarm代码架构
下一个
控制层程序
最近修改: 2025-03-11