-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathROS笔记-10 ros on RaspberryPi.txt
executable file
·157 lines (127 loc) · 4.69 KB
/
ROS笔记-10 ros on RaspberryPi.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
how to install? follow here:
http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Indigo%20on%20Raspberry%20Pi
1. 采用 Raspbian Jessie(通过命令 hostnamectl 查看)
2. sudo apt-get update
sudo apt-get upgrade 依赖网速
3. 使用wstool 安装ROS-Comm (包括ROS package, build, and communication libraries. No GUI tools)
$ rosinstall_generator ros_comm --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-ros_comm-wet.rosinstall
$ wstool init src indigo-ros_comm-wet.rosinstall
建议随手安装 robot 版本
$ rosinstall_generator robot --rosdistro indigo --deps --wet-only --tar > indigo-robot-wet.rosinstall
$ wstool init src indigo-robot-wet.rosinstall
4. 解决 rosdep 依赖
$ cd ~/ros_catkin_ws
$ rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:jessie
5. 接下来是耗人的构建 建议使用-j2两核,不然会卡死
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo -j2
6. 安装新package
$ cd ~/ros_catkin_ws
$ rosinstall_generator ros_comm urg_node --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-custom_ros.rosinstall
使用 wstool 更新
$ wstool merge -t src indigo-custom_ros.rosinstall
$ wstool update -t src
更新 rosdep 依赖
$ rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:jessie
构建,之前的似乎会跳过安装,不过还是会make的
$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo
可以使用参数(--install之前)
# "List of ';' separated packages to build"
$ catkin_make -DCATKIN_BLACKLIST_PACKAGES="foo;bar"
sudo ./src/catkin/bin/catkin_make_isolated --install -DCATKIN_BLACKLIST_PACKAGES="pcl_conversions;pcl_msgs;pcl_ros" -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo
$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCATKIN_BLACKLIST_PACKAGES="catkin;genmsg" -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo
或者
$ sudo ./src/catkin/bin/catkin_make_isolated --pkg urg_node <other package name> --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo
!! 如何安装laser_scan_matcher
参考-1: http://answers.ros.org/question/197658/errors-at-catkin_make-for-laser_scan_matcher/
pcl_conversions
pcl_msgs
perception_pcl/pcl_ros
$ cd ~/ros_catkin_ws
$ rosinstall_generator ros_comm pcl_ros --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-custom_ros.rosinstall
$ wstool merge -t src indigo-custom_ros.rosinstall
$ wstool update -t src
$ rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:jessie
!!只能使用=j1参数,否则会出现编译内存错误!!
sudo ./src/catkin/bin/catkin_make_isolated --pkg pcl_conversions pcl_msgs pcl_ros --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo -j1
参考-2: http://answers.ros.org/question/229788/how-to-building-pcl-laser_scan_matcher-on-raspberry-pi-2/
$ git clone https://github.com/AndreaCensi/csm.git (I cloned this into a sub directory of scan_tools)
$ ./install_quickstart.sh
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/durant35/Workspace/ROS_ws/src/csm/sm/pkg-config
$ cp -r /home/durant35/Workspace/ROS_ws/src/csm/deploy/include/* /home/durant35/Workspace/ROS_ws/src/laser_scan_matcher/include
// catkin_make [make_targets]
$ catkin_make laser_scan_matcher
~~ traversing 74 packages in topological order: 70 + urg_node + pcl_conversions pcl_msgs pcl_ros
~~ - catkin
~~ - genmsg
~~ - gencpp
~~ - genlisp
~~ - genpy
~~ - angles
~~ - cmake_modules
~~ - class_loader
~~ - cpp_common
~~ - message_generation
~~ - message_runtime
~~ - mk
~~ - ros
~~ - ros_comm
~~ - rosbash
~~ - rosboost_cfg
~~ - rosbuild
~~ - rosclean
~~ - roscpp_traits
~~ - roscreate
~~ - rosgraph
~~ - roslang
~~ - rosmake
~~ - rosmaster
~~ - rosmsg
~~ - rospack
~~ - roslib
~~ - rosparam
~~ - rospy
~~ - rosservice
~~ - rostime
~~ - roscpp_serialization
~~ - roslaunch
~~ - rosunit
~~ - rosconsole
~~ - pluginlib
~~ - roslz4
~~ - rosbag_storage
~~ - rostest
~~ - smclib
~~ - std_msgs
~~ - actionlib_msgs
~~ - bond
~~ - diagnostic_msgs
~~ - geometry_msgs
~~ - rosgraph_msgs
~~ - sensor_msgs
~~ - pcl_msgs
~~ - std_srvs
~~ - tf2_msgs
~~ - tf2
~~ - urg_c
~~ - xmlrpcpp
~~ - roscpp
~~ - bondcpp
~~ - nodelet
~~ - laser_proc
~~ - pcl_conversions
~~ - rosout
~~ - diagnostic_updater
~~ - dynamic_reconfigure
~~ - message_filters
~~ - rosnode
~~ - rostopic
~~ - roswtf
~~ - tf2_py
~~ - topic_tools
~~ - rosbag
~~ - actionlib
~~ - nodelet_topic_tools
~~ - tf2_ros
~~ - tf
~~ - pcl_ros
~~ - urg_node