ros机器人学习

源代码源代码都在树莓派操作系统

python源代码:

/home/rikirobot/catkin_ws/src/clbrobot_project/clbrobot/script

C语言源代码

/home/rikirobot/catkin_ws/src/clbrobot_project/clbrobot/src

/home/rikirobot/catkin_ws/src/clbrobot_project/clbrobot/launch

安装虚拟机软件VMware

下载虚拟机系统文件

用户名CLB,密码123456

查看-自动调整大小-自动适应客户机 自动适应窗口

安装vmware-tools

烧录树莓派镜像

下载镜像烧录工具 Etcher或win32img

下载镜像文件,区分3B和3B+

烧录到SD卡中

小车开机

将SD卡插到小车上,开机

电压应在12V以上,显示屏显示

在显示屏上设置wifi,电脑和树莓派连到同一个wifi

找到树莓派的ip地址,比如我的是192.168.200.14

在虚拟机中输入

sudo gedit /etc/hosts

这个文件显示了域名和网址之间的映射情况。在这个文件里出现的网址,访问的时候不需要使用DNS协议,而是直接读取域名。

把robot前面的ip地址设为树莓派的ip地址

在虚拟机中输入

ssh clbrobot@robot

或者在putty里输入

clbrobot
123456

登录之后,输入启动主节点

clbrobot@robot~$ roslaunch clbrobot bringup.launch
sudo gedit ~/.bashrc

最后一行,替换成树莓派的ip地址,使树莓派指向主节点

source ~/.bashrc

 让修改生效

rosrun rviz rviz

启动rviz调试窗口

操作机器人

ssh clbrobot@robot
sudo nano ~/.bashrc

确保最后部分是tank和rplidar-----rplidar指的是思岚公司生产的激光雷达

快速控制机器人

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

关机

 sudo halt

创乐博logo出现在显示屏上,此时就可以关机了

重新启动机器人

启动虚拟机

roslaunch clbrobot bringup.launch
roscd clbrobot/

进入工程目录

clbrobot@robot:~/catkin_ws/src/clbrobot_project/clbrobot$ cd param

clbrobot@robot:~/catkin_ws/src/clbrobot_project/clbrobot/param$ ls

校准IMU

在上一步基础上

cd imu

clbrobot@robot:~/catkin_ws/src/clbrobot_project/clbrobot/param$ cd imu

clbrobot@robot:~/catkin_ws/src/clbrobot_project/clbrobot/param/imu$ ls
imu_calib.yaml

clbrobot@robot:~/catkin_ws/src/clbrobot_project/clbrobot/param/imu$ sudo nano imu_calib.yaml 

clbrobot@robot:~/catkin_ws/src/clbrobot_project/clbrobot/param/imu$ rostopic echo /imu/data
打开实时陀螺仪

clbrobot@robot:~/catkin_ws/src/clbrobot_project/clbrobot/param/imu$ rosrun imu_calib do_calib
将不同面依次朝上,回车进行校准

角速度校正

clbrobot@robot $ rosrun rikirobot_nav calibrate_angular.py
CLB@CLB:~$ rosrun rqt_reconfigure rqt_reconfigure 

打开imu校准界面

点start_test进行360度转向测试,假如转了365度,就将365/360=1.014填入odom_angular_scale_coreection,重新测试

关掉所有命令行,包括主节点

clbrobot@robot:~$ roscd clbrobot/
clbrobot@robot:~/catkin_ws/src/clbrobot_project/clbrobot$ cd launch/
clbrobot@robot:~/catkin_ws/src/clbrobot_project/clbrobot/launch$ sudo nano bringup.launch

找到下面这行将测好的数值传入value,保存退出

 <param name="angular_scale" value="0.986" />

线速度校正

ssh到树莓派,启动主节点

clbrobot@robot~$ rosrun rikirobot_nav calibrate_linear.py
CLB@CLB:~$ rosrun rqt_reconfigure rqt_reconfigure 

选择calibrate linear

修改odom_linear_scale_correction

clbrobot@robot:~$ roscd clbrobot/
clbrobot@robot:~/catkin_ws/src/clbrobot_project/clbrobot$ cd launch/
clbrobot@robot:~/catkin_ws/src/clbrobot_project/clbrobot/launch$ sudo nano bringup.launch

打开xml配置文件

修改value值

 <param name="linear_scale" type="double" value="1.045" />

创建地图

ssh到树莓派,开启主节点

roslaunch clbrobot lidar_slam.launch

打开rviz调试窗口

 rosrun rviz rviz

open config

载入/home/riki/catkon_ws/src/rikirobot_project/rikirobot/rviz/slam.rviz

键盘控制机器人

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

speed调至0.3,turn调至0.5

保存地图

roscd clbrobot
cd maps
ls
./map.sh
ls -l 即可看到更新后的hous.pgm和house.yaml文件

自动导航

ssh到树莓派,启动底盘节点

roslaunch clbrobot navigate.launch

 rosrun rviz rviz

载入/home/riki/catkon_ws/src/rikirobot_project/rikirobot/rviz/navigate.rviz

鼠标构件地图

ssh到树莓派,启动底盘节点

启动slam节点:

roslaunch clbrobot lidar_slam.launch

rosrun rviz rviz

载入/home/riki/catkon_ws/src/rikirobot_project/rikirobot/rviz/slam.rviz

直接用2D Nav Goal选定目标

选择区域构建地图

ssh到树莓派,启动底盘节点

启动auto_slam节点:

 roslaunch clbrobot auto_slam.launch

rosrun rviz rviz

载入/home/riki/catkon_ws/src/rikirobot_project/rikirobot/rviz/slam.rviz

用工具栏中的Publish Point勾勒一个封闭区域

使用hector算法构建地图

ssh到树莓派、启动底盘节点

roslaunch clbrobot hector_slam.launch

rosrun rviz rviz

载入/home/riki/catkon_ws/src/rikirobot_project/rikirobot/rviz/slam.rviz

hector算法适用于空旷地带,在狭小空间会有重影

多点导航

ssh到树莓派,启动底盘节点

roslaunch clbrobot navigate_multi.launch

rosrun rviz rviz

载入/home/riki/catkon_ws/src/rikirobot_project/rikirobot/rviz/multi_goal.rviz

用publish point工具设定目标点

多点导航源代码:

/home/rikirobot/catkin_ws/src/clbrobot_project/clbrobot/script

动态PID参数调节

ssh到树莓派,启动底盘节点

 rosrun riki_pid pid_configure

rosrun rqt_reconfigure rqt_reconfigure

源代码:

/home/rikirobot/catkin_ws/src/clbrobot_project/riki_pid

cfg:默认载入参数

src:配置文件

修改之后要重新编译才能生效

摄像头寻线

ssh到树莓派,启动底盘节点

roslaunch clbrobot camera.launch

roslaunch riki_lidar_follower laser_follower.launch

源代码

/home/rikirobot/catkin_ws/src/clbrobot_project/riki_lidar_follower

karto算法构建地图

ssh到树莓派,启动底盘节点

 roslaunch clbrobot karto_slam.launch

rosrun rviz rviz

载入/home/riki/catkon_ws/src/rikirobot_project/rikirobot/rviz/slam.rviz

虚拟机端打开键盘控制

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

默认的线速度为0.5,角速度为1.0

因为karto算法较复杂,调整线速度0.3左右,角速度0.5即可

安卓手机app与图像监控

ssh到树莓派 ,开启底盘节点

roslaunch clbrobot appcamera.launch

手机上安装.apk文件,新建机器人,将localhost改为机器人的ip地址,默认端口11311

opencv图像处理

源代码:

/home/rikirobot/catkin_ws/src/opencv_apps

查看源码:

CLB@CLB roscd opencv_apps
cd src
cd nodelet
ls

ssh到树莓派

clbrobot@robot roslaunch clbrobot camera.launch



CLB@CLB roslaunch opencv_apps edge_detection.launch #边缘提取

CLB@CLB roslaunch opencv_apps hough_lines.launch #直线检测
CLB@CLB roslaunch opencv_apps find_contours.launch #检测轮廓
CLB@CLB roslaunch opencv_apps convex_hull.launch #凸包检测
CLB@CLB roslaunch opencv_apps general_contours.launch #椭圆形轮廓检测
CLB@CLB roslaunch opencv_apps people_detect.launch #行人检测
CLB@CLB roslaunch opencv_apps goodfeature_track.launch #尖角点检测
CLB@CLB roslaunch opencv_apps camshift.launch #目标跟踪
CLB@CLB roslaunch opencv_apps fback_flow.launch #物体移动检测
CLB@CLB roslaunch opencv_apps lk_flow.launch #物体移动检测2
CLB@CLB roslaunch opencv_apps simple_flow.launch #物体移动检测3
CLB@CLB roslaunch opencv_apps phase_corr.launch #相位偏移
CLB@CLB roslaunch opencv_apps segment_objects.launch #物体分割
CLB@CLB roslaunch opencv_apps rgb_color_filter.launch #转黑白
CLB@CLB roslaunch opencv_apps hls_color_filter.launch #转黑白
CLB@CLB roslaunch opencv_apps hsv_color_filter.launch #转黑白

安卓手机app构建地图

手机上下载Make Map.apk

ssh到树莓派,开启底盘节点

clbrobot@robot roslaunch clbrobot lidar_slam.launch

clbrobot@robot roslaunch clbrobot camera.launch

打开手机app,设置localhost为机器人ip地址,点connect

安卓手机app导航

手机上下载Map Nav

ssh到树莓派,开启主节点

clbrobot@robot roslaunch clbrobot navigate.launch

clbrobot@robot roslaunch clbrobot camera.launch

CLB@CLB rosrun rviz rviz

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值