一、ROS入门
http://download.csdn.net/detail/qq_36355662/9774692
参考博客:http://www.cnblogs.com/zxouxuewei/p/5096787.html
http://www.th7.cn/system/lin/201504/103167.shtml
(1)书籍:要说看说的话,最近的书还是比较多的《机器人操作系统浅析》,《ROS程序设计第一版&第二版》(有人说写的不好,其实不好也是有帮助的),还有一本红皮书讲ROS的,不建议看,版本太旧。目前的学习,都是以indigo版本的ROS为主。
(2)网上资料:这里就比较多了,这里的资料可以结合书籍同时进行学习,网站资料学习我给出一个大致的顺序:
》1 官网wiki:http://wiki.ros.org/cn/ROS/Tutorials,这肯定是第一步,学完之后再多看几遍,争取学懂!
》2 创客智造网站:http://www.ncnynl.com/category/turtlebot-Simulation/,跟着学学仿真,加深理解。这是一个非常好的开源网站,拥有非常多的资料,以后会发现它非常有用的。
》3 古月居博客:https://blog.csdn.net/column/details/ros-explore.html?&page=2,进一步加深ROS理解,以及熟练使用ROS相关的工具。
(3)视频:这是不建议看的,当然也没有,多动动手写写ROS功能包就行了。
(4)剩下的,就是按照自己的需求,适当的学习ROS相关的其他资料了。
二、仿真重点
学完仿真,把一些重要的命令总结下吧:
1.激活仿真的kinect $ sudo apt-get install ros-indigo-openni-* $ echo $TURTLEBOT_3D_SENSOR 如果你看到输出Kinect,你已经正确激活3D传感器。2.遥控(1)键盘遥控 $ roslaunch turtlebot_teleop keyboard_teleop.launch(2)通过互动的标记来控制 $ sudo apt-get install ros-indigo-turtlebot-interactive-markers $ roslaunch turtlebot_interactive_markers interactive_markers.launch3.构建地图(1)推出Gazebo的世界。 $ roslaunch turtlebot_gazebo turtlebot_world.launch
如果你想启动你自己的世界运行这个命令。
$ roslaunch turtlebot_gazebo turtlebot_world.launch
world_file:=/home/<username>/helloworld/turtlebot_custom_gazebo_worlds/turtlebot_world_0.world
(2)启动地图建设。 $ roslaunch turtlebot_gazebo gmapping_demo.launch(3)使用rviz的地图构建过程可视化,可以方便遥控,像真实地开车一样,炫! $ roslaunch turtlebot_rviz_launchers view_navigation.launch
(4)在一个新的终端运行image_view。 $ rosrun image_view image_view image:=/camera/rgb/image_raw
(5)启动键盘,驱动turtlebot转动。 $ roslaunch turtlebot_teleop keyboard_teleop.launch(6)保存一张地图,在保存路径下。 $ rosrun map_server map_saver -f /home/<username>/helloworld/turtlebot_custom_maps/tutorial_04.自动导航(1)启动Gazebo $ roslaunch turtlebot_gazebo turtlebot_world.launch(2)运行导航演示 $ roslaunch turtlebot_gazebo amcl_demo.launch 如果你已经启动了你自己的世界,或者你想使用你在上一课中创建的地图,请指定一个地图文件。
$ roslaunch turtlebot_gazebo amcl_demo.launch
map_file:=/home/<username>/helloworld/turtlebot_custom_maps/tutorial_2.yaml
(3)启动Rviz。 $ roslaunch turtlebot_rviz_launchers view_navigation.launch(4)在一个新的终端运行image_view。 $ rosrun image_view image_view image:=/camera/rgb/image_raw5.拍照(1)启动Gazebo。 $ roslaunch turtlebot_gazebo turtlebot_world.launch(2)运行image_view,在保存路径下。
$ rosrun image_view image_view
image:=/camera/rgb/image_raw_filename_format:="/home/<username>/helloworld/turtlebot_photos/tutoriali.jpg"
6.录制视频(1)启动Gazebo。 $ roslaunch turtlebot_gazebo turtlebot_world.launch(2)打开一个新的终端和运行: $ roslaunch turtlebot_teleop keyboard_teleop.launch(3)在一个新的终端运行image_view。 $ rosrun image_view image_view image:=/camera/rgb/image_raw(4)运行视频记录器,在保存路径下。 $ rosrun image_view video_recorder image:=/camera/rgb/image_raw 按Ctrl + C完成记录。