首先说明,以下使用的rikirobot这个名字要换成你使用的代码包名,因为我用的是rikirobot的源码,所以调用的是rikirobot的代码包,不过目前市面上大部分的机器人小车都是千篇一律,所以换个名字大概率都适用。里面的(TAB)的意思是名字太长我懒得打了,直接敲TAB键补全吧
参考我的第二篇文章:网络环境的配置
1.这里我设置过开机是自启动bringup.launch的,开机自动打开一个终端并运行程序的教程地址如下:
使用其中的方案二,我写的脚本在主目录下的Linux开头的文件夹。
检查一下是否有打开先
rostopic list
如果显示了一定数量的话题,说明已经启动成功,可以使用以下功能了。
如果没有的话,运行如下代码
roslaunch rikirobot bringup.launch
打开失败的话要检查线路或者电源问题
以下代码是在工控机内完成的(需要ssh)
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
之后就可以根据指示手动操控机器人的移动了,需要改按键的话也可以直接修改这个源码
(改完记得重新catkin_make编译一遍)
1.调整IMU
#以下代码是在工控机内完成的(需要ssh)
roscd rikirobot/param/imu
sudo vim imu_calib.yaml #查看数据
rostopic echo /imu/data #刷新数据
rosrun imu_calib do_calib #开始自动调整,名字错的话可能我打少了字母,记得使用TAB补全
2.调整线速度角速度
#以下代码是在工控机内完成的(需要ssh)
rosrun rikirobot_nav calibrate_angular.py #打开角速度调整模式
rosrun rikirobot_nav calibrate_linear.py #打开线速度调整模式(二选一,分开来调整)
#以下代码是在上位机内完成的(不需要ssh)
rqt_reconfigure
#以下代码是在工控机内完成的(需要ssh)
roscd rikirobot/launch
sudo vim bringup.launch #在bringup文件夹里修改其初始的线速度角速度,修改完记得':wq!'保存退出
#以下代码是在工控机内完成的(需要ssh)
roslaunch rikirobot lidar_slam.launch
#以下代码是在上位机内完成的(不需要ssh)
rviz #1.在RVIZ左上的file-Openconfig-找到slam.rviz
#2.使用2D Nav Goal功能(设定目标位置,发送地址来加载地图),也可以使用功能1来手动控制建图
#以下代码是在工控机内完成的(需要ssh)
#保存地图
rosrun map_server map_saver -f house #house可以是任意名字,不过默认后续默认调用的地图就是house
roscd rikirobot/maps
ls -l #查询是否保存
#以下代码是在工控机内完成的(需要ssh)
roslaunch rikirobot auto_slam.launch
#以下代码是在上位机内完成的(不需要ssh)
rviz #1.在RVIZ左上的file-Openconfig-找到auto_slam.rviz
#2.使用Publish Point功能(依次选择几个点连成封闭区域,再按点开始构建)
#以下代码是在工控机内完成的(需要ssh)
#保存地图
rosrun map_server map_saver -f house #house可以是任意名字,不过默认后续默认调用的地图就是house
roscd rikirobot/maps
ls -l #查询是否保存
#注意:线速度要0.2以下、角速度0.2以下,不要来回走动,该算法适合在空旷地方下使用
#以下代码是在工控机内完成的(需要ssh)
roslaunch rikirobot hector_slam.launch
#以下代码是在上位机内完成的(不需要ssh)
rviz #1.在RVIZ左上的file-Openconfig-找到slam.rviz
#2.使用2D Nav Goal功能(设定目标位置,发送地址来加载地图),也可以使用功能1(需要ssh)来手动控制建图
#以下代码是在工控机内完成的(需要ssh)
#保存地图
rosrun map_server map_saver -f house #house可以是任意名字,不过默认后续默认调用的地图就是house
roscd rikirobot/maps
ls -l #查询是否保存
#以下代码是在工控机内完成的(需要ssh)
roslaunch rikirobot karto_slam.launch
#以下代码是在上位机内完成的(不需要ssh)
rviz #1.在RVIZ左上的file-Openconfig-找到slam.rviz
#2.使用2D Nav Goal功能(设定目标位置,发送地址来加载地图),也可以使用功能1(需要ssh)来手动控制建图
#以下代码是在工控机内完成的(需要ssh)
#保存地图
rosrun map_server map_saver -f house #house可以是任意名字,不过默认后续默认调用的地图就是house
roscd rikirobot/maps
ls -l #查询是否保存
#以下代码是在工控机内完成的(需要ssh)
roslaunch rikirobot navigate.launch
#以下代码是在上位机内完成的(不需要ssh)
rviz #1.在RVIZ左上的file-Openconfig-找到navigate.rviz
#2.使用2D Pose Est功能(初始机器人在地图上的位置,雷达与墙面越贴合越好)
#3.使用2D Nav Goal功能(设定目标位置,发送地址来直接导航)
#以下代码是在工控机内完成的(需要ssh)
roslaunch rikirobot navigate_multi.launch
#以下代码是在上位机内完成的(不需要ssh)
rviz #1.在RVIZ左上的file-Openconfig-找到multi_goals.rviz
#2.使用Publish Point功能(依次选择几个点,机器人会按照顺序朝着这些点移动)
#有时候可能打不开show_mark.py文件而报错,需要单独运行或者再chmod 777 -R catkin_ws
#以下代码是在工控机内完成的(需要ssh)
rosrun riki_pid pid_configure
#以下代码是在上位机内完成的(不需要ssh)
rosrun rqt_reconfigure rqt_reconfigure #调整参数
rikirobot_project/riki_pid/cfg/rikiPID.cfg #修改PID的默认启动值
#从网上搜PID调试方法,慢慢调出合适值
#以下代码是在工控机内完成的(需要ssh)
roslaunch camera.launch
#打开之后可以RVIZ读节点或者使用rqt_image_view读/image/raw节点来获取图像(启动rqt工具栏时不用ssh)
roslaunch riki_line_follower riki_line.launch #摄像头越低越好
#以下代码是在工控机内完成的(需要ssh)
roslaunch riki_lidar_follower laser_follower.launch
#原理是雷达检测最近的目标,并固定与其的距离(误差很大)
#以下代码是在工控机内完成的(需要ssh)
roslaunch rikirobot appcamera.launch
#打开APP之后连接完就直接使用了
#用app导航的话启动跟功能3、4一样的包就行了
#以下代码是在上位机内完成的[添加链接描述](https://www.bilibili.com/video/av50377985/?p=6)(不需要ssh)
roslaunch opencv_apps edge_(TAB) #边缘提取
roslaunch opencv_apps hough_lines.launch #直线识别
roslaunch opencv_apps find_cont(TAB) #结构特征轮廓识别
roslaunch opencv_apps convex(TAB) #凸起识别
roslaunch opencv_apps general(TAB) #椭圆识别
roslaunch opencv_apps people_det(TAB) #身高特征识别等等。。。。具体可以直接百度出想要的功能
#用的版本是2.7,可以用来参考别人图像识别是怎么做的
1.Linux开机执行指令: 自启动
2.Linux改用户名: 改用户名
3.串口数据的读取: 读串口数据
4.开机不需要密码: 自动登录
5.SSH免密码登录: 免密码视频教程
6. ROBOWARE STUDIO的安装 安装IDE
7. 以ROOT用户自动运行程序 开机执行指令(ROOT版)
8. 用ROOT权限打开文件管理器:sudo nautilus
1.rosbag数据记录及转换图片、视频:ROSBAG用法
2.查找ROS的节点连接情况:rqt_graph
3.读取图像信息:rqt_image_view
并找到image_raw节点(读其他图像信息就换相应的节点)