创乐博机器人学习

文章目录

说明

快捷键

另起一个终端

Ctrl+Shift+T

跳到工程目录

roscd clbrobot/

代码位置

底盘代码

/home/riki/catkin_ws/src/rikirobot_project/rikirobot/src

初步使用

配置连接的IP地址

打开个人环境变量文件修改连接ROS的IP地址

$ gedit ~/.bashrc

找到下面一行文字,并修改IP地址

export ROS_MASTER_URI=http://192.168.43.155:11311

打开底盘运行程序

登录

密码:123456

$ ssh -l clbrobot 192.168.43.155

运行

$ roslaunch clbrobot bringup.launch

打开键盘控制程序

$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

打开调试窗口

打开软件

$ rosrun rviz rviz

打开坐标配置

在下面的目录打开odometry.rviz即可实时监视机器人所在的位置

CLB@CLB:~/catkin_ws/src/rikirobot_project/rikirobot/rviz$ ls
auto_slam.rviz  laser.rviz  multi_goal.rviz  navigate.rviz  odometry.rviz  slam.rviz
CLB@CLB:~/catkin_ws/src/rikirobot_project/rikirobot/rviz$ pwd
/home/riki/catkin_ws/src/rikirobot_project/rikirobot/rviz

数据校正

IMU自动校正

进入目录

CLB@CLB:~/catkin_ws/src/rikirobot_project/rikirobot/param/imu$ pwd
/home/riki/catkin_ws/src/rikirobot_project/rikirobot/param/imu
CLB@CLB:~/catkin_ws/src/rikirobot_project/rikirobot/param/imu$ ls
imu_calib.yaml

配置文件

$ gedit imu_calib.yaml

查看精度

$ rostopic echo /imu/data

自动校准

$ rosrun imu_calib do_calib

角速度校正

比例因子的计算

角度的比例因此用在底盘数据的存储

如多转了5度,即(5+360)/360=1.013

登录

$ ssh -l clbrobot 192.168.43.155

运行python文件

$ rosrun rikirobot_nav calibrate_angular.py

在虚拟机运行配置程序

不需要登录ros

$ rosrun rqt_reconfigure rqt_reconfigure

可勾选start_test进行360旋转测试,测试机器人实际转了多少度,并记录下来

修改配置文件

登录并打开底盘的配置文件

clbrobot@clbrobot:~$ roscd clbrobot/
clbrobot@clbrobot:~/catkin_ws/src/clbrobot_project/clbrobot$ cd launch/
clbrobot@clbrobot:~/catkin_ws/src/clbrobot_project/clbrobot/launch$ gedit bringup.launch

找到angular_scale的配置项并修改为测量到的数据

<node pkg="imu_filter_madgwick" type="imu_filter_node" name="imu_filter_madgwick" output="screen" respawn="false" >
        <param name="fixed_frame" value="base_footprint" />
        <param name="use_mag" value="fasle" />
        <param name="publish_tf" value="false" />
        <param name="use_magnetic_field_msg" value="fasle" />
        <param name="world_frame" value="enu" />
        <param name="orientation_stddev" value="0.05" />
        <param name="angular_scale" value="1.014" />
</node>

线速度校正

登录

$ ssh -l clbrobot 192.168.43.155

运行python文件

$ rosrun rikirobot_nav calibrate_linear.py

在虚拟机运行配置程序

不需要登录ros

$ rosrun rqt_reconfigure rqt_reconfigure

可勾选start_test进行1米的前进测试,测试机器人实际走了多长距离,并记录下来

修改配置文件

登录并打开底盘的配置文件

clbrobot@clbrobot:~$ roscd clbrobot/
clbrobot@clbrobot:~/catkin_ws/src/clbrobot_project/clbrobot$ cd launch/
clbrobot@clbrobot:~/catkin_ws/src/clbrobot_project/clbrobot/launch$ gedit bringup.launch

找到linear_scale的配置项并修改为测量到的数据

<node pkg="clbrobot" name="riki_base_node" type="riki_base_node">
        <param name="linear_scale" type="double" value="0.88" />
</node>

动态调试PID参数

$ rosrun riki_pid pid_configure

$ rosrun rqt_reconfigure rqt_reconfigure

$ rosrun teleop_twist_keyboard

SLAM地图的创建与使用

地图的创建地图

登录并开启底盘程序

$ roslaunch clbrobot bringup.launch

登录并开启雷达

$ roslaunch clbrobot lidar_slam.launch

不需登录打开调试窗口

$ rosrun rviz rviz

加载文件

在软件上加载slam.rviz文件

CLB@CLB:~/catkin_ws/src/rikirobot_project/rikirobot/rviz$ pwd
/home/riki/catkin_ws/src/rikirobot_project/rikirobot/rviz
CLB@CLB:~/catkin_ws/src/rikirobot_project/rikirobot/rviz$ ls
auto_slam.rviz  multi_goal.rviz  odometry.rviz
laser.rviz      navigate.rviz    slam.rviz

备注:

鼠标中键可拖动地图

鼠标滚轮可放大缩小

鼠标右键可放大缩小

鼠标左键可旋转

不需登录启动键盘控制

$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

注意:可以直接在rviz中选中2D Pose Estinate让机器人到达指定位置构建地图,来代替键盘操作。

选择区域自动构建地图

打开自动构建地图

需要登录启动

$ roslaunch clbrobot auto_slam.launch
打开调试工具
$ rosrun rviz rviz

在软件上加载auto_slam.rviz文件

CLB@CLB:~/catkin_ws/src/rikirobot_project/rikirobot/rviz$ pwd
/home/riki/catkin_ws/src/rikirobot_project/rikirobot/rviz
CLB@CLB:~/catkin_ws/src/rikirobot_project/rikirobot/rviz$ ls
auto_slam.rviz  multi_goal.rviz  odometry.rviz
laser.rviz      navigate.rviz    slam.rviz

打开调试工具后,鼠标左键选中Publish Point,然后在地图中设置一个点,再选中Publish Point,设置下一个点,直到形成一个封闭的区域,再按一个点,机器人就会自动到位置自动构建地图

Hector算法构建地图

登录并开启底盘程序
$ roslaunch clbrobot bringup.launch
打开hector slam节点

需要登录

$roslaunch clbrobot hector_slam.launch
打开调试工具

不需要登录

$ rosrun rviz rviz

在软件上加载slam.rviz文件

打开键盘
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

移动机器人完成构图

注意:

把线速度和角速度都调到0.2左右,速度太快有可能造成建图失败

Karto算法构建地图

登录并开启底盘程序
$ roslaunch clbrobot bringup.launch
打开karto slam节点

需要登录

$roslaunch clbrobot karto_slam.launch

打开调试工具

不需要登录

$ rosrun rviz rviz

在软件上加载slam.rviz文件

打开键盘
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

移动机器人完成构图

保存地图

需要登录后在ROS中保存地图

进入目录中

clbrobot@clbrobot:~$ roscd clbrobot/
clbrobot@clbrobot:~/catkin_ws/src/clbrobot_project/clbrobot$ cd maps/
clbrobot@clbrobot:~/catkin_ws/src/clbrobot_project/clbrobot/maps$ ls
cartographer_map.sh  house.pgm  house.yaml  map.bag.pbstream  map.pgm  map.sh  map.yaml

赋予脚本权限

$ chmod 777 map.sh 

执行脚本保存地图

$ ./map.sh 
[ INFO] [1455211385.464521985]: Waiting for the map
[ INFO] [1455211385.699357061]: Received a 1984 X 1984 map @ 0.050 m/pix
[ INFO] [1455211385.699489266]: Writing map occupancy data to house.pgm
[ INFO] [1455211386.047259404]: Writing map occupancy data to house.yaml
[ INFO] [1455211386.047918398]: Done

开始导航

登录并重新打开底盘程序

$ roslaunch clbrobot bringup.launch

登录并打开导航

$ roslaunch clbrobot navigate.launch

重新打开调试终端

不需登录打开调试窗口

$ rosrun rviz rviz

加载文件

在软件上加载navigate.rviz文件

校准小车位置

鼠标选中2D Pose Estimate然后拖动小车,使红点和黑边重合

让机器人到达目标位置

鼠标选中2D Nav Goal然后在目标位置点击鼠标左键并拖动鼠标提供方向,机器人会自动到达目标位置,并会自动避障选择最佳路径到达目标位置

多点导航

打开底盘程序

$ roslaunch clbrobot bringup.launch

打开多点导航程序

$ roslaunch clbrobot multi_goals.launch

$ roslaunch clbrobot navigate_multi.launch

打开调试工具

$ rosrun rviz rviz

在软件上加载multi_goal.rviz文件

鼠标选中2D Pose Estimate然后拖动小车,使红点和黑边重合

到达指定区域

鼠标选中Publish Point,然后在地图上点击一下产生第一个点,同样的操作生成第二个第三个第n个点,那么机器人就会依次到达上述的区域中去

摄像头寻线

打开底盘程序

$ roslaunch clbrobot bringup.launch

打开摄像头

$ roslaunch clbrobot camera.launch

寻线

虚拟机打开即可

roslaunch riki_line_follower riki_line.launch

雷达跟随

打开底盘程序

$ roslaunch clbrobot bringup.launch

打开摄像头

$ roslaunch clbrobot camera.launch

打开雷达跟随程序

$ roslaunch riki_lidar_follower laser_follower.launch

找个物体放到摄像头前面,然后机器人会跟随物体行走

APP控制与图像监控

打开底盘程序

$ roslaunch clbrobot bringup.launch

打开摄像头

$ roslaunch clbrobot appcamera.launch

然后安装创乐博APP后配置好网络即可使用

OpencvAPP图像处理

打开摄像头

$ roslaunch clbrobot camera.launch

边缘提取

$ roslaunch opencv_apps edge_detection.launch
发布了131 篇原创文章 · 获赞 81 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/wei242425445/article/details/103952085