# kuavo_ros_application **Repository Path**: leju-robot/kuavo_ros_application ## Basic Information - **Project Name**: kuavo_ros_application - **Description**: Kuavo 机器人上位机代码 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 12 - **Forks**: 0 - **Created**: 2024-11-30 - **Last Updated**: 2025-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # kuavo_ros_application ![Kuavo图片](./docs/imgs/banner-kuavo.jpg) ## 基础信息 - 上位机如果是i7,对应的: - 用户名:kuavo - 密码:leju_kuavo - Ubuntu 版本:22.04 - 上位机如果是AGX或NX,对应的: - 用户名:leju_kuavo - 密码:leju_kuavo - Ubuntu 版本:20.04 ## 基础环境功能包讲解 ```mermaid graph LR ros_robotModel---DDS ros_sensor_integration---DDS DDS---ros_plan DDS---ros_audio DDS---ros_vision ddynamic_reconfigure---ros_realsense realsense2_camera---ros_realsense realsense2_description---ros_realsense ros_realsense---ros_sensor_integration ros_plan---kuavo40_moveit_config ros_plan---moveit_interface_plan ros_audio---kuavo_audio_player ros_audio---kuavo_audio_recorder biped_s4---ros_robotModel ros_vision---detection_apriltag ros_vision---detection_yolo ``` * ros_audio: 音频流集合,包括音频采集、处理、识别和合成等功能。 ```markdown kuavo_audio_player -- 播放音频功能包 kuavo_audio_recorder -- 录制音频功能包 ``` * ros_sensor_integration:通用传感器基础节点数据流集合。包含realsense相机,以及后续更新的激光雷达等 ```markdown ros_realsense * ddynamic_reconfigure -- realsense动态参数功能包 * realsense2_camera -- realsense相机功能包 * realsense2_description -- realsense相机模型功能包 ``` * ros_robotModel:机器人模型集合,用于存放Kuavo机器人的urdf及mesh碰撞体,可用于规划仿真或者导航仿真 ```markdown biped_s4 -- Kuavo4代机器人模型功能包 ``` * ros_vision:视觉功能集合,用于处理视觉数据的节点和工具。这可能包括对象检测、识别、姿态估计和图像处理等功能的实现。 ```markdown detection_apriltag * 里面包含了AprilTag的识别 * 将目标转换至机器人世界坐标系 detection_yolo * 里面包含了yolov5的识别推理 * 将目标转换至机器人世界坐标系 * 将识别出来的目标的进行点云分割(包含基于Boundingbox的分割 和 SegmentMask像素区域分割) ``` * ros_plan:机器人手臂规划集合,用于通过接收外部的poseStamped,对机器人的抓取姿态进行轨迹规划 ```markdown kuavo40_moveit_config * 根据kuavo4代机器人配置的ROS启动功能包 moveit_interface_plan * 包含了基于moveit服务的模式调用设计 * moveit规划两种方式 关节正解joint规划 | 末端pose规划 ``` *ros_plan/pick_apriltag_sponge_demo: 基于 apriltag 抓取海绵块或矿泉水瓶的Demo - [使用说明文档](src/ros_plan/pick_apriltag_sponge_demo/README.md) - [快速开始文档](src/ros_plan/pick_apriltag_sponge_demo/docs/快速开始.md) ## 快速构建 & 快速启动 ### (1) glone & build your workspace ```bash git clone https://gitee.com/leju-robot/kuavo_ros_application.git cd ~/kuavo_ros_application # 拉取开源仓库时默认为master分支 source /opt/ros/noetic/setup.bash catkin build apriltag_ros # 优先编译apriltag_ros catkin build # 之前所有功能包进行编译 ``` ### (2) Launch启动传感器感知节点 **需要根据实际机器人版本选择启动参数** - 启动示例: ```bash cd ~/kuavo_ros_application source /opt/ros/noetic/setup.bash source ~/kuavo_ros_application/devel/setup.bash # 旧版4代, 4Pro roslaunch dynamic_biped load_robot_head.launch use_orbbec:=false # 标准版, 进阶版, 展厅版, 展厅算力版 roslaunch dynamic_biped load_robot_head.launch use_orbbec:=true # Max版 roslaunch dynamic_biped load_robot_head.launch use_orbbec:=true enable_wrist_camera:=true ``` - 参数说明:(true为是, false为否) - use_orbbec 是否是奥比中光相机 - all_enable 启动相机时是否启用yolo检测及二维码检测功能 - enable_wrist_camera 是否使用手腕相机 ### (3) `根据个人对于上位机的使用需求,启动不同的demo的launch文件,具体可查看docs/How_to_use_demo的上位机案例` ## 环境配置 * 原始镜像如果不包含 ssh 服务的话则无法远程登录,需要安装 ssh 服务 可以使用下面的命令查看 ssh 服务是否已经安装 ```bash dpkg -l | grep openssh-server ``` 如果系统已经安装了 ssh 服务,将会显示与 openssh-server 相关的信息。 ```bash kuavo@kuavo-NUC12WSKi7:~$ dpkg -l | grep openssh-server ii openssh-server 1:8.9p1-3ubuntu0.5 amd64 secure shell (SSH) server, for secure access from remote machines ``` 如果没有显示任何输出或者输出中没有 openssh-server 相关的信息,则表示 SSH 服务尚未安装,可以通过下面的命令进行安装 ```bash sudo apt update sudo apt install openssh-server ``` 安装成功后可以通过 ssh 命令远程登录到系统中 * 从 Ubuntu 18.04 开始,net-tools(包含 ifconfig、netstat 等命令)不再是默认安装的软件包,而是被 iproute2 取代 如果想要使用 ifconfig 等命令需要执行下列命令进行安装 ```bash sudo apt install net-tools ``` 使用 iproute2 中的 ip 命令查询当前的 ip 地址等信息 ```bash ip addr show ``` ## 启动所有相机 1. 确保完成环境安装以及编译 2. 确保所有相机连接正常 3. 配置 realsense camera serial number ```bash cd source devel/setup.bash rosrun kuavo_camera scan_realsence.py ``` 执行完后,会输出 ```bash Device 0: 230322272727 Device 1: 427622272165 LEFT_WRIST_CAMERA_SERIAL_NO=230322272727 RIGHT_WRIST_CAMERA_SERIAL_NO=427622272165 ✅ Environment variables written to ~/.bashrc Please restart your terminal or run 'source ~/.bashrc' to apply the changes. Done. ``` 如果左右相机序列号相反可以手动修改`~/.bashrc`文件 4. 启动所有相机,打开一个新的终端,执行以下命令: ```bash cd source devel/setup.bash export DISPLAY=:2.0 roslaunch kuavo_camera cameras.launch ``` 参数说明: - `has_head`:是否有头部相机(默认有, 类型为 **奥比中光**) - `has_left_wrist`:是否有左手腕相机(默认有, 类型为 **Realsense**) - `has_right_wrist`:是否有右手腕相机(默认有, 类型为 **Realsense**) - `rviz`:是否启动rviz(默认开启) 5. 打开 VNC 查看 Rviz 输出 上位机VNC地址为: IP:5902