本镜像主要针对机器人程序设计本科课程(授课人:RelayZhang老师),供学生课程学习与实践操作使用,基于ROS爱好者和学生使用的反馈意见对之前发布的版本进行修正和补充,在此致谢。更新日期为:2017.03.17,ROS学习推荐网址如下:
----------------------------------------------------------
| ROS官网 | 易科 | ROSClub | 古月居 | 创客智造 | ROSwiki |
----------------------------------------------------------
U盘镜像可以使用Universal-USB-Installer或UltraISO,依据电脑配置情况。
下载链接:http://pan.baidu.com/s/1nvFLoyl 密码:z62f 系统密码:cslg。
镜像制作为U盘启动,可以参考:
1 http://blog.csdn.net/zhangrelay/article/details/53324759
2 http://blog.csdn.net/zhangrelay/article/details/54632130
在Home文件夹的catkin_ws下,配置包如下:
在Home文件夹的Robotdemo_ws下,配置包如下:
其中tutorials包含了ROS官网部分核心的教程:
下面以个人学习ROS流程做一些分享:
首先需要认真做一遍到三遍ros_tutorials,推荐中英文对照学习,举例:
.h文件并不存在的疑惑。节选自:1 2
如下:en cn
Now, let's break the code down.
1 #include "ros/ros.h"
2 #include "beginner_tutorials/AddTwoInts.h"
3
beginner_tutorials/AddTwoInts.h is the header file generated from the srv file that we created earlier.
现在,让我们来逐步分析代码。
1 #include "ros/ros.h"
2 #include "beginner_tutorials/AddTwoInts.h"
3
beginner_tutorials/AddTwoInts.h是由编译系统自动根据我们先前创建的srv文件生成的对应该srv文件的头文件。
友情提醒,请不要忽略细节部分学习,不要停留在跑通demo的层面。
--------
核心 ROS 教程
初级
- 安装并配置ROS环境本教程详细描述了ROS的安装与环境配置。
- ROS文件系统介绍本教程介绍ROS文件系统概念,包括命令行工具roscd、rosls和rospack的使用。
- 创建ROS程序包本教程介绍如何使用roscreate-pkg或catkin创建一个新程序包,并使用rospack查看程序包的依赖关系。
- 编译ROS程序包本教程介绍ROS程序包的编译方法
- 理解 ROS节点本教程主要介绍 ROS 图(graph)概念 并讨论roscore、rosnode和 rosrun 命令行工具的使用。
- 理解ROS话题本教程介绍ROS话题(topics)以及如何使用rostopic 和 rxplot 命令行工具。
- 理解ROS服务和参数本教程介绍了ROS 服务和参数的知识,以及命令行工具rosservice 和rosparam的使用方法。
- 使用 rqt_console 和 roslaunch本教程介绍如何使用rqt_console和rqt_logger_level进行调试,以及如何使用roslaunch同时运行多个节点。早期版本中的rqt工具并不完善,因此,如果你使用的是“ROS fuerte”或更早期的版本,请同时参考这个页面学习使用老版本的“rx”工具。
- 使用rosed编辑ROS中的文件本教程将展示如何使用rosed来简化编辑过程。
- 创建ROS消息和ROS服务本教程详细介绍如何创建并编译ROS消息和服务,以及rosmsg, rossrv和roscp命令行工具的使用。
- 编写简单的消息发布器和订阅器 (C++)本教程将介绍如何用 C++ 编写发布器节点和订阅器节点。
- 写一个简单的消息发布器和订阅器 (Python)本教程将通过Python编写一个发布器节点和订阅器节点。
- 测试消息发布器和订阅器本教程将测试上一教程所写的消息发布器和订阅器。
- 编写简单的服务器和客户端 (C++)本教程介绍如何用 C++ 编写服务器 Service 和客户端 Client 节点。
- 编写简单的Service和Client (Python)本教程介绍如何用Python编写Service和Client节点。
- 测试简单的Service和Client本教程将测试之前所写的Service和Client。
- 录制与回放数据本教程将教你如何将ROS系统运行过程中的数据录制到一个.bag文件中,然后通过回放数据来重现相似的运行过程。
- roswtf入门本教程介绍了roswtf工具的基本使用方法。
- 探索ROS维基本教程介绍了ROS维基(wiki.ros.org)的组织结构以及使用方法。同时讲解了如何才能从ROS维基中找到你需要的信息。
- 接下来做什么?本教程将讨论获取更多知识的途径,以帮助你更好地使用ROS搭建真实或虚拟机器人。
现在你已经完成了初级教程的学习,请回答这个 问卷来检验一下自己的学习效果。
中级
大多数客户端 API 的使用教程可以在相关程序包 (roscpp,rospy,roslisp) 中找到。
- 手动创建ROS package本教程将展示如何手动创建ROS package
- 管理系统依赖项本教程将展示如何使用rosdep安装系统依赖项.
- Roslaunch在大型项目中的使用技巧本教程主要介绍roslaunch在大型项目中的使用技巧。重点关注如何构建launch文件使得它能够在不同的情况下重复利用。我们将使用 2dnav_pr2 package作为学习案例。
- ROS在多机器人上的使用本教程将展示如何在两台机器上使用ROS系统,详述了使用ROS_MASTER_URI来配置多台机器使用同一个master。
- 自定义消息本教程将展示如何使用ROS Message Description Language来定义你自己的消息类型.
- 在python中使用C++类本教程阐述一种在python中使用C++类的方法。
- 如何编写教程(概述:)本教程介绍在编辑ros.org维基时可以用到的模板和宏定义,并附有示例以供参考。
--------
这期间可以参考部分ROS书籍,如机器人操作系统(ROS)浅析等。
然后进行案例学习,例如ROS机器人程序设计或ROS By Example 1 2两卷等。
同时,需要学习ROS专题,如下:
--------
ROS 函数库教程
-
Robot Model
-
Visualization
-
actionlib
-
pluginlib
-
nodelets
-
导航
-
ROS-Industrial Tutorials
ROS 接口的函数库教程
-
Stage
-
TF
-
PCL with ROS
--------
其他关于教材说明可以参考:http://blog.csdn.net/zhangrelay/article/details/53056245
--------
参考博客关于本课程的介绍和补充可以获得更好的学习效果。
indigo专栏:http://blog.csdn.net/column/details/13335.html
kinetic专栏:http://blog.csdn.net/column/details/13113.html
--------
部分书籍和系统备份方法在Documents文件夹:
----------------------------------------------------------------------------------------------------------------------------------
~~镜像中部分示例节选~~
TIAgo示例:
招手示意:
抓取和放置:
拐角识别:
人体识别:
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
reemc示例:
reem示例:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
附录:
ros by example示例节选
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx1_bringup fake_turtlebot.launch
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx1_nav fake_nav_test.launch
relaybot@exbot-ThinkPad-T420s:~$ rosrun rviz rviz -d `rospack find rbx1_nav`/amcl.rviz
relaybot@exbot-ThinkPad-T420s:~$ roslaunch pocketsphinx robocup.launch
relaybot@exbot-ThinkPad-T420s:~$ rostopic echo /recognizer/output
data: no
---
data: hello
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx1_bringup fake_turtlebot.launch
relaybot@exbot-ThinkPad-T420s:~$ rosrun rviz rviz -d `rospack find rbx1_nav`/s.rviz
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx1_speech voice_nav_commands.launch
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx1_speech turtlebot_voice_nav.launch
relaybot@exbot-ThinkPad-T420s:~$ rqt_console
[INFO] [WallTime: 1489647557.650591] Go move forward
[INFO] [WallTime: 1489647551.253540] Ready to receive voice commands
[INFO] [WallTime: 1489647557.652520] Command: forward
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx1_vision usb_cam.launch
relaybot@exbot-ThinkPad-T420s:~$ roslaunch openni2_launch openni2.launch
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx1_vision face_tracker2.launch
relaybot@exbot-ThinkPad-T420s:~$ rosrun openni_tracker openni_tracker
[ INFO] [1489655631.531912640]: New User 1
[ INFO] [1489655632.494213298]: Pose Psi detected for user 1
[ INFO] [1489655644.459315818]: Lost user 1
[ INFO] [1489655653.171711624]: New User 1
[ INFO] [1489655656.975129018]: Pose Psi detected for user 1
[ INFO] [1489655669.117474462]: Lost user 1
[ INFO] [1489655709.434207386]: New User 1
[ INFO] [1489655731.720007590]: Pose Psi detected for user 1
[ INFO] [1489655746.866101386]: Lost user 1
relaybot@exbot-ThinkPad-T420s:~$ roslaunch openni2_launch openni2.launch
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx1_vision face_tracker2.launch
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx1_apps object_tracker.launch
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx1_bringup fake_turtlebot.launch
relaybot@exbot-ThinkPad-T420s:~$ rosrun rviz rviz -d `rospack find rbx1_nav`/s.rviz
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx2_tasks fake_turtlebot.launch
relaybot@exbot-ThinkPad-T420s:~$ rosrun rviz rviz -d `rospack find rbx2_tasks`/nav_tasks.rviz
relaybot@exbot-ThinkPad-T420s:~$ rosrun rbx2_tasks patrol_smach.py
relaybot@exbot-ThinkPad-T420s:~$ rosrun smach_viewer smach_viewer.py
relaybot@exbot-ThinkPad-T420s:~$ rosrun rviz rviz -d `rospack find rbx2_tasks`/nav_tasks.rviz
relaybot@exbot-ThinkPad-T420s:~$ rosrun rbx2_tasks clean_house_smach.py
relaybot@exbot-ThinkPad-T420s:~$ rosrun rbx2_tasks add_remove_tree.py
Creating Print Message task for Take me to your leader!
Creating counting task to 10
Behavior Tree Structure
--> PRINT_AND_COUNT
--> PRINT_MESSAGE
--> COUNT
Take
1
me
2
to
3
your
4
leader!
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx2_description pi_robot_with_two_arms.launch
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx2_utils pub_3d_target.launch
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rbx2_bringup pi_robot_with_gripper.launch sim:=true
relaybot@exbot-ThinkPad-T420s:~$ roslaunch pi_robot_moveit_config move_group.launch
relaybot@exbot-ThinkPad-T420s:~$ rosrun rviz rviz -d `rospack find \
rbx2_arm_nav`/config/pick_and_place.rviz
relaybot@exbot-ThinkPad-T420s:~$ rosrun rbx2_arm_nav moveit_pick_and_place_demo.py
http://unboundedrobotics.github.io/ubr1_preview/intro.html
relaybot@exbot-ThinkPad-T420s:~$ roslaunch ubr1_gazebo simulation_grasping.launch
relaybot@exbot-ThinkPad-T420s:~$ roslaunch ubr1_grasping grasping.launch
relaybot@exbot-ThinkPad-T420s:~$ rosrun ubr1_grasping pick_and_place.py --once
.............................................................................................................................................................
Learning ROS for Robotics Programming - Second Edition示例节选
第一章
relaybot@exbot-ThinkPad-T420s:~$ roscore
... logging to /home/relaybot/.ros/log/ada4bb56-0990-11e7-a6e3-0811968dc4b0/roslaunch-exbot-ThinkPad-T420s-3219.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://exbot-ThinkPad-T420s:38543/
ros_comm version 1.11.20
SUMMARY
========
PARAMETERS
* /rosdistro: indigo
* /rosversion: 1.11.20
NODES
auto-starting new master
process[master]: started with pid [3231]
ROS_MASTER_URI=http://exbot-ThinkPad-T420s:11311/
setting /run_id to ada4bb56-0990-11e7-a6e3-0811968dc4b0
process[rosout-1]: started with pid [3244]
started core service [/rosout]
^C[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
第二章
relaybot@exbot-ThinkPad-T420s:~$ rosrun chapter2_tutorials chap2_example4
[ INFO] [1489590444.510089537]: Reconfigure Request: 1 0.100000 Chapter2_dynamic_reconfigure True 1
[ INFO] [1489590444.513385410]: Spinning node
第三章
relaybot@exbot-ThinkPad-T420s:~$ roslaunch chapter3_tutorials example10.launch
第四章
relaybot@exbot-ThinkPad-T420s:~$ rosrun joy joy_node
[ INFO] [1489592223.223458700]: Opened joystick: /dev/input/js0. deadzone_: 0.050000.
---
header:
seq: 138
stamp:
secs: 1489592265
nsecs: 143842390
frame_id: ''
axes: [-0.35972166061401367, -0.0, -1.0, 0.07760214805603027, 0.0, 0.0, 0.0]
buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
---
第五章
relaybot@exbot-ThinkPad-T420s:~$ roslaunch usb_cam usb_cam-test.launch
第六章
relaybot@exbot-ThinkPad-T420s:~$ rosrun chapter6_tutorials pcl_matching
第7章
relaybot@exbot-ThinkPad-T420s:~$ roslaunch robot1_gazebo gazebo_wg.launch
第8章
relaybot@exbot-ThinkPad-T420s:~$ roslaunch chapter8_tutorials gazebo_mapping_robot.launch model:="`rospack find robot1_description`/urdf/robot1_base_04.xacro"
第9章
relaybot@exbot-ThinkPad-T420s:~$ roslaunch chapter9_tutorials chapter9_configuration_gazebo.launch
relaybot@exbot-ThinkPad-T420s:~$ roslaunch chapter9_tutorials move_base.launch
第10章
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rosbook_arm_moveit_config demo.launch
relaybot@exbot-ThinkPad-T420s:~$ roslaunch rosbook_arm_pick_and_place grasp_generator_server.launch
relaybot@exbot-ThinkPad-T420s:~$ rosrun rosbook_arm_pick_and_place pick_and_place.py
----------
功能包编译,优先推荐catkin build。
- relaybot@exbot-ThinkPad-T420s:~/Robotdemo_ws/tutorials$ catkin build
- --------------------------------------------------------------------------
- Profile: default
- Extending: [cached] /opt/ros/indigo
- Workspace: /home/relaybot/Robotdemo_ws/tutorials
- --------------------------------------------------------------------------
- Source Space: [exists] /home/relaybot/Robotdemo_ws/tutorials/src
- Log Space: [exists] /home/relaybot/Robotdemo_ws/tutorials/logs
- Build Space: [exists] /home/relaybot/Robotdemo_ws/tutorials/build
- Devel Space: [exists] /home/relaybot/Robotdemo_ws/tutorials/devel
- Install Space: [unused] /home/relaybot/Robotdemo_ws/tutorials/install
- DESTDIR: [unused] None
- --------------------------------------------------------------------------
- Devel Space Layout: linked
- Install Space Layout: None
- --------------------------------------------------------------------------
- Additional CMake Args: None
- Additional Make Args: None
- Additional catkin Make Args: None
- Internal Make Job Server: True
- Cache Job Environments: False
- --------------------------------------------------------------------------
- Whitelisted Packages: None
- Blacklisted Packages: None
- --------------------------------------------------------------------------
- Workspace configuration appears valid.
- --------------------------------------------------------------------------
- [build] Found '28' packages in 0.0 seconds.
- [build] Package table is up to date.
- Starting >>> actionlib_tutorials
- Starting >>> interactive_marker_tutorials
- Starting >>> librviz_tutorial
- Starting >>> nodelet_tutorial_math
- Finished <<< nodelet_tutorial_math [ 0.2 seconds ]
- Starting >>> pluginlib_tutorials
- Finished <<< interactive_marker_tutorials [ 0.3 seconds ]
- Starting >>> roscpp_tutorials
- Finished <<< librviz_tutorial [ 0.2 seconds ]
- Finished <<< pluginlib_tutorials [ 0.2 seconds ]
- Finished <<< roscpp_tutorials [ 0.6 seconds ]
- Starting >>> rospy_tutorials
- Starting >>> rosserial_msgs
- Starting >>> rviz_plugin_tutorials
- Finished <<< actionlib_tutorials [ 1.0 seconds ]
- Starting >>> rviz_python_tutorial
- Finished <<< rviz_plugin_tutorials [ 0.2 seconds ]
- Finished <<< rviz_python_tutorial [ 0.2 seconds ]
- Starting >>> turtlesim
- Finished <<< rospy_tutorials [ 0.5 seconds ]
- Starting >>> urdf_tutorial
- Starting >>> visualization_marker_tutorials
- Finished <<< rosserial_msgs [ 0.5 seconds ]
- Starting >>> rosserial_client
- Finished <<< visualization_marker_tutorials [ 0.2 seconds ]
- Starting >>> rosserial_python
- Finished <<< urdf_tutorial [ 0.2 seconds ]
- Finished <<< rosserial_client [ 0.2 seconds ]
- Starting >>> rosserial_arduino
- Finished <<< rosserial_python [ 0.2 seconds ]
- Starting >>> rosserial_embeddedlinux
- Starting >>> rosserial_windows
- Finished <<< turtlesim [ 0.7 seconds ]
- Starting >>> rosserial_server
- Finished <<< rosserial_arduino [ 0.3 seconds ]
- Starting >>> rosserial_xbee
- Finished <<< rosserial_embeddedlinux [ 0.2 seconds ]
- Starting >>> turtle_actionlib
- Finished <<< rosserial_windows [ 0.2 seconds ]
- Starting >>> turtle_tf
- Finished <<< rosserial_server [ 0.2 seconds ]
- Starting >>> turtle_tf2
- Finished <<< rosserial_xbee [ 0.2 seconds ]
- Finished <<< turtle_tf2 [ 1.2 seconds ]
- Finished <<< turtle_tf [ 1.5 seconds ]
- Finished <<< turtle_actionlib [ 1.6 seconds ]
- [build] Summary: All 23 packages succeeded!
- [build] Ignored: 5 packages were skipped or are blacklisted.
- [build] Warnings: None.
- [build] Abandoned: None.
- [build] Failed: None.
- [build] Runtime: 4.6 seconds total.
- relaybot@exbot-ThinkPad-T420s:~/Robotdemo_ws/tutorials$
- relaybot@exbot-ThinkPad-T420s:~/Robotdemo_ws/reem$ catkin build
- ---------------------------------------------------------------------
- Profile: default
- Extending: [cached] /opt/ros/indigo
- Workspace: /home/relaybot/Robotdemo_ws/reem
- ---------------------------------------------------------------------
- Source Space: [exists] /home/relaybot/Robotdemo_ws/reem/src
- Log Space: [exists] /home/relaybot/Robotdemo_ws/reem/logs
- Build Space: [exists] /home/relaybot/Robotdemo_ws/reem/build
- Devel Space: [exists] /home/relaybot/Robotdemo_ws/reem/devel
- Install Space: [unused] /home/relaybot/Robotdemo_ws/reem/install
- DESTDIR: [unused] None
- ---------------------------------------------------------------------
- Devel Space Layout: linked
- Install Space Layout: None
- ---------------------------------------------------------------------
- Additional CMake Args: None
- Additional Make Args: None
- Additional catkin Make Args: None
- Internal Make Job Server: True
- Cache Job Environments: False
- ---------------------------------------------------------------------
- Whitelisted Packages: None
- Blacklisted Packages: None
- ---------------------------------------------------------------------
- Workspace configuration appears valid.
- ---------------------------------------------------------------------
- [build] Found '41' packages in 0.0 seconds.
- [build] Package table is up to date.
- Starting >>> follow_planner
- Starting >>> head_action
- Starting >>> joy_teleop
- Starting >>> key_teleop
- Finished <<< key_teleop [ 0.2 seconds ]
- Starting >>> object_recognition_clusters
- Finished <<< follow_planner [ 0.3 seconds ]
- Starting >>> pal_behaviour_msgs
- Finished <<< joy_teleop [ 0.2 seconds ]
- Starting >>> pal_common_msgs
- Finished <<< object_recognition_clusters [ 0.3 seconds ]
- Starting >>> pal_control_msgs
- Finished <<< head_action [ 1.6 seconds ]
- Starting >>> pal_detection_msgs
- Finished <<< pal_common_msgs [ 1.4 seconds ]
- Starting >>> pal_device_msgs
- Finished <<< pal_control_msgs [ 1.4 seconds ]
- Finished <<< pal_behaviour_msgs [ 2.1 seconds ]
- Starting >>> pal_interaction_msgs
- Finished <<< pal_device_msgs [ 0.9 seconds ]
- Starting >>> pal_motion_model_msgs
- Finished <<< pal_detection_msgs [ 1.8 seconds ]
- Starting >>> pal_multirobot_msgs
- Finished <<< pal_motion_model_msgs [ 1.0 seconds ]
- Starting >>> pal_navigation_msgs
- Finished <<< pal_multirobot_msgs [ 1.1 seconds ]
- Finished <<< pal_interaction_msgs [ 2.6 seconds ]
- Starting >>> pal_tablet_msgs
- Starting >>> pal_video_recording_msgs
- Starting >>> pal_vision_msgs
- Finished <<< pal_navigation_msgs [ 3.2 seconds ]
- Starting >>> pal_walking_msgs
- Finished <<< pal_tablet_msgs [ 1.2 seconds ]
- Starting >>> pal_wifi_localization_msgs
- Finished <<< pal_video_recording_msgs [ 1.2 seconds ]
- Starting >>> reem_2dnav
- Finished <<< reem_2dnav [ 0.6 seconds ]
- Starting >>> reem_controller_configuration
- Finished <<< reem_controller_configuration [ 0.5 seconds ]
- Finished <<< pal_walking_msgs [ 1.9 seconds ]
- Finished <<< pal_wifi_localization_msgs [ 2.2 seconds ]
- Starting >>> reem_controller_configuration_gazebo
- Starting >>> reem_hardware_gazebo
- Starting >>> reem_maps
- Finished <<< pal_vision_msgs [ 3.5 seconds ]
- Starting >>> reem_object_recognition
- Finished <<< reem_controller_configuration_gazebo [ 0.4 seconds ]
- Starting >>> reem_rgbd_launch
- Finished <<< reem_hardware_gazebo [ 0.5 seconds ]
- Starting >>> twist_mux_msgs
- Finished <<< reem_maps [ 0.4 seconds ]
- Starting >>> reem_tabletop_grasping
- Finished <<< reem_object_recognition [ 0.3 seconds ]
- Starting >>> pal_gazebo_plugins
- Finished <<< reem_rgbd_launch [ 0.4 seconds ]
- Finished <<< pal_gazebo_plugins [ 1.1 seconds ]
- Finished <<< twist_mux_msgs [ 2.2 seconds ]
- Starting >>> reem_description
- Starting >>> twist_mux
- Finished <<< reem_tabletop_grasping [ 2.3 seconds ]
- Finished <<< reem_description [ 0.4 seconds ]
- Starting >>> reem_moveit_config
- Finished <<< twist_mux [ 0.4 seconds ]
- Finished <<< reem_moveit_config [ 0.3 seconds ]
- Starting >>> reem_bringup
- Finished <<< reem_bringup [ 0.3 seconds ]
- Starting >>> reem_gazebo
- Finished <<< reem_gazebo [ 0.3 seconds ]
- Starting >>> reem_2dnav_gazebo
- Finished <<< reem_2dnav_gazebo [ 0.3 seconds ]
- [build] Summary: All 35 packages succeeded!
- [build] Ignored: 6 packages were skipped or are blacklisted.
- [build] Warnings: None.
- [build] Abandoned: None.
- [build] Failed: None.
- [build] Runtime: 16.3 seconds total.
- relaybot@exbot-ThinkPad-T420s:~/Robotdemo_ws/reem$
- relaybot@exbot-ThinkPad-T420s:~/Robotdemo_ws/reemc$ catkin build
- ----------------------------------------------------------------------
- Profile: default
- Extending: [cached] /opt/ros/indigo
- Workspace: /home/relaybot/Robotdemo_ws/reemc
- ----------------------------------------------------------------------
- Source Space: [exists] /home/relaybot/Robotdemo_ws/reemc/src
- Log Space: [exists] /home/relaybot/Robotdemo_ws/reemc/logs
- Build Space: [exists] /home/relaybot/Robotdemo_ws/reemc/build
- Devel Space: [exists] /home/relaybot/Robotdemo_ws/reemc/devel
- Install Space: [unused] /home/relaybot/Robotdemo_ws/reemc/install
- DESTDIR: [unused] None
- ----------------------------------------------------------------------
- Devel Space Layout: linked
- Install Space Layout: None
- ----------------------------------------------------------------------
- Additional CMake Args: None
- Additional Make Args: None
- Additional catkin Make Args: None
- Internal Make Job Server: True
- Cache Job Environments: False
- ----------------------------------------------------------------------
- Whitelisted Packages: None
- Blacklisted Packages: None
- ----------------------------------------------------------------------
- ----------------------------------------------------------------------
- WARNING: Your current environment's CMAKE_PREFIX_PATH is different
- from the cached CMAKE_PREFIX_PATH used the last time this workspace
- was built.
- If you want to use a different CMAKE_PREFIX_PATH you should call
- `catkin clean` to remove all references to the previous
- CMAKE_PREFIX_PATH.
- Cached CMAKE_PREFIX_PATH:
- /opt/ros/indigo
- Current CMAKE_PREFIX_PATH:
- /home/relaybot/catkin_ws/devel:/opt/ros/indigo
- ----------------------------------------------------------------------
- [build] Found '38' packages in 0.0 seconds.
- [build] Package table is up to date.
- Starting >>> gazebo_msgs
- Starting >>> head_action
- Starting >>> joy_teleop
- Starting >>> key_teleop
- Finished <<< key_teleop [ 0.3 seconds ]
- Finished <<< joy_teleop [ 0.4 seconds ]
- Starting >>> pal_behaviour_msgs
- Finished <<< head_action [ 1.4 seconds ]
- Starting >>> pal_common_msgs
- Starting >>> pal_control_msgs
- Finished <<< gazebo_msgs [ 2.9 seconds ]
- Starting >>> pal_detection_msgs
- Finished <<< pal_behaviour_msgs [ 2.4 seconds ]
- Starting >>> pal_device_msgs
- Finished <<< pal_common_msgs [ 2.3 seconds ]
- Starting >>> pal_interaction_msgs
- Finished <<< pal_control_msgs [ 2.5 seconds ]
- Starting >>> pal_motion_model_msgs
- Finished <<< pal_device_msgs [ 2.4 seconds ]
- Starting >>> pal_multirobot_msgs
- Finished <<< pal_motion_model_msgs [ 1.9 seconds ]
- Starting >>> pal_navigation_msgs
- Finished <<< pal_multirobot_msgs [ 1.5 seconds ]
- Finished <<< pal_detection_msgs [ 4.3 seconds ]
- Starting >>> pal_tablet_msgs
- Finished <<< pal_tablet_msgs [ 1.3 seconds ]
- Finished <<< pal_interaction_msgs [ 5.2 seconds ]
- Starting >>> pal_video_recording_msgs
- Finished <<< pal_video_recording_msgs [ 1.2 seconds ]
- Starting >>> pal_vision_msgs
- Finished <<< pal_navigation_msgs [ 5.1 seconds ]
- Starting >>> pal_walking_msgs
- Finished <<< pal_vision_msgs [ 2.2 seconds ]
- Starting >>> pal_wifi_localization_msgs
- Starting >>> play_motion_msgs
- Starting >>> reemc_controller_configuration
- Finished <<< pal_walking_msgs [ 1.1 seconds ]
- Starting >>> reemc_controller_configuration_gazebo
- Finished <<< reemc_controller_configuration [ 0.2 seconds ]
- Starting >>> reemc_description
- Finished <<< reemc_controller_configuration_gazebo [ 0.3 seconds ]
- Starting >>> twist_mux_msgs
- Finished <<< reemc_description [ 0.3 seconds ]
- Finished <<< pal_wifi_localization_msgs [ 1.4 seconds ]
- Starting >>> gazebo_ros
- Finished <<< play_motion_msgs [ 1.6 seconds ]
- Starting >>> pal_gazebo_plugins
- Finished <<< gazebo_ros [ 0.5 seconds ]
- Starting >>> play_motion
- Starting >>> gazebo_plugins
- Finished <<< twist_mux_msgs [ 1.5 seconds ]
- Starting >>> gazebo_ros_control
- Finished <<< pal_gazebo_plugins [ 0.6 seconds ]
- Starting >>> twist_mux
- Finished <<< play_motion [ 0.5 seconds ]
- Finished <<< gazebo_ros_control [ 0.5 seconds ]
- Starting >>> reemc_hardware_gazebo
- Finished <<< twist_mux [ 0.4 seconds ]
- Starting >>> reemc_bringup
- Finished <<< reemc_hardware_gazebo [ 0.5 seconds ]
- Finished <<< reemc_bringup [ 0.4 seconds ]
- Finished <<< gazebo_plugins [ 2.4 seconds ]
- Starting >>> reemc_gazebo
- Finished <<< reemc_gazebo [ 0.2 seconds ]
- Starting >>> reemc_moveit_config
- Finished <<< reemc_moveit_config [ 0.2 seconds ]
- [build] Summary: All 33 packages succeeded!
- [build] Ignored: 5 packages were skipped or are blacklisted.
- [build] Warnings: None.
- [build] Abandoned: None.
- [build] Failed: None.
- [build] Runtime: 19.9 seconds total.
- relaybot@exbot-ThinkPad-T420s:~/Robotdemo_ws/reemc$
- relaybot@exbot-ThinkPad-T420s:~/Robotdemo_ws/tiago$ catkin build
- ---------------------------------------------------------------------------
- Profile: default
- Extending: [cached] /home/relaybot/catkin_ws/devel:/opt/ros/indigo
- Workspace: /home/relaybot/Robotdemo_ws/tiago
- ---------------------------------------------------------------------------
- Source Space: [exists] /home/relaybot/Robotdemo_ws/tiago/src
- Log Space: [exists] /home/relaybot/Robotdemo_ws/tiago/logs
- Build Space: [exists] /home/relaybot/Robotdemo_ws/tiago/build
- Devel Space: [exists] /home/relaybot/Robotdemo_ws/tiago/devel
- Install Space: [unused] /home/relaybot/Robotdemo_ws/tiago/install
- DESTDIR: [unused] None
- ---------------------------------------------------------------------------
- Devel Space Layout: linked
- Install Space Layout: None
- ---------------------------------------------------------------------------
- Additional CMake Args: None
- Additional Make Args: None
- Additional catkin Make Args: None
- Internal Make Job Server: True
- Cache Job Environments: False
- ---------------------------------------------------------------------------
- Whitelisted Packages: None
- Blacklisted Packages: None
- ---------------------------------------------------------------------------
- Workspace configuration appears valid.
- ---------------------------------------------------------------------------
- [build] Found '90' packages in 0.0 seconds.
- [build] Package table is up to date.
- Starting >>> aruco
- Starting >>> aruco_msgs
- Starting >>> controller_manager_msgs
- Starting >>> ddynamic_reconfigure_python
- Finished <<< aruco [ 0.5 seconds ]
- Starting >>> hardware_interface
- Finished <<< ddynamic_reconfigure_python [ 0.4 seconds ]
- Starting >>> head_action
- Finished <<< hardware_interface [ 0.5 seconds ]
- Starting >>> hey5_description
- Finished <<< aruco_msgs [ 1.6 seconds ]
- Finished <<< hey5_description [ 0.6 seconds ]
- Starting >>> look_hand
- Finished <<< controller_manager_msgs [ 2.3 seconds ]
- Starting >>> look_to_point
- Finished <<< look_hand [ 0.6 seconds ]
- Starting >>> pal_behaviour_msgs
- Starting >>> pal_common_msgs
- Finished <<< look_to_point [ 0.6 seconds ]
- Starting >>> pal_control_msgs
- Finished <<< head_action [ 2.0 seconds ]
- Starting >>> pal_detection_msgs
- Finished <<< pal_control_msgs [ 3.0 seconds ]
- Starting >>> pal_device_msgs
- Finished <<< pal_behaviour_msgs [ 4.2 seconds ]
- Starting >>> pal_gripper_description
- Finished <<< pal_common_msgs [ 3.9 seconds ]
- Starting >>> pal_interaction_msgs
- Finished <<< pal_gripper_description [ 0.5 seconds ]
- Starting >>> pal_motion_model_msgs
- Finished <<< pal_detection_msgs [ 4.8 seconds ]
- Finished <<< pal_device_msgs [ 2.4 seconds ]
- Starting >>> pal_multirobot_msgs
- Finished <<< pal_motion_model_msgs [ 1.8 seconds ]
- Starting >>> pal_navigation_msgs
- Finished <<< pal_multirobot_msgs [ 1.3 seconds ]
- Finished <<< pal_interaction_msgs [ 4.2 seconds ]
- Starting >>> pal_tablet_msgs
- Finished <<< pal_tablet_msgs [ 1.0 seconds ]
- Starting >>> pal_video_recording_msgs
- Finished <<< pal_video_recording_msgs [ 0.8 seconds ]
- Starting >>> pal_vision_msgs
- Starting >>> pal_visual_localization_msgs
- Starting >>> pal_walking_msgs
- Finished <<< pal_navigation_msgs [ 4.4 seconds ]
- Starting >>> pal_web_msgs
- Finished <<< pal_walking_msgs [ 1.3 seconds ]
- Finished <<< pal_web_msgs [ 0.8 seconds ]
- Starting >>> pal_wifi_localization_msgs
- Finished <<< pal_wifi_localization_msgs [ 1.0 seconds ]
- Starting >>> play_motion_msgs
- Finished <<< pal_visual_localization_msgs [ 2.3 seconds ]
- Starting >>> play_with_sensors
- Starting >>> pmb2_controller_configuration_gazebo
- Finished <<< pal_vision_msgs [ 2.8 seconds ]
- Starting >>> rviz_plugin_covariance
- Finished <<< play_with_sensors [ 0.2 seconds ]
- Finished <<< pmb2_controller_configuration_gazebo [ 0.2 seconds ]
- Starting >>> tf_lookup
- Finished <<< play_motion_msgs [ 0.7 seconds ]
- Starting >>> tiago_laser_sensors
- Starting >>> tiago_maps
- Finished <<< rviz_plugin_covariance [ 0.3 seconds ]
- Starting >>> tiago_moveit_config
- Finished <<< tiago_maps [ 0.2 seconds ]
- Starting >>> tiago_moveit_tutorial
- Finished <<< tiago_laser_sensors [ 0.2 seconds ]
- Starting >>> tiago_pcl_tutorial
- Finished <<< tiago_moveit_config [ 0.2 seconds ]
- Finished <<< tf_lookup [ 1.0 seconds ]
- Finished <<< tiago_moveit_tutorial [ 0.8 seconds ]
- Starting >>> tts
- Starting >>> pal_parallel_gripper_wrapper
- Finished <<< tiago_pcl_tutorial [ 0.8 seconds ]
- Starting >>> controller_interface
- Starting >>> joint_limits_interface
- Finished <<< tts [ 0.1 seconds ]
- Starting >>> transmission_interface
- Finished <<< pal_parallel_gripper_wrapper [ 0.1 seconds ]
- Starting >>> aruco_ros
- Finished <<< controller_interface [ 0.1 seconds ]
- Starting >>> rqt_joint_trajectory_controller
- Finished <<< joint_limits_interface [ 0.1 seconds ]
- Starting >>> pal_person_detector_opencv
- Finished <<< transmission_interface [ 0.2 seconds ]
- Starting >>> tiago_opencv_tutorial
- Finished <<< rqt_joint_trajectory_controller [ 0.2 seconds ]
- Starting >>> pal_gazebo_plugins
- Finished <<< aruco_ros [ 0.3 seconds ]
- Starting >>> pal_python
- Finished <<< pal_person_detector_opencv [ 0.2 seconds ]
- Starting >>> say_something
- Finished <<< pal_python [ 0.2 seconds ]
- Starting >>> demo_motions
- Finished <<< tiago_opencv_tutorial [ 0.5 seconds ]
- Starting >>> run_motion
- Finished <<< pal_gazebo_plugins [ 0.4 seconds ]
- Starting >>> controller_manager
- Finished <<< say_something [ 0.2 seconds ]
- Starting >>> force_torque_sensor_controller
- Finished <<< demo_motions [ 0.5 seconds ]
- Starting >>> forward_command_controller
- Finished <<< force_torque_sensor_controller [ 0.2 seconds ]
- Finished <<< run_motion [ 0.6 seconds ]
- Starting >>> imu_sensor_controller
- Starting >>> joint_state_controller
- Finished <<< controller_manager [ 0.5 seconds ]
- Starting >>> tiago_aruco_demo
- Finished <<< forward_command_controller [ 0.2 seconds ]
- Starting >>> tiago_pick_demo
- Finished <<< imu_sensor_controller [ 0.2 seconds ]
- Starting >>> pal_navigation_sm
- Finished <<< joint_state_controller [ 0.2 seconds ]
- Starting >>> pmb2_description
- Finished <<< tiago_aruco_demo [ 0.1 seconds ]
- Starting >>> controller_manager_tests
- Finished <<< pal_navigation_sm [ 0.1 seconds ]
- Starting >>> diff_drive_controller
- Finished <<< pmb2_description [ 0.2 seconds ]
- Starting >>> joint_trajectory_controller
- Finished <<< controller_manager_tests [ 0.3 seconds ]
- Finished <<< tiago_pick_demo [ 0.7 seconds ]
- Finished <<< joint_trajectory_controller [ 0.3 seconds ]
- Starting >>> rqt_controller_manager
- Starting >>> gazebo_ros_control
- Starting >>> effort_controllers
- Finished <<< diff_drive_controller [ 0.4 seconds ]
- Starting >>> position_controllers
- Finished <<< gazebo_ros_control [ 0.2 seconds ]
- Starting >>> velocity_controllers
- Finished <<< effort_controllers [ 0.2 seconds ]
- Starting >>> play_motion
- Finished <<< rqt_controller_manager [ 0.1 seconds ]
- Starting >>> tiago_2dnav
- Finished <<< position_controllers [ 0.2 seconds ]
- Starting >>> tiago_description
- Finished <<< velocity_controllers [ 0.2 seconds ]
- Starting >>> pmb2_controller_configuration
- Finished <<< tiago_2dnav [ 0.2 seconds ]
- Starting >>> pal_hardware_gazebo
- Finished <<< play_motion [ 0.3 seconds ]
- Starting >>> pal_gripper_controller_configuration
- Finished <<< tiago_description [ 0.1 seconds ]
- Starting >>> tiago_controller_configuration_gazebo
- Finished <<< pmb2_controller_configuration [ 0.1 seconds ]
- Starting >>> pmb2_bringup
- Finished <<< pal_hardware_gazebo [ 0.2 seconds ]
- Starting >>> pal_gripper_gazebo
- Finished <<< pal_gripper_controller_configuration [ 0.1 seconds ]
- Starting >>> pal_gripper
- Finished <<< tiago_controller_configuration_gazebo [ 0.1 seconds ]
- Finished <<< pmb2_bringup [ 0.1 seconds ]
- Starting >>> pmb2_gazebo
- Starting >>> tiago_bringup
- Finished <<< pal_gripper_gazebo [ 0.1 seconds ]
- Finished <<< pal_gripper [ 0.1 seconds ]
- Finished <<< pmb2_gazebo [ 0.1 seconds ]
- Finished <<< tiago_bringup [ 0.1 seconds ]
- Starting >>> tiago_gazebo
- Finished <<< tiago_gazebo [ 0.1 seconds ]
- Starting >>> tiago_2dnav_gazebo
- Starting >>> tiago_multi
- Finished <<< tiago_multi [ 0.1 seconds ]
- Finished <<< tiago_2dnav_gazebo [ 0.1 seconds ]
- [build] Summary: All 82 packages succeeded!
- [build] Ignored: 8 packages were skipped or are blacklisted.
- [build] Warnings: None.
- [build] Abandoned: None.
- [build] Failed: None.
- [build] Runtime: 23.9 seconds total.
- relaybot@exbot-ThinkPad-T420s:~/Robotdemo_ws/tiago$
----------
最后补充实时ROS2文档,之前版本是ROS1,如下:
关于ROS 2
- ROS 2概念概述
- DDS和ROS中间件实现
- ROS 2客户端库
- 关于ROS接口
- 关于服务质量设置
ROS 2教程
- 从二进制和源代码,所有平台安装
- 使用ament构建自定义包
- 使用多个RMW实现
- 在单个进程中组合多个节点
- 定义自定义接口(msg / srv)
- ROS 2接口中的新功能(msg srv)
高级
- 实现自定义内存分配器
ROS 2演示
- 使用服务质量设置来处理有损网络
- 管理节点
- 高效的进程内通信
- ROS 1和ROS 2之间的桥接通信
- 使用ROS 1桥接器通过rosbag记录和回放主题数据
- Turtlebot 2演示使用ROS 2
- 使用tf2与ROS 2
- 编写使用ROS 2 API的实时安全代码
- 使用rclpy API在Python中编写ROS 2程序
----------
-End-