ros2-viser¶
基于 Viser 的 ROS 2 三维可视化库。从 fa-py-libraries 启动,不是独立产品入口,也不是从 lerobot_ros2 启动。
README: README.md
用途¶
从
/robot_description订阅机器人 URDF在 Viser 三维视图中显示关节状态
可选的 FSM 与夹爪面板
所有 ROS 2 输入输出都走
ros2_robot_interface(可视化器会创建内部ROS2RobotInterface)
主启动方式(fa-py-libraries)¶
这是受支持的操作路径:
git clone https://github.com/fiveages-sim/fa-py-libraries.git
cd fa-py-libraries
./init.sh all # Python 3.12 env; installs ros2-viser among other submodules
./run.sh viser
./run.sh 不带参数会打开菜单;第 1 项是 ros2-viser launch。见 fa-py-libraries。
lerobot_ros2 / robot_action_composer 可能列出 PyPI extra viser>=0.2 用于抓取生成 UI。那是库依赖,不是 ros2-viser 启动器。
库安装(开发该软件包时)¶
在 ros2_viser 源码树里开发时(来自 README):
cd ros2_viser
pip install -e .
需要 ros2-robot-interface。不要把随便一个虚拟环境里的 pip install ros2-viser 当成技术栈主入口。
嵌入(README API)¶
下列类名与软件包 README 一致(ROS2ViserVisualizer / ROS2ViserConfig)。本仓库没有 ViserVisualizer 类。
from ros2_viser import ROS2ViserVisualizer, ROS2ViserConfig
import time
config = ROS2ViserConfig(
robot_description_topic="/robot_description",
joint_states_topic="/joint_states",
root_node_name="/robot",
update_rate=30.0,
)
visualizer = ROS2ViserVisualizer(config)
visualizer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
visualizer.stop()
README 中的配置字段:robot_description_topic、joint_states_topic、root_node_name、update_rate、auto_connect、enable_fsm_panel、enable_gripper_panel。
需要正在发布 /robot_description 与 /joint_states。关节名必须与 URDF 一致。