参考文献

自建AP热点和ssh登录

  • 视频使用的是putty软件,个人推荐使用xshell
#无线配置文件
$ vim /etc/create_ap.conf

无线连接wifi

  • 目的是让小车启动后直接连接覆盖的WiFi,然后通过路由器实现本机和机器人的桥接
  • 需要首先用网线连接小车、然后在路由器中查看小车的地址,电脑连接路由器,然后用路由器中给小车分配的网址用Xshell登录小车,然后将AP模式改为连接WiFi登。。
#这个是别人写好的shell命令
#开启wifi
$ sudo ./netconfig/wifi.sh
#切换到AP模式
$ sudo ./netconfig/open_ap.sh

时间校准

  • 在没有网络的情况下机器人会与主机的时间不同步

    在主机安装

    #安装ntp服务器
    sudo apt install ntp
  • 在机器人端执行

    sudo ntpdate 主机IP

ubuntu下ssh免密登录

  • 先在主机端ssh登录,然后获取主机的ssh

    ssh-keygen
    ssh-copy-id -i .ssh/id_rsa.pub bingda@192.168.31.86
  • exit,再次ssh连接就不需要输入密码了

ros机器人的启动项

  • 确保在机器人端运行
.bashrc

视觉启动项

roslaunch robot_vision robot_camera.launch
#可以在主机端使用rqt工具登录查看相应图像

###启动激光雷达

roslaunch robot_navigation laser.launch 
roslaunch robot_navigation laser_rviz.launch

启动SLAM建图

#默认是Gmaping
roslaunch robot_navigation robot_slam_laser.launch
#测试终端启动rviz查看
roslaunch robot_navigation slam_rviz.launch
#测试终端保存地图,注意保存的目录
~/catkin_ws/src/robot_navigation/maps$ rosrun map_server map_saver -f map
#slam算法切换
roslaunch robot_navigation robot_slam_laser.launch slam_methods:=cartographer
#机器人端启动键盘节点
rosrun teleop_twist_keyboard teleop_twist_keyboard.py

SLAM导航和避障

  • 有地图
roslaunch robot_navigation robot_navigation.launch
#默认使用的地图名为map,必须保存在机器人上
roslaunch robot_navigation navigation_rviz.launch
  • 无地图
roslaunch robot_navigation robot_slam_laser.launch planner:=teb slam_methods:=cartographer
roslaunch robot_navigation slam_rviz.launch

SLAM多点自动导航

#启动导航
roslaunch robot_navigation robot_navigation.launch

#启动
roslaunch robot_navigation navigation_rviz.launch

rostopic echo /move_base_simple/goal

#执行后使用2dnav Goal 获取点的坐标
#打开caking_ws/src/robot_navigation/launch/way_point.launch进行修改