ROS机器人程序设计(原书第2版)补充资料 (零) 源代码、资料和印刷错误修订等 2017年02月22日更新

ROS机器人程序设计(原书第2版)补充资料 (零) 源代码等

ROS官网|易科|虞坤林|古月居|ROSClub|创客智造


ROS机器人操作系统在线练习课程正在逐步完善中,目前以ROS官网中文资料制作,

可参考:https://www.shiyanlou.com/courses/854  邀请码 U23ERF8H

书中,大部分出现hydro的地方,直接替换为indigojadekinetic,即可在对应版本中使用。

kinetic:https://github.com/rosbook/effective_robotics_programming_with_ros

kinetic版本章节顺序有所调整。

在文末更新kinetic版本说明。补充说明以indigo为主,但教案幻灯片等以kinetic制作,

Ubuntu 14.04 + ROS indigo镜像已经发布,Ubuntu 16.04 + ROS kinetic纯净版镜像,如下:

http://blog.csdn.net/zhangrelay/article/details/54632130

稍后会补充,各章节针对indigo版本和kinetic版本的修正说明,方便读者阅读。

完整系统的学习ROS请不要忽略官网或书中的一些细节,非常重要。

如果长期使用Ubuntu和ROS,推荐LTS版本。

如果之前没有接触过Linux,推荐鸟哥的Linux私房菜,下面给出繁体中文和简体中文网址:

繁体:http://linux.vbird.org/    简体:http://cn.linux.vbird.org/

新版学习配套镜像已经发布,详情请参考,U盘启动Live CD无需安装即可体验Ubuntu+ROS: 

ROS机器人程序设计(原书第2版)学习镜像分享及使用说明

http://blog.csdn.net/zhangrelay/article/details/53324759

可以选用的完整镜像参考:http://blog.csdn.net/zhangrelay/article/details/50176685

用户名:relaybot;密码:cslg。

已经预装ROS indigo,U盘体验ROS或安装完使用,书中全部案例。如果需要了解ROS的实时性,请点击下载


hydro indigo jade kinetic 

    

 

书中部分已经发现的印刷错误修订

ROS机器人程序设计(原书第2版)部分内容修订

35页:最下面命令改为:rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[1.0, 0.0, 0.0]' '[0.0, 0.0, 1.0]'

             删去 float32 angular

41页:最后可以使用--pkg参数

47页:example1_a.cpp改为example3_a.cpp和example1_b.cpp改为example3_b.cpp

50页:加入cd cfg

51页:添加参数那只有4个,少了个 gen.add("size", int_t, 0, "Select from the list", 1, 0, 3, edit_method=size_enum)

60页:第1行,删去$

93页:第6行,float64 y 前面加一个空格

223页:中间创建主题:下面程序不用换行,(”scan”, 50

261页:最后10行,顺序错乱:

            在你的CMakeList.txt添加***

            add_executable(**)

            target_link_libraries(**)

            现在,使用下面命令编译功能包:

            $ catkin_make

           下一步就是使用启动文件**

            $ roslaunch chapter9 ***

            $ roslaunch ***

            $ rosrun ***

196页:参考留言,书本是按原文原版翻译的。

 非常感谢陈鹏飞等对书中错误的告知。


前言部分内容补充:

第X页:

源码下载:

全部:https://github.com/AaronMR

本书源码:https://github.com/AaronMR/Learning_ROS_for_Robotics_Programming_2nd_edition

目前,支持ROS hydroindigojade三个版本。

Learning ROS for Robotics Programming Book repository - 2nd, 3rd edition - ROS hydro, indigo, jade, kinetic

推荐机器人官方turtlebot1、2、3,SparkX等。

  

优酷主页:i.youku.com/zhangrelay

已开设专栏介绍(持续更新):

ROS Indigo:http://blog.csdn.net/column/details/13335.html

ROS Kinetic:http://blog.csdn.net/column/details/13113.html


原版使用说明:

ROS机器人程序设计(原书第2版)

Learning ROS for Robotics Programming - Second Edition book tutorials source code.

Authors 作者

Installation 安装:请依据ROS版本进行选择

Install ROS Indigo on a compatible Ubuntu distro following the official instructions provided here.

For ROS Hydro use the hydro-devel branch.

For ROS Jade use the jade-devel branch.

安装OpenCV的非自由库:

sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
sudo apt-get install libopencv-nonfree-dev libopencv-nonfree2.4

创建工作区:

mkdir -p ~/dev/catkin_ws/src
cd ~/dev/catkin_ws/src
wstool init

下载此资料库:

wstool set ros_book --git git@github.com:AaronMR/Learning_ROS_for_Robotics_Programming_2nd_edition.git
wstool up -j8

安装依存关系:

cd ..
rosdep install --from-paths src -iy

编译源代码(或者,您可以使用catkin build替代catkin_make):

source /opt/ros/$(rosversion -d)/setup.bash
catkin_make -j4
source devel/setup.bash

Tutorials 教程

  • Chapter 1: Getting started with ROS (no source code as it covers the installation)
  • 第一章 ROS系统入门
  • Chapter 2: ROS Architecture and Concepts
  • 第二章 ROS系统架构及概念
  • Chapter 3: Visualization and Debug Tools
  • 第三章 可视化和调试工具
  • Chapter 4: Using Sensors and Actuators with ROS
  • 第四章 在ROS中使用传感器和执行器
  • Chapter 5: Computer Vision
  • 第五章 计算机视觉
  • Chapter 6: Point Clouds
  • 第六章 点云
  • Chapter 7: 3D Modeling and Simulation
  • 第七章 三维建模与仿真
  • Chapter 8: The Navigation Stack - Robot Setup
  • 第八章 导航综合功能包入门
  • Chapter 9: The Navigation Stack - Beyond the Setup
  • 第九章 导航综合功能包进阶
  • Chapter 10: Manipulation with MoveIt!
  • 第十章 使用MoveIt!


- Kinetic -

Installation

Install ROS Kinetic on a compatible Ubuntu distro following the official instructions provided here.

Install the OpenCV non-free repository:

sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
sudo apt-get install libopencv-nonfree-dev libopencv-nonfree2.4v5

Create a workspace:

mkdir -p ~/dev/catkin_ws/src
cd ~/dev/catkin_ws/src
wstool init

Download this repository:

wstool set ros_book --git git@github.com:rosbook/effective_robotics_programming_with_ros.git
wstool up -j8

Install the dependencies:

cd ..
rosdep install --from-paths src -iy

Build the source code (alternatively, you can use catkin build instead of catkin_make):

source /opt/ros/$(rosversion -d)/setup.bash
catkin_make -j4
source devel/setup.bash

Tutorials

  • Chapter 1: Getting started with ROS (no source code as it covers the installation)
  • Chapter 2: ROS Architecture and Concepts
  • Chapter 3: Visualization and Debugging Tools
  • Chapter 4: 3D Modeling and Simulation
  • Chapter 5: The Navigation Stack - Robot Setups
  • Chapter 6: The Navigation Stack - Beyond Setups
  • Chapter 7: Manipulation with MoveIt!
  • Chapter 8: Using Sensors and Actuators with ROS
  • Chapter 9: Computer Vision
  • Chapter 10: Point Clouds


发布了460 篇原创文章 · 获赞 1207 · 访问量 207万+
展开阅读全文

请教一个ROS编写发布者程序的问题

11-30

按照机器人操作系统浅析中发布者程序编写的步骤 到最后一步catkin时候一直报错报错如下: [ 50%] Built target hello [ 75%] Building CXX object agitr/CMakeFiles/pubvel.dir/pubvel.cpp.o /home/lucky/ros/src/agitr/pubvel.cpp:12:3: error: stray ‘\342’ in program msg.angular.z=2*double(rand())/double(RAND_MAX)−1; ^ /home/lucky/ros/src/agitr/pubvel.cpp:12:3: error: stray ‘\210’ in program /home/lucky/ros/src/agitr/pubvel.cpp:12:3: error: stray ‘\222’ in program /home/lucky/ros/src/agitr/pubvel.cpp: In function ‘int main(int, char**)’: /home/lucky/ros/src/agitr/pubvel.cpp:12:53: error: expected ‘;’ before numeric constant msg.angular.z=2*double(rand())/double(RAND_MAX)−1; ^ agitr/CMakeFiles/pubvel.dir/build.make:62: recipe for target 'agitr/CMakeFiles/pubvel.dir/pubvel.cpp.o' failed make[2]: *** [agitr/CMakeFiles/pubvel.dir/pubvel.cpp.o] Error 1 CMakeFiles/Makefile2:963: recipe for target 'agitr/CMakeFiles/pubvel.dir/all' failed make[1]: *** [agitr/CMakeFiles/pubvel.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j1 -l1" failed pubvel 文件为 #include <ros/ros.h> #include <geometry_msgs/Twist.h> #include <stdlib.h> int main (int argc,char **argv) { ros::init(argc,argv,"publish_velocity") ; ros::NodeHandle nh ; ros::Publisher pub=nh.advertise<geometry_msgs::Twist>("turtle1/cmd_vel",1000); srand(time(0)); ros::Rate rate(2); while(ros::ok()){ geometry_msgs::Twist msg; msg.linear.x = double (rand ( ) ) / double(RAND_MAX); msg.angular.z=2*double(rand())/double(RAND_MAX)−1; pub.publish(msg); ROS_INFO_STREAM("Sending random velocity command:"<<"linear="<<msg.linear.x<<"angular="<<msg.angular.z); rate.sleep(); } } 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie

分享到微信朋友圈

×

扫一扫,手机浏览