机器人操作系统ROS_典型功能实现方法详解_第1页
机器人操作系统ROS_典型功能实现方法详解_第2页
机器人操作系统ROS_典型功能实现方法详解_第3页
机器人操作系统ROS_典型功能实现方法详解_第4页
机器人操作系统ROS_典型功能实现方法详解_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机器人操作系统ROS: 典型功能实现方法详解李宝全 28ROS体系2ROS安装3TurtleBot 配置与运行3ROS基础的学习4P3-AT/DX8ROSARIA配置与运行8ROSARIA键盘控制:10ROSARIA程序控制方式:11Android遥控11TurtleBot的键盘控制:12配置USB转串口12CmakeList.txt的制作13图像的发布与接收13图像的接收,处理与显示13Kinect端获取图像14内置USB 摄像头图像获取15外接USB摄像头图像获取17KinectSkeleton17TF Listener(综合实现人体跟踪)19Voice22语言识别pocketsphinx

2、22识别结果的接收与显示23语言发布23综合: 捕获String并发声25两主机通讯ROS_Network25ROS_OpenTLD27ROS学习材料27ROS体系版本:Hydro 2013-09-04Groovy 2012-12-31Fuerte 2012-04-23ElectricDiamondbackROS是一种分布式的处理框架。文件系统: 在硬盘上查看的ROS源代码的组织形式包 Package:含有manifest.xml 或package.xml?比如下文中的turtlebot_teleop,turtlebot_bringup。堆:Stack包的集合含有stack.xml编译方法:c

3、atkin:Groovy及以后版本rosbuild:用于Fuerte及以前版本常用命令: rostopic list;列出系统中的所有Topicrosdep: 安装依赖包, 例如 rosdep install rosaria安装时, 需要先建一个工作空间,然后把gitgub网站上相应的包下载到src文件夹下,再执行该语句。具体见 “ROSARIA配置与运行”一节。环境变量设置:export例如:export ROS_HOSTNAME=marvinexport ROS_MASTER_URI=http:/hal:11311 Bulks给的一些有用的命令rosnode info /rosaria_t

4、eleop_key_1 rosrun rqt_robot_steering rqt_robot_steering rosrun rqt_gui rqt_guirostopic helprosnode helprosnode info /RosAriarosnode info /rosaria_teleop_key_1rosnode listecho $ROS_HOSTNAMEROS安装安装教程:/hydro/Installation/Ubuntu sudo sh -c echo deb /ros/ubuntu pr

5、ecise main /etc/apt/sources.list.d/ros-latest.list1.3 安装keyswget /ros.key -O - | sudo apt-key add -1.4 安装使Debian包为最新:sudo apt-get updateFull安装:sudo apt-get install ros-hydro-desktop-full会出现一个界面,利用Tab选择Yes即可成功则提示:ldconfig deferred processing now taking place找到可以使用的包:apt-cache se

6、arch ros-hydro1.5初始化rosdepsudo rosdep initrosdep update 1.6环境设置echo source /opt/ros/hydro/setup.bash /.bashrcsource /.bashrc1.7得到rosintallsudo apt-get install python-rosinstallTurtleBot 配置与运行介绍TurtleBot的主页面(安装&运行): /Robots/TurtleBotTurtleBot包(Package)的安装过程安装(turtlebot/Tutorials/hyd

7、ro/Installation ):按照Debs Installation按照方法来安装:1. 首先安装: sudo apt-get install ros-hydro-turtlebot ros-hydro-turtlebot-apps ros-hydro-turtlebot-viz ros-hydro-turtlebot-simulator ros-hydro-kobuki-ftdi2. 之后加入sourse的bash中: . /opt/ros/hydro/setup.bash. 说明:a) 在终端中输入这一行后很快就结束. b) 效果是在.bashrc(Home中的隐藏文件)的最后一行加

8、入了source /opt/ros/hydro/setup.bash, c) 效果等效于命令 echo source /opt/ros/hydro/setup.bash /.bashrc. 这样的话就不用每次启动都输入命令“source /opt/ros/hydro/setup.bash”了. d) 这个好像在安装ROS时已经执行过了,不需要再执行一次吧?3. 之后加入kobuki的udev规则: rosrun kobuki_ftdi create_udev_rules安装完之后还需要加入网络时间控制(turtlebot/Tutorials/hydro/Post-Installation Se

9、tup ), 否则与kokuki无法通讯. 1.首先安装chrony:sudo apt-get install chrony2.再进行syncNTP:sudo ntpdate 问题: 我重装系统后再安装turtlebot后,连接不上kokuki,但能正常连接Kinect。在命令行中,提示到bad callback, 因此说明有很多件没有安装成功。需要将其卸载重装,可以网上搜索Uninstall turtlebot来卸载并重装。运行:1. 首先打开机器人核心服务程序:打开一个终端:键入: roscore /2. 系统的检测:New Terminal:输入命令 roslaunch turtlebo

10、t_dashboard turtlebot_dashboard.launch 之后就会弹出kobukiDashboard-rqt3. kobuki的运动控制:a. New Terminal: TurtleBot Bringup roslaunch turtlebot_bringup minimal.launch 用于初始化机器人? b. New Terminal:Teleoperation/ Keyboard Teleop : roslaunch turtlebot_teleop keyboard_teleop.launch 开启键盘控制这一节点, 用于键盘控制机器人的运动. 4. 应用视觉传

11、感器kinect并启动rviz界面: 3D Visualisation a. New Terminal: roslaunch turtlebot_bringup 3dsensor.launch; /将3Dsensor加入到系统中, 初始化kinect传感器/kinect最好插到USB2.0上b. 启动rviz的view_robot :New Terminal: roslaunch turtlebot_rviz_launchers view_robot.launch / rviz中也整合了上一步的kobuki的运动控制c. 这个也可以在p3at上的kinect上运行. 5. SLAM: 与之前的

12、两项无关. 需要重新开始, 否则就报错了. a. New Terminal: 开启ROS服务: roscoreb. New Terminal: 启动kobuki:roslaunch turtlebot_bringup minimal.launchc. New Terminal: 运行gmapping Demo:roslaunch turtlebot_navigation gmapping_demo.launchd. 启动RVIZ的navigation:New Terminal: roslaunch turtlebot_rviz_launchers view_navigation.launche

13、. 保存建图的结果:rosrun map_server map_saver -f /tmp/my_mapf. 说明: 该例程只用到kobuki, 没有用到Kinect. 6. 退出:ctrl+cROS基础的学习ROS Tutorials:/ROS/Tutorials 1.1.1 Installing and Configuring Your ROS Environment创建catkin workspace: 1. $ mkdir -p /catkin_ws/src /产生工作空间Workspace文件夹, 并产生源空间src文件夹2. $ cd /catk

14、in_ws/src3. $ catkin_init_workspace /a. 初始化工作空间/b. 在src中仅生成一指向/opt/ros/hydro/share/catkin/cmake/toplevel.cmake的CMakeLists.txt的链接,即CMakeLists.txt的内容与toplevel.cmake的内容一样4. $ cd /catkin_ws/ /回到工作空间中5. $ catkin_make /build工程?a. 要在工作空间目录下输入该命令b. /会产生build,devel文件夹6. $ source devel/setup.bash /在当前bash环境下读

15、取并执行devel/setup.bash 中的命令工作空间的结构(包含包的):workspace_folder/ - WORKSPACE src/ - SOURCE SPACE CMakeLists.txt /怎么没有这个呢 - Toplevel CMake file, provided by catkin package_1/ CMakeLists.txt - CMakeLists.txt file for package_1 package.xml - Package manifest for package_1 . package_n/ CMakeLists.txt - CMakeLis

16、ts.txt file for package_n package.xml - Package manifest for package_n1.1.2 Navigating the ROS Filesystem1. 查找某一包(package): 使用命令(例如)$ rospack find roscpp. 则会返回路径: /opt/ros/hydro/share/roscpp2. 利用命令$ roscd roscpp, 则直接进入/opt/ros/hydro/share/roscpp文件夹.3. $ pwd /报告当前位置1.1.3 Creating a ROS Package上接1.1.1

17、1. $ cd /catkin_ws/src: 首先进入src文件夹.2. $ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp:创建包a. beginner_tutorials为产生的包的名称, b. std_msgs, roscpp, rospy为依赖项(dependencies)1.1.4 Building a ROS Package上接1.1.31. $ cd /catkin_ws/ : 首先返回工作空间文件夹.2. $ ls src: 查看src文件夹中的内容, a) 结果为beginner_tutorials CM

18、akeLists.txt. b) 链接CMakeLists.txt一直存在c) 命令ls为列出当前文件夹下的东西3. $ catkin_make. /builda) 需要在工作空间目录下运行该命令b) 若在src文件夹下运行该命令,会有错误提示The specified base path /home/listname/catkin_ws_wmr/src contains a CMakeLists.txt but catkin_make must be invoked in the root of workspace.1.1.10 Creating a ROS msg and srv2.1产生

19、一个消息:1. 创建一个消息a) cd /catkin_ws/src/beginner_tutorials首先进入文件夹. b) 再创建一个文件夹$ mkdir msg. c) $ echo int64 num msg/Num.msg: 创建一文件Num.msg, 并写入一行话int64 num, 当然还可以多加入几行. 2. 对(beginner_tutorials中的)package.xml添加下面两行: a) message_generationb) message_runtime3. 对(beginner_tutorials中的)CMakeList.txt做如下修改 :a) 在原有的f

20、ind_package(xxx)中加入“message_generation”b) 在catkin_package()中添加CATKIN_DEPENDS message_runtimec) 取消add_message_files()的注释, 并修改为add_message_files(FILES Num.msg)d) 取消generate_messages(DEPENDENCIES std_msgs)的注释2.2使用rosmsg$ rosmsg show beginner_tutorials/Num. 应该输出int64 num但但提示找不到该消息?使用查找命令$ rosmsg show Nu

21、m, 应该输出beginner_tutorials/Num:int64 num. 但还是找不到?3.1创建一个srv1. 创建一个srva) $ roscd beginner_tutorials/输入这行命令后, 提升找不到 beginner_tutorials文件夹呢. /只能手动进入该文件夹了b) $ mkdir srv /创建一个srv文件夹c) $ roscp rospy_tutorials AddTwoInts.srv srv/AddTwoInts.srv把ROS系统文件中的rospy_tutorials包复制文件到srv文件夹下 2. 对beginner_tutorials中的CM

22、akeList.txt做如下修改: a) 在原有的find_package(xxx)中加入“message_generation”(在创建msg过程中已添加)b) 取消add_serivce_files( )的注释, 并修改为add_serivce_files(FILES AddtwoInts.srv)3.2使用rossrv:使用命令:$ rossrv show beginner_tutorials/AddTwoInts. 应该输出int64 a int64 b - int64 sum. 但提示找不到该消息?使用查找命令 $ rossrv show AddTwoInts, 也只能查找到rosp

23、y_tutorials/AddTwoInts中的, 找不到beginner_tutorials/AddTwoInts中的. ?4.msg与srv共同的下一步在CMakeList.txt中, 取消generate_messages(DEPENDENCIES std_msgs)的注释(创建msg阶段已经完成)在catkin_ws工作空间下输入命令: $ catkin_make结果是生成了针对不同语言的头文件: msg的C+头文件在 /catkin_ws/devel/include/beginner_tutorials/. Python脚本在 /catkin_ws/devel/lib/python2

24、.7/dist-packages/beginner_tutorials/msg. 列表处理语言文件在 /catkin_ws/devel/share/common-lisp/ros/beginner_tutorials/msg/. 对于.srv, 生成的结果也类似. 生成成功!1.1.11 cc Writing a Simple Publisher and Subscriber (C+)上接1.1.4,不需要经过生成msg与srv的过程1.0 进入包cd /catkin_ws/src/beginner_tutorials1.1 创建Publisher Node:src/listener.cpp

25、文件(在该包的src文件夹下)2.1 创建Subscriber Node:src/talker.cpp 文件(在该包的src文件夹下)3.1 Building your nodes 生成可执行文件a) 在CMakeLists.txt文件中(包的目录下面的)最后面加入(CMakeLists.txt已经在之前msg&srv中生成并处理了, 若没经过上面的msg&srv阶段的处理, 也能正常编译生成)add_executable(talker src/talker.cpp)/生成可执行文件target_link_libraries(talker $catkin_LIBRARIES)add_depen

26、dencies(talker beginner_tutorials_generate_messages_cpp)/包的名错了也没关系/若是在catkin_ws_wmr的工作空间下, 该行命令可以改为add_dependencies(talker wmrcontrol_generate_messages_cpp)add_executable(listener src/listener.cpp)/对于listener文件target_link_libraries(listener $catkin_LIBRARIES)add_dependencies(listener beginner_tutori

27、als_generate_messages_cpp)/若是在catkin_ws_wmr的工作空间下, 该行命令可以改为add_dependencies(listener wmrcontrol_generate_messages_cpp)b) 在工作空间目录下, 输入命令$ catkin_make. 该过程使用了CMakeList.txt. 生成的结果为在:devel/lib/beginner_tutorials下有talker与listener节点(可执行文件). 并有提示:100% Built target talker;100% Built target listener1.1.13 cc

28、 Examining the Simple Publisher and Subscriber1. 打开ros服务:roscore2. 运行talkera. 另开一个terminal,进入$ cd /catkin_ws, b. 再执行命令$ source ./devel/setup.bash . 该命令等效于 source /catkin_ws(工作空间名)/devel/setup.bash?。该命令很快即执行完毕c. $ rosrun beginner_tutorials(包的名称) talker : 运行Publisher. (不需要在工作空间目录下) 之后会看到如下类似消息: INFO W

29、allTime: 1314931831.774057 hello world 1314931831.77. 3. 运行listenera. 进入$ cd /catkin_ws, b. 再执行命令$ source ./devel/setup.bash c. $ rosrun beginner_tutorials(包的名称) listener : 运行Subscriber. (不需要在工作空间目录下) 之后会看到如下类似消息:INFO WallTime: 1314931969.258941 /listener_17657_1314931968795I heard hello world 13149

30、31969.261.1.14 cc Writing a Simple Service and Client (C+) 需要在1.1.10 Creating a ROS msg and srv的基础上来编写, 因为需要加入头文件#include beginner_tutorials/AddTwoInts.h1. 写一个服务器节点: 进入文件夹cd /catkin_ws/src/beginner_tutorials, 编写src/add_two_ints_server.cpp 2. 写一个客户端节点: 进入文件夹cd /catkin_ws/src/beginner_tutorials编写src/a

31、dd_two_ints_client.cpp 3. Build节点a) 在/catkin_ws/src/beginner_tutorials/CMakeLists.txt中加入如下几行: /把之前生成talker与listener的相关部分注释掉add_executable(add_two_ints_server src/add_two_ints_server.cpp)/编译成可执行文件target_link_libraries(add_two_ints_server $catkin_LIBRARIES)/添加动态链接库add_dependencies(add_two_ints_server

32、beginner_tutorials_gencpp)/包的名+gencpp?add_executable(add_two_ints_client src/add_two_ints_client.cpp)/clienttarget_link_libraries(add_two_ints_client $catkin_LIBRARIES)add_dependencies(add_two_ints_client beginner_tutorials_gencpp)b) 再进行: cd /catkin_ws - catkin_make : 结果是在devel/lib/beginner_tutorial

33、s下生成了两个可执行文件1.1.16 cc Examining the Simple Service and Client1. 打开ros服务:roscore2. 运行服务器端:a) 还需要再进入$ cd /catkin_ws, 再执行命令$ source ./devel/setup.bash b) 运行add_two_ints_server :输入$ rosrun beginner_tutorials add_two_ints_server. 之后会看到如下类似消息: INFO 1394710514.388776396: Ready to add two ints 3. 运行客户端a) 还需

34、要再进入$ cd /catkin_ws, 再执行命令$ source ./devel/setup.bash b) 运行add_two_ints_server :输入$ rosrun beginner_tutorials add_two_ints_client 1 3. 之后会看到如下类似消息: INFO 1394710671.682839350: Sum: 4. 在客户端terminal中可以看到信息 INFO 1394710671.682255841: request: x=1, y=3; INFO 1394710671.682339580: sending back response: 4

35、进一步的服务器客户端例程: 1.1.17 Recording and playing back data? /ROS/Tutorials/Recording%20and%20playing%20back%20data P3-AT/DXROSARIA配置与运行网站主页 /ROSARIA How to use ROSARIA:/ROSARIA/Tutorials/How%20to%20use%20ROSARIA 1.2创建ROS工作空间之前若没有加入启动命令. /opt/ros/hydro/

36、setup.bash的话, 则加入. 为了创建一个关于ROSARIA的工作空间, 将学习ROS基础阶段的catkin_ws文件夹重命名为catkin_ws_Base, 再新建一个工作空间catkin_ws:mkdir -p /catkin_ws/srccd /catkin_ws/srccatkin_init_workspace/cd /catkin_wscatkin_make/build /这后几步是需要做的,因为在1。4中要运行devel/setup。dash1.3下载ROSARIA到该工作空间中. 首先进入src文件夹, 之后运行命令git clone /这次使用github网站就没有问题

37、, 结果是在src文件夹下得到了rosaria包. 包中包含RosAria.cpp文件 在安装ARIA后再下载该包应该也可以?1.4 安装ARIA以及Build ROSARIA1. source /catkin_ws/devel/setup.basha) /在当前bash环境下执行文件/catkin_ws/devel/setup.bash中的命令. b) 或者把这项添加到.bashrc文件中再执行.bashrc文件:echo source /catkin_ws/devel/setup.bash /.bashrc - source /.bashrc2. 得到包之后, 编译它们:a) rosdep

38、 update/更新b) rosdep install rosaria/运行完提示ARIA has been installed in /usr/local/Aria,installation successful, 再等会,就有 All required rosdeps installed successfullyi. 这个应该与1.3中的rosaria包没有关系, 应该是从ROS网站上安装rosariaii. 看看是不是安装在了/usr/local/Aria中?iii. 重装系统后再次安装时,出现问题:apt: command sudo apt-get install checkinsta

39、ll failed。 运行sudo apt-get update时出现问题Some index files failed to download. They have been ignored, or old ones used instead. 解决方法:sudo rm /var/lib/apt/lists/* -vf 删除相应文件c) catkin_make/与上次的catkin_make显示出不同的结果;/该命令要在该工作空间中/i. 对于包来讲, 名称不区分大小写, 比如当有两个包rosaria与ROSARIA时, 会有如下提示:Multiple packages found with

40、 the same name rosaria:- rosaria- ROSARIA”ii. 当在catkin_ws文件夹下使用命令catkin_make时, 会用到文件src/rosaria/CMakeList.txtiii. 是这一步在devel/lib下生成了rosaria可执行文件?关于CMakeList.txt文件(不用改):add_executable(RosAria RosAria.cpp)add_dependencies(RosAria rosaria_gencfg)add_dependencies(RosAria rosaria_gencpp)target_link_libra

41、ries(RosAria $catkin_LIBRARIES $Boost_LIBRARIES Aria pthread dl rt)set_target_properties(RosAria PROPERTIES COMPILE_FLAGS -fPIC)generate_messages( DEPENDENCIES geometry_msgs std_msgs)/要包括geometry_msgs1.5 运行roscore: 运行roscore1.6 运行RosAria节点1. source /RosAria/devel/setup.bash. 若不在第一步运行该命令,则会报错rospack

42、Error: stack/package rosaria not found2. 运行启动该节点的命令: rosrun rosaria RosAriaa) 不需要到catkin_ws文件夹下. b) 命令rosrun 允许直接运行一个包里面的节点(可执行程序): rosrun package_name node_name.c) 节点的位置为catkin_wsdevellibrosariaRosAria3. (从运行下面4可知不需要这一步)设置网络地址export ROS_IP=77. 4. 配置好USB转串口后就可以连接了, 连接成功时输出的提示信息为(退出连接的话,

43、直接Ctrl+C就可以了.): INFO 1394765069.684460124: RosAria: using port: /dev/ttyUSB0Could not connect to simulator, connecting to robot through serial port /dev/ttyUSB0.Syncing 0Syncing 1Syncing 2Connected to robot.Name: RoboticsWorld_4129Type: PioneerSubtype: p3at-shArConfig: Config version: 2.0Loaded robo

44、t parameters from p3at-sh.pArRobotConnector: Connecting to MTX batteries (if neccesary).ArRobotConnector: Connecting to MTX sonar (if neccesary). INFO 1394765070.477106453: Setting TicksMM from robot EEPROM: 138 INFO 1394765070.480042783: Setting DriftFactor from robot EEPROM: 0 INFO 1394765070.4832

45、54729: Setting RevCount from robot EEPROM: 32550 INFO 1394765070.526489547: RosAria: publishing new recharge state 0. INFO 1394765070.526596408: RosAria: publishing new motors state 0. INFO 1394765072.184292718: RosAria: publishing new motors state 1.说明:1. 一问题的解决:在运行后面连接Android时, 再回头运行此命令, 则就去src/ro

46、saria找该可执行文件了, 因此从路径上就错了, 不知是那一步影响了该命令的执行. 不过用1.4中的catkin_make命令重新编译一下就又能正常连接了. 2. 若USB转串口没有配置好, 则会出现下方的错误提示, 配置方法请见下方的USB转串口配置. INFO 1394760211.482514856: RosAria: using port: /dev/ttyUSB0/这说明使用的COM编号为ttyUSB0Could not connect to simulator, connecting to robot through serial port /dev/ttyUSB0.ArSeri

47、alConnection:open: Could not open serial port /dev/ttyUSB0 | ErrorFromOSNum: 2 ErrorFromOSString: No such file or directoryCould not connect, because open on the device connection failed.Failed to connect to robot.ERROR 1394760211.511075792: RosAria: ARIA could not connect to robot! (Check port para

48、meter is correct, and permissions on port device.)FATAL 1394760211.511173101: RosAria: ROS node setup failed. 1.9 Topics and Commands1. 获得姿态: rostopic echo /RosAria/pose / 可以在另一terminal的根命令a) /RosAria/pose为Topic名称b) .echo 应该是请求输出的命令c) 运行结果:2. 线速度控制量的设置(0.1m/s):rostopic pub -1 /RosAria/cmd_vel geomet

49、ry_msgs/Twist linear: x: 0.1, y: 0.0, z: 0.0, angular: x: 0.0, y: 0.0, z: 0.0a) /RosAria/cmd_vel 指话题名字 Topic, 不能是/cmd_vel 或者cmd_velb) geometry_msgs/Twist 为数据类型 Messagec) linear: x: 0.1, y: 0.0, z: 0.0, angular: x: 0.0, y: 0.0, z: 0.0 合成一个消息d) 运行结果:机器人做相应运动并提升publishing and latching message for 3.0 s

50、econds。以及 INFO 1395025704.461141760: new speed: 100.00,-0.30(1395025704.461)3. 角速度控制量的设置(0.1rad/s?):rostopic pub -1 /RosAria/cmd_vel geometry_msgs/Twist linear: x: 0.1, y: 0.0, z: 0.0, angular: x: 0.0, y: 0.0, z: 0.14. 也可以把2,3合成起来. 5. 其他的? sonar, bumpers, acceleration parameters?如何用?更多ROS API请见:http

51、://ROSARIA ROSARIA键盘控制:1. mkdir -p /RosAriaKeyboard/src2. 创建包catkin_create_pkg RosAriaKeyboard std_msgs rospy roscpp编写程序:3. 编写rosaria_teleop_key.cpp文件在CMakeList.txt文件夹下加入如下几行命令(Bluks给我的程序是用rosbuild编译方法。需要做相应借鉴并修改)1.find_package(PkgConfig REQUIRED)/若无此 ncurses相关编译命令, 会报错 initscr未定义pkg_che

52、ck_modules ( ncurses+ REQUIRED ncurses+)/ncurses相关add_executable(rosaria_teleop_key src/rosaria_teleop_key.cpp)target_link_libraries(rosaria_teleop_key $catkin_LIBRARIES)target_link_libraries(rosaria_teleop_key $ncurses+_LIBRARIES)/ncurses相关add_dependencies(rosaria_teleop_key wmrcontrol_generate_mes

53、sages_cpp)3. 运行命令catkin_make: 结果是在devel/lib/wmrcontrol下生成了一个rosaria_teleop_key的可执行文件4. 执行该节点a). 进入工作空间文件夹 cd /catkin_ws_wmrb). 执行命令 $ source devel/setup.bashc). 运行节点:$rosrun RosAriaKeyboard rosaria_teleop_key。需要进入工作空间文件夹, 因为在前一步要执行 $ source devel/setup.bashROSARIA程序控制方式:与键盘控制大致相同, 执行节点时注意运行下面的命令$ 为避

54、免混乱,1. 新建工程mkdir -p /RosAriaCode/src2. 创建包: catkin_create_pkg RosAriaCode std_msgs rospy roscpp3. 处理CMakeListadd_executable(rosaria_teleop_code src/rosaria_teleop_code.cpp)target_link_libraries(rosaria_teleop_code $catkin_LIBRARIES)add_dependencies(rosaria_teleop_code RosAriaCode_generate_messages_cpp)4. catkin_make一下。5. 执

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论