[Embodied AI] Mac上安装ROS2

安装mamba包管理

bash 复制代码
conda install mamba -c conda-forge

创建虚拟环境

bash 复制代码
conda create -n ros2_py310 python=3.10
conda activate ros2_py310
conda config --env --add channels conda-forge
conda config --env --add channels robostack-staging
conda config --env --remove channels defaults

安装ros2

bash 复制代码
conda install ros-humble-desktop-full
conda install compilers cmake pkg-config make ninja colcon-common-extensions catkin_tools rosdep

测试安装结果

在命令行中运行可视化环境, 注意需要在ros2_py310激活时运行.

bash 复制代码
rviz2

测试ros2节点通讯

分别打开两个终端来测试ros2的通讯.一个运行发布节点,一个运行订阅节点.

发布

bash 复制代码
conda activate ros2_py310 
ros2 run demo_nodes_cpp talker

运行后,终端不断打印

bash 复制代码
[INFO] [1766329302.361840189] [talker]: Publishing: 'Hello World: 1'
[INFO] [1766329303.361709175] [talker]: Publishing: 'Hello World: 2'

订阅

bash 复制代码
conda activate ros2_py310
ros2 run demo_nodes_cpp listener

运行后,终端会收到发布的信息.

如果想测试py节点,可以使用demo_nodes_py

可以使用ros2 node list, ros2 topic list, ros2 service list查看运行情况. 当这些命令发生问题时,可能是ros2的daemon没有启动. 可以尝试重启,如果重启后仍没解决,可以重启mac.

bash 复制代码
ros2 daemon status
ros2 deamon stop
ros2 daemon start

在我的例子中,第一次安装ros2后, rviz2和talker都可以正常运行,但是listner 和topic,node检查运行后没有反应.

用ros2 node list等都没有反应,重启后发现daemon没有运行.手动运行后 ros2 node list, ros2 topic list都不卡死.

运行talker和listner后, node依然为空,topic也没有发生变化

如果在问题,可以尝试调整log等级查看问题.

ros2 run demo_nodes_cpp listener --ros-args --log-level debug

相关推荐
tedcloud12339 分钟前
OpenShip 部署指南:开源 AI 应用快速启动模板 Linux 搭建实践
linux·运维·服务器·人工智能·开源
chaojihaomai4 小时前
AI电商商品图生成中的材质保真问题——扩散模型重建优先级分析与锁定式方案
人工智能·材质
大模型探索者6 小时前
2026 企业智能体平台选型指南:从通用到行业深耕,怎么选?
大数据·人工智能
深圳行云创新6 小时前
北极星知识图谱平台|太空越来越“拥挤”,知识图谱如何预测空间碎片碰撞风险?
人工智能·知识图谱
Am-Chestnuts6 小时前
国产AI多轮对话归档与多格式导出实践
人工智能·word
workflower7 小时前
装备企业的 AI 路线图
人工智能·深度学习·机器学习·设计模式·机器人
AKAMAI7 小时前
Linode接口及默认防火墙现已全面开放使用
人工智能·云计算
前端开发江鸟8 小时前
RAG 回答错了,问题到底出在召回、重排,还是生成?
人工智能
美狐美颜SDK开放平台8 小时前
直播app开发如何实现主播级美颜效果?美颜sdk开发方案详解
人工智能·音视频·美颜sdk·视频美颜sdk·美颜api
东方小月8 小时前
从零开发一个 Coding Agent(四):使用状态机校验大模型事件流
前端·人工智能·后端