└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # ARS548-demo 2 | 3 | # ReadMe 4 | 5 | ## 一 运行环境说明 6 | 本例程测试环境:硬件为英伟达Xavier,操作系统为Ubuntu18.04,ROS版本为melodic。 7 | 雷达与Xavier的eth0网口连接,Xavier设置IP地址为10.13.1.166。雷达与Xavier之间还串接了以太网转换模块和交换机, 8 | 其中交换机需要进行VLAN19设置,有关交换机的设置,请参考文档《采用交换机设置VLAN的方法.pdf》 9 | 10 | ## 二 编译和运行 11 | 12 | ### 1 编译 13 | 14 | (1)终端切换到ars548_demo路径 15 | 16 | (2)首次运行需要编译,再次运行不需要。删除旧的编译环境 rm build/ devel/ -fr 17 | 18 | (3)编译 catkin_make(代码修改后只需要编译,不需要删除build 和 devel) 19 | 20 | ### 2 运行 21 | 22 | (1)保存环境变量source devel/setup.bash 23 | 24 | (2)如果需要每次都可以正常运行ROS节点,需要把环境变量保存到~/.bashrc文件中。 25 | 如:在~/.bashrc中添加source ~/Documents/ars548_demo/devel/setup.bash 26 | 27 | (3)运行 28 | 29 | 可以通过一个命令启动所有节点, 命令:roslaunch ars548_process ars548_process.launch 30 | 31 | 本ROS驱动中,所有节点都在ars548_process包中,这个包中包含雷达数据解析节点ars548_process_node、 32 | 雷达数据转换节点info_convert_node、雷达输入信号测试节点test_radar_input_node、以及rviz的配置文件ars548_display.rviz 33 | 34 | 也可以使用rosrun独立运行每个节点。 35 | 36 | ## 三 代码结构说明 37 | 38 | 代码包含公用消息包ars548_msg和雷达信号处理包ars548_process 39 | 40 | ### 1 公用消息包ars548_msg 41 | 42 | 存储公用消息,存储在ars548_msg中,可以查看包中的msg文件夹下的.msg文件来确认每个消息的定义。 43 | 44 | ### 2 雷达信号处理包ars548_process 45 | 46 | 在这个包中,包含两个节点ars548_process_node、info_convert_node和test_radar_input_node。 47 | 48 | #### 2.1 ars548_process_node节点 49 | ars548_process_node节点用来解析雷达信号,通过网口接收雷达发送来的UDP数据。经过解析后把信息发布出来;同时 50 | ars548_process_node节点接收车辆状态信息的话题,并将车辆状态通过UDP发送给雷达。 51 | 52 | ars548_process_node发布的话题有: 53 | /ars548_process/object_list 54 | /ars548_process/detection_list 55 | /ars548_process/radar_status 56 | 57 | 每个话题的内容如下: 58 | /ars548_process/object_list 59 | 雷达探测的object列表 60 | /ars548_process/detection_list 61 | 雷达探测的detection列表 62 | /ars548_process/radar_status 63 | 雷达的状态信息 64 | 65 | ars548_process_node接收的话题有: 66 | /ars548_process/acc_lateral_cog 67 | /ars548_process/acc_longitudinal_cog 68 | /ars548_process/characteristic_speed 69 | /ars548_process/driving_direction 70 | /ars548_process/steering_angle 71 | /ars548_process/velocity_vehicle 72 | /ars548_process/yaw_rate 73 | 74 | 每个话题的内容如下: 75 | /ars548_process/acc_lateral_cog 76 | 车辆的侧向加速度状态信息 77 | /ars548_process/acc_longitudinal_cog 78 | 车辆的纵向加速度状态信息 79 | /ars548_process/characteristic_speed 80 | 车辆的特性车速信息 81 | /ars548_process/driving_direction 82 | 车辆的行驶方向信息 83 | /ars548_process/steering_angle 84 | 车辆的前轴转向角信息 85 | /ars548_process/velocity_vehicle 86 | 车辆的车速信息 87 | /ars548_process/yaw_rate 88 | 车辆的横摆角速度信息 89 | 90 | #### 2.2 info_convert_node节点 91 | info_convert_node节点用来将object和detection列表的数据转换为rviz可以显示的数据格式。 92 | 这个节点接收ars548_process_node节点发布/ars548_process/object_list话题/ars548_process/detection_list话题 93 | 经过格式转换之后,发布成rviz可以展示的格式。发布的话题包括: 94 | /ars548_process/object_marker 95 | 用来显示object的话题 96 | /ars548_process/detection_point_cloud 97 | 用来显示detection的话题 98 | 99 | ars548_display.rviz是rviz的配置文件。 100 | 101 | #### 2.3 test_radar_input_node节点 102 | test_radar_input_node节点用来测试雷达的输入信号, 103 | 为了使雷达的工作状态达到最佳,需要给雷达输入车辆的状态信息,在实车上,需要安装相应的传感器来测量车辆状态。 104 | 在这个demo中,我们把所有状态信息都设置成默认状态,并发布出去。 105 | test_radar_input_node节点发布的话题被ars548_process_node节点接收,并发送给雷达。 106 | test_radar_input_node节点发布的话题如下: 107 | /ars548_process/acc_lateral_cog 108 | /ars548_process/acc_longitudinal_cog 109 | /ars548_process/characteristic_speed 110 | /ars548_process/driving_direction 111 | /ars548_process/steering_angle 112 | /ars548_process/velocity_vehicle 113 | /ars548_process/yaw_rate 114 | 115 | 116 | --------------------------------------------------------------------------------