群里讨论ros的同学还真不少了,再摆弄一下去年置办的riki小车底盘。
借个图片(侵权请告知,我再自己拍)
麻雀虽小五脏俱全,个人觉得这款车作为入门还是挺不错的。还有视频教程。
从图片看,官方的功能包比去年又有升级了。。。
主从机配置好ros环境。
车载主机为树莓派,也就是说rosmaster运行在树莓派端。机器名为robot。
笔记本或台式机本地为从机(控制端)。
在主机创建工作空间并编译源码,可以使用官方的镜像。
准备一个路由器,确保主从机都能链接好wifi。
在本地终端执行
ping robot.local
保证能通,说明网络没问题
修改本地的 .bashrc 添加
export ROS_IP=`hostname -I`export ROS_HOSTNAME=`hostname -I`export ROS_MASTER_URI=http://robot.local:11311
主要是配置好主机的路径http://robot.local:11311
开新终端登录主机
ssh rikirobot@robot.local #密码123456
运行
roslaunch rikirobot_4wd bringup.launch
launch的包名和文件要根据自己的版本来选择
终端显示编码器的信息,说明启动成功,说明树莓派和其下位机主板通迅成功。
然后根据官方提供的教程来调校小车
本地终端运行
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
按相应的按键发送命令就可以控制小车了运动了
当然本地ros环境得有teleop_twist_keyboard这个包没有安装之
sudo apt-get install ros-kinetic-teleop-twist-keyboard
缺什么补什么。
建图时开两个终端,登录主机
分别依次运行
roslaunch rikirobot_4wd bringup.launchroslaunch rikirobot_4wd lidar_slam.launch
本地运行
rosrun rviz rviz
来查看图形界面。
导航要启动
roslaunch rikirobot_4wd navigate.launch
然后开rviz在rviz里就可以发送目标导航了。
问题:有时雷达会起不来。卡到这里
process[rplidarNode-1]: started with pid [6012]process[base_link_to_laser-2]: started with pid [6013]process[slam_gmapping-3]: started with pid [6020]process[move_base-4]: started with pid [6026]RPLIDAR running on ROS package rplidar_rosSDK Version: 1.5.7[ INFO] [1538995863.489859163]: Using plugin "static_layer"[ INFO] [1538995863.858059493]: Requesting the map...RPLIDAR S/N: AED1FBF2C8E4DCCFC6E49FF15003130DFirmware Ver: 1.20Hardware Rev: 0RPLidar health status : 0
卡住了,接收不到雷达/scan 的话题。不知是否是供电问题。