文件最后提交记录最后更新时间
feat: initial workspace setup for IB_Robot with ROS 2 Humble and Gitlint Signed-off-by: XiaoqiangWu <wuxiaoqiang.rtos@huawei.com> 3 个月前
inference_service: support RKNN distributed runtime Support RKNN artifacts in the distributed inference flow so the board runtime can load .rknn models while keeping LeRobot checkpoint metadata for edge-side preprocessing and postprocessing. Align the live dispatcher defaults, board packaging, launch docs, and reliable controller command QoS with the measured RKNN deployment path. Defer optional backend imports so RKNN and CPU paths remain importable and testable without Ascend runtime packages installed. Signed-off-by: XiaoqiangWu <wuxiaoqiang.rtos@huawei.com> 23 天前
setup: remove virtual-fs dependencies and tighten openEuler GPG policy - Remove redundant '1>/dev/stdout' redirection from _lerobot_resolve_active() in lerobot_patches.sh. The redirection relies on /dev/stdout resolving to the command-substitution pipe, which fails in minimal containers where /dev/stdout is absent or points to the controlling tty. This caused stdout to escape the capture, leaving LEROBOT_DIR unbound under 'set -u', which produced 'LEROBOT_DIR: unbound variable' at line 334. The simpler '2>&1' correctly captures both streams. - Remove 'dnf config-manager --setopt=extras.gpgcheck=0' from openeuler-embedded-24.03.sh. The GPG key is already imported by ensure_openeuler_gpg_key(), so there is no reason to weaken the security policy for the extras repo. Signed-off-by: XiaoqiangWu <wuxiaoqiang.rtos@huawei.com> 3 天前
setup: converge tracing dependency flow Restore the platform-aware setup flow and move tracing dependencies back onto rosdepc wherever robot_config can declare them directly. Keep explicit platform installs only for the packages that still lack usable rosdep coverage or repository support in the tested environment. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: XiaoqiangWu <wuxiaoqiang.rtos@huawei.com> 1 个月前
build: make --clean remove stale dirs and skip overlay sourcing When --clean is active, remove install/, build/, log/ BEFORE the build and skip sourcing install/setup.sh so AMENT_PREFIX_PATH only contains /opt/ros/humble. This prevents stale overlay chains (e.g. a previous dev_worktree) from being perpetuated into the newly generated setup.bash. Signed-off-by: XiaoqiangWu <wuxiaoqiang.rtos@huawei.com> 8 天前
camera_isp: add ISP calibration pipeline, GUI calibrator and search Introduce dataset_tools/camera_isp as a new pure-Python subpackage providing the full camera ISP calibration stack used with usb_cam_node, and a single-window cv2 GUI orchestrator that drives it interactively. New source files (no test files, no images, no temporary artifacts): camera_isp/__init__.py - public API surface declaration camera_isp/color_space.py - BGRtoLab, BGRtoXYZ, McCamy Kelvin camera_isp/exposure_units.py - lux/EV/shutter conversion helpers camera_isp/lut.py + lut_data - white-balance Kelvin lookup table camera_isp/build_lut.py - offline LUT rebuild script camera_isp/hw_stages.py - per-parameter V4L2 stage drivers camera_isp/hw_pipeline.py - 4-stage pipeline orchestrator camera_isp/v4l2_ctl.py - v4l2-ctl subprocess wrapper camera_isp/solver.py - least-squares CCM / WB / exposure camera_isp/sw_isp.py - software ISP (diagonal + 3x3 CCM) camera_isp/colorchecker24.py - standard 24-card sRGB ground truth camera_isp/color_search.py - unified K/C/Sat search module color_search.py implements three cost modes for the grid-search driver: (1) 24-card: sum of CIEDE2000 against ColorChecker ground truth (2) AUTO: chroma-weighted Sliced Wasserstein on (a*,b*) distribution, stable across scene-layout changes, no per-eval re-clustering (3) m/ROI: per-patch CIEDE2000 plus global SWD background term to prevent background color drift while honoring user-chosen patches camera_isp_calibrator.py - single-window cv2 GUI orchestrator: - Trackbars, ref/live split view, SW-ISP preview third pane - [a] 4-stage auto pipeline [m] manual ROI drag [c] color search - Live [SEARCH n/N] HUD refreshed per eval; q/Esc cancel with restore - Auto CCM re-solve after color search settles to new K/C/Sat state Robustness and UX fixes folded in: - Stop the GUI thread reverting every K/C/Sat candidate during color search by short-circuiting _maybe_apply_pending whenever the mode is not IDLE; previously only AUTO was guarded so SEARCH n/N let the trackbar seed values overwrite each candidate one frame later. - Chain a hardware K/C/Sat search after the ColorChecker24 wizard so cc24 mode now drives the camera through cost_24card against the X-Rite truth Lab values, mirroring the m-mode REF-pair workflow. - Drop the SW-only third pane in cc24 mode now that the live pane already reflects the corrected hardware output. - Widen the default white-balance search range from +/-600K to +/-1600K (step_K=400, n_K=9) so extreme indoor lighting (warm tungsten through overcast daylight) is reachable in one sweep. - Trim SettleConfig defaults (delay_ms 200->120, n_drop 2->1, n_capture 5->3) for ~40% faster per-eval turnaround now that the fresh-frame gate handles staleness explicitly. - Strip non-ASCII glyphs from cv2 HERSHEY-rendered banners and labels (arrows, em-dashes, Greek letters) so the GUI no longer shows '?'. robot_config: add camera_isp_overrides.py launch builder and wire it into perception.py so ISP parameters load from robot_config SSOT. Update so101_single_arm.yaml with camera ISP parameter defaults. Add scripts/camera_topic_viewer.py for quick camera topic inspection. Signed-off-by: grangerxsp <xingshiping@huawei.com> 27 天前
feat(sim): T6 MuJoCo v2 - replace sim_hardware with apt package Migrate from vendored sim_hardware submodule to the official mujoco_ros2_control apt package (>=0.0.3) for the SO-101 T6 sim. Key changes: - Add so101.xml.template (kp=500 position actuators, YAML-driven cameras) - mujoco_adapter: inject cameras into MJCF worldbody at launch time - description.py: pass mujoco_model path via xacro arg (new upstream API) - Disable URDF sensor injection (apt 0.0.2 compatibility crash) - controller spawner timeout 30s -> 60s for simulation startup - merge packages-ignore into .colcon/defaults.yaml - teleop_node: skip cycle on empty joint targets (was publishing zeros) - setup.sh / install_ros_colcon.sh: rosdep, colcon, SSL fixes from !25 - pick_banana.xml.template: update for new MuJoCo scene API 2 个月前
scripts: refactor setup.sh into modular components Split the monolithic setup.sh into a modular architecture to improve maintainability and testability. Key changes: - Created scripts/setup/ containing discrete modules for submodules, python_venv, rosdep, and environment verification. - Introduced Template Method pattern for platform-specific hooks (platform_ros_setup_path, platform_handle_missing_ros) to eliminate platform if/else branches in the core script. - Separated Python requirements into dedicated files (base, dev-tools, hardware, platform-specific). - Added explicit dependency checking and robust git-lfs handling. Signed-off-by: XiaoqiangWu <wuxiaoqiang.rtos@huawei.com> 28 天前
scripts: refactor setup.sh into modular components Split the monolithic setup.sh into a modular architecture to improve maintainability and testability. Key changes: - Created scripts/setup/ containing discrete modules for submodules, python_venv, rosdep, and environment verification. - Introduced Template Method pattern for platform-specific hooks (platform_ros_setup_path, platform_handle_missing_ros) to eliminate platform if/else branches in the core script. - Separated Python requirements into dedicated files (base, dev-tools, hardware, platform-specific). - Added explicit dependency checking and robust git-lfs handling. Signed-off-by: XiaoqiangWu <wuxiaoqiang.rtos@huawei.com> 28 天前
feat: integrate OpenClaw social control and add rosclaw submodule Enable remote natural language control of IB-Robot via OpenClaw AI agent and RosClaw bridge. Supports Gazebo simulation and real SO-101 arm. - Add RosClaw as a git submodule in 'src/rosclaw'. - Implement 'scripts/start_rosclaw.sh' for independent startup. - Update 'README.md' with announcement, demo videos, and setup guides. - Add 'docs/ib_robot_social_skill.md' for LLM skill definition. - Update system architecture diagram. Signed-off-by: XiaoqiangWu <wuxiaoqiang.rtos@huawei.com> 2 个月前
docs: update system architecture and roadmap, add config validation script Signed-off-by: XiaoqiangWu <wuxiaoqiang.rtos@huawei.com> 3 个月前