Jeson nano + 思岚激光雷达rplidar_s1 + ubuntu18.04
首先在思嵐官網下載rplidar_s1的ROS功能包(官網的下載和支持里),新建工作空間catkin_ws/src
接下來安裝配置思嵐RPLIDAR S1,首先在github上下載它的ROS包。
在工作空間的src下面下載官網ROS包。
?
檢查rplidar的串行端口的權限:
ls -l / dev | grep ttyUSB- 1
添加寫權限:(例如/ dev / ttyUSB0)
chmod 666 / dev / ttyUSB0?
啟動一個rplidar節點并在rviz中查看掃描結果(點云顯示)
#記得啟動之前啟動roscore source devel/setup.bash roslaunch rplidar_ros view_rplidar_s1.launch?
在前面的章節我們在ROS上測試了思嵐RPLIDAR S1的功能以及雷達點云圖:
ROS學習08-NVIDIA JETSON TX2安裝配置激光雷達-思嵐RPLIDAR S1(在Rviz上顯示點位圖)
但是我們如果要把渲染出來的地圖保存出來的話就需要借助gmapping等其他工具了,由于gmapping構建的話相對來說有點復雜,我們這節使用一個簡單點的hector_mapping來構建地圖。
hector_mapping包安裝
sudo apt-get install ros-melodic-hector-slam
創建launch文件
在rplidar_ros/launch/目錄下添加hector_mapping_demo.launch文件
<launch>
? <node pkg="hector_mapping" type="hector_mapping" name="hector_mapping" output="screen">
??? <!-- Frame names -->
??? <param name="pub_map_odom_transform" value="true"/>
??? <param name="map_frame" value="map" />
??? <param name="base_frame" value="base_link" />
??? <param name="odom_frame" value="base_link" />
??? <!-- Tf use -->
??? <param name="use_tf_scan_transformation" value="true"/>
??? <param name="use_tf_pose_start_estimate" value="false"/>
??? <!-- Map size / start point -->
??? <param name="map_resolution" value="0.05"/>
??? <param name="map_size" value="2048"/>
??? <param name="map_start_x" value="0.5"/>
??? <param name="map_start_y" value="0.5" />
??? <param name="laser_z_min_value" value = "-1.0" />
??? <param name="laser_z_max_value" value = "1.0" />
??? <param name="map_multi_res_levels" value="2" />
??? <param name="map_pub_period" value="2" />
??? <param name="laser_min_dist" value="0.4" />
??? <param name="laser_max_dist" value="5.5" />
??? <param name="output_timing" value="false" />
??? <param name="pub_map_scanmatch_transform" value="true" />
??? <!--<param name="tf_map_scanmatch_transform_frame_name" value="scanmatcher_frame" />-->
<!-- Map update parameters -->
??? <param name="update_factor_free" value="0.4"/>
??? <param name="update_factor_occupied" value="0.7" />
??? <param name="map_update_distance_thresh" value="0.2"/>
??? <param name="map_update_angle_thresh" value="0.06" />
??? <!-- Advertising config -->
??? <param name="advertise_map_service" value="true"/>
??? <param name="scan_subscriber_queue_size" value="5"/>
??? <param name="scan_topic" value="scan"/>
? </node>
? <node pkg="rplidar_ros" type="rplidarNode" name="rplidarNode" output="screen">
??? <param name="serial_port"???????? type="string" value="/dev/ttyUSB0"/>
??? <param name="serial_baudrate"???? type="int"??? value="265000"/>
??? <param name="frame_id"??????????? type="string" value="laser"/>
??? <param name="inverted"??????????? type="bool"?? value="false"/>
??? <param name="angle_compensate"??? type="bool"?? value="true"/>
? </node>
? <node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster" args="0 0 0 0 0 0 /base_link /laser 100"/>
? <node pkg="rviz" type="rviz" name="rviz" args="-d $(find hector_slam_launch)/rviz_cfg/mapping_demo.rviz"/>
</launch>
(注意:如果使用的激光雷達,不是rplidar_s1,而是rplidar_s2 ,要修改波特率,上文紅色字體,修改為1000000)
catkin_make編譯完成后記得source
source devel/setup.bash
???
啟動launch文件
roslaunch rplidar_ros hector_mapping_demo.launch
???
如果沒反應的話試試再開一個終端運行一下rplidar_s1.launch文件
roslaunch rplidar_ros rplidar_s1.launch
?
如果要保存地圖的話
我們需要使用map_server軟件包里的map_saver來保存當前的地圖,首先需要保證已經安裝了map_server軟件包,安裝命令如下:
sudo apt-get install ros-melodic-map-server
???
當安裝好map_server后,接下來就可以使用如下命令來保存地圖了,在stdr_gmapping的maps目錄下執行命令如下:
rosrun map_server map_saver map:=/hector_map -f mymap
所遇問題及解決方法:
一.運行此命令:roslaunch rplidar_ros hector_mapping_demo.launch
報錯如下:
Resource not found: hector_slam_launch
ROS path [0]=/opt/ros/melodic/share/ros
ROS path [1]=/home/ytzn/catkin_ws/src
ROS path [2]=/opt/ros/melodic/share
The traceback for the exception was written to the log file
原? ? ? ? ?因:沒有安裝hector_mapping 算法
解決方法:
hector_mapping包安裝
sudo apt-get install ros-melodic-hector-slam
二.
?報錯如下:
ERROR: cannot launch node of type [rplidar_ros/rplidarNode]: Cannot locate node of type [rplidarNode] in package [rplidar_ros]. Make sure file exists in package path and permission is set to executable (chmod +x)
原????????因:沒有編譯
方????????法:回到工作空間目錄下 catkin_make
SLAM+語音機器人DIY系列:(二)ROS入門——9.熟練使用rviz - 小虎哥哥愛學習 - 博客園
總結
以上是生活随笔為你收集整理的Jeson nano + 思岚激光雷达rplidar_s1 + ubuntu18.04的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WIN10 vnc 与Jeson ubu
- 下一篇: 解决安装ROS 时rosdep upda