1

SLAM从入门到精通(机器人建模和仿真环境)

 11 months ago
source link: https://blog.csdn.net/feixiaoxing/article/details/133239198
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        很多同学学了ros,以为把publish、subscribe、消息、服务这些接口学好了就行。其实这是很大的误区。因为这些通信机制只是帮我们了解ros,知道应该怎么把ros用起来。但是本身ros和机器人的关系,我们还有很长的路要走。这个时候,一般来说大家不要立马去买一个物理机器人。因为完全可以通过机器人模型、仿真环境去学习相关的编程和算法。

        但此时,ros下面无论是机器人建模、还是仿真环境的搭建,对于新手来说,都比较复杂。所以,我们通过别人搭好的环境来进一步学习,这是很重要的一步。迈过了这关,基本上slam算是入门了。如果没有,那实际上还是在ros门外徘徊。

1、下载现成的机器人模型和环境

        大家可以到github上面直接下载,

https://github.com/6-robot/wpr_simulation.git

        如果不是很好下载,那么先把压缩包下载下来。然后拷贝到ubuntu虚拟机即可。在Ubuntu下面,安装的目录是catkin_ws/src目录。

2、安装必要的第三方库

        本身wpr_simulation依赖于一定的第三方库。所以大家可以cd到scripts目录下面,根据自己的ros版本,执行对应的脚本文件即可,

./install_for_noetic.sh

3、开始准备编译

        代码和第三方包都准备好了之后,就可以开始编译了。编译的方法很简单,就是在catkin_ws目录下面输入catkin_make即可。不出意外的话,所有的文件都编译结束后,你会看到这样的内容,



newCodeMoreWhite.png

4、开始启动机器人模型和仿真环境

        不管是机器人,还是仿真环境,本身wpr_simulation这个package都已经替我们准备好了。我们要做的就是用roslaunch命令启动一下就可以了。当然运行之前,需要source一下本地的devel环境,

source ./devel/setup.sh

        接着输入roslaunch命令,

roslaunch wpr_simulation wpb_simple.launch

        一切准备接续,就可以看到这样的界面,

abd2247faf6e44ad91eaf58d8ff8aede.png

        场景还是比较简单的,就是一个小车放在了一个书柜的前面,小车身上还有一个单线lidar,所以我们还可以看到很多的蓝色直线。

5、让小车动起来

        场景准备好了,下一步要做的就是怎么让小车动起来,这里我们想到的工具是rqt_robot_steering这个包。直接输入,

rosrun rqt_robot_steering rqt_robot_steering

        这样就会弹出一个窗口,

fd0beaae8b3e456381ff5950a45f32b7.png

        通过操作这个窗口就可以让小车动起来。本质上,还是通过/cmd_vel这个话题给小车发消息。上下的箭头代表前进还是后退,左右的箭头代表旋转的速度和方向。有了wpr_simulation和rqt_robot_steering做基础,我们就可以继续后续的ros开发了。

注:

        在roslaunch退出的时候,建议先gazebo的file下面单击quit,接着ctrl+c console界面即可。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK