[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

相关推荐
IT·小灰灰12 小时前
30行PHP,利用硅基流动API,网页客服瞬间上线
开发语言·人工智能·aigc·php
新缸中之脑13 小时前
编码代理的未来
人工智能
Anarkh_Lee13 小时前
【小白也能实现智能问数智能体】使用开源的universal-db-mcp在coze中实现问数 AskDB智能体
数据库·人工智能·ai·开源·ai编程
John_ToDebug13 小时前
2026年展望:在技术涌现时代构筑确定性
人工智能·程序人生
AndyHeee13 小时前
【windows使用TensorFlow,GPU无法识别问题汇总,含TensorFlow完整安装过程】
人工智能·windows·tensorflow
jay神14 小时前
基于YOLOv8的木材表面缺陷检测系统
人工智能·深度学习·yolo·计算机视觉·毕业设计
交通上的硅基思维14 小时前
人工智能安全:风险、机制与治理框架研究
人工智能·安全·百度
老百姓懂点AI14 小时前
[测试工程] 告别“玄学”评测:智能体来了(西南总部)基于AI agent指挥官的自动化Eval框架与AI调度官的回归测试
运维·人工智能·自动化
2501_9481201514 小时前
基于量化感知训练的大语言模型压缩方法
人工智能·语言模型·自然语言处理
songyuc14 小时前
【Llava】load_pretrained_model() 说明
人工智能·深度学习