赞
踩
macOS配置ROS与ros读取等
(base) zhixiao@Office-Mac ~ % conda list
(base) zhixiao@Office-Mac ~ % conda create -n ROS python=3.8
(base) zhixiao@Office-Mac ~ % conda activate ROS
(ROS) zhixiao@Office-Mac ~ % conda config --add channels conda-forge
(ROS) zhixiao@Office-Mac ~ % conda config --add channels robostack
(ROS) zhixiao@Office-Mac ~ % conda config --set channel_priority strict
(ROS) zhixiao@Office-Mac ~ % conda install ros-noetic-desktop-full
(ROS) zhixiao@Office-Mac ~ % conda install compilers cmake pkg-config make ninja catkin_tools
…此处省略很多
之后可以随意进出ros:查看ros的版本: rosversion -d
查看路径:echo $ROS_PACKAGE_PATH
——————————————————————————————————————
检查是否有pcl
brew list | grep pcl
之后运行里一下(ros) zhixiao@Office-Mac 4_ROS % roscore
但貌似没啥用。。
以下重点,使用清华镜像源安装homebrew
请先回到base环境
(base) zhixiao@Office-Mac 4_ROS % xcode-select --install
(base) zhixiao@Office-Mac 4_ROS % export HOMEBREW_INSTALL_FROM_API=1
export HOMEBREW_API_DOMAIN=“https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api”
export HOMEBREW_BOTTLE_DOMAIN=“https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles”
export HOMEBREW_BREW_GIT_REMOTE=“https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git”
export HOMEBREW_CORE_GIT_REMOTE=“https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git”
清华镜像站截图:
接着会有next step的指示,直接复制操作即可
再之后,使用下面的几行命令自动设置“替换现有仓库上游”
export HOMEBREW_CORE_GIT_REMOTE=“https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git”
for tap in core cask{,-fonts,-versions} command-not-found services; do
brew tap --custom-remote --force-auto-update “homebrew/
t
a
p
"
"
h
t
t
p
s
:
/
/
m
i
r
r
o
r
s
.
t
u
n
a
.
t
s
i
n
g
h
u
a
.
e
d
u
.
c
n
/
g
i
t
/
h
o
m
e
b
r
e
w
/
h
o
m
e
b
r
e
w
−
{tap}" "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-
tap""https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew−{tap}.git”
done
brew update
之后大功告成!
——————————————————————————————————————————————————
接下来搞点其他的:
(base) zhixiao@Office-Mac 4_ROS % brew list | grep pcl
(base) zhixiao@Office-Mac 4_ROS % brew install pcl
会安装巨多的依赖
(base) zhixiao@Office-Mac 4_ROS % brew list | grep pcl
从rosbag中提取点云的两种方式:
(一) pointcloud_to_pcd / 即三端联动的提取点云数据方式:
1 在一个终端,打开roscore指令
(base) zhixiao@Office-Mac ~ % conda activate ros
(ros) zhixiao@Office-Mac ~ % roscore
2 在另一个终端进入ros,play rosbag了
rosbag play UrbanNav-HK_TST-20210517_sensors.bag
3 在第三个终端,使用以下指令,直接提取点云数据:
模版:rosrun pcl_ros pointcloud_to_pcd input:=/velodyne_points _prefix:=/path/to/save/your_pcd_files
真实:rosrun pcl_ros pointcloud_to_pcd input:=/velodyne_points 后面的用来保存到具体的文件。
但这个方法存在缺陷:当play提前停止,提取的terminal也会跟着停止,导致不能完整提取。
可以使用另一种方式:
(二) bag_to_pcd
此处同样需要在另一个terminal中先进入ros环境,再执行roscore(否则提取会有网络错误)
之后再:rosrun pcl_ros bag_to_pcd your_bag_file.bag /your_pointcloud_topic ./pcd_output_directory
实际执行的时候,进入到.bag文件的位置,接着运行以下
rosrun pcl_ros bag_to_pcd UrbanNav-HK_TST-20210517_sensors.bag /velodyne_points ./
语句中的./表达我不搞什么位置,直接就在本文件夹位置生成!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。