机器狗当前实现了使用机载电脑,对单色光点进行跟踪。机器狗工程当前包含4个子工程,Ros2Go2Estimator、Ros2AmovG1、Ros2ImageProcess、Ros2Chat,各个子工程相对独立,实现不同的功能。
使用unitree_sdk2功能包获得与机器狗的交互接口;
使用dds_rostopic功能包订阅机器狗发布的dds信号,并发布为标准ros消息(包含狗头相机图像发布和激光雷达信号发布);
Input:dds、230.1.1.1:1720
Output:SMX/Go2Lidar、SMX/Go2Camera
使用sport_control功能包读取控制手柄或其他包的控制指令,调用交互接口控制狗的运动;
Input:/joy、SMX/SportCmd、/cmd_vel、SMX/Odom
Output:SMX/JoystickCmd、SMX/GimbalAngleCmd
使用fusion_estimator功能包实现基于运动学的位置估计,并输出机器狗的里程计消息;
Input:dds、SMX/JoystickCmd
Output:SMX/Estimation、SMX/Odom、SMX/Odom_2D
使用message_handle功能包做进一步的信号处理(做激光雷达的tf转换,把点云信号转化为二维scan信号)。
Input:/SMX/Go2Lidar、/SMX/Odom、/SMX/Odom_2D
Output:/SMX/Scan
使用unitree_sdk2功能包获得与机器狗的交互接口;
使用dds_rostopic功能包订阅机器狗发布的dds信号,并发布为标准ros消息(包含狗头相机图像发布和激光雷达信号发布);
Input:dds、230.1.1.1:1720
Output:SMX/Go2Lidar、SMX/Go2Camera
使用sport_control功能包读取控制手柄或其他包的控制指令,调用交互接口控制狗的运动;
Input:/joy、SMX/SportCmd、/cmd_vel、SMX/Odom
Output:SMX/JoystickCmd、SMX/GimbalAngleCmd
使用fusion_estimator功能包实现基于运动学的位置估计,并输出机器狗的里程计消息;
Input:dds、SMX/JoystickCmd
Output:SMX/Estimation、SMX/Odom、SMX/Odom_2D
使用message_handle功能包做进一步的信号处理(做激光雷达的tf转换,把点云信号转化为二维scan信号)。
Input:/SMX/Go2Lidar、/SMX/Odom、/SMX/Odom_2D
Output:/SMX/Scan
使用g1_control读取和发布吊舱状态并传递控制指令;
Input:/dev/ttyUSB0、SMX/GimbalAngleCmd
Output:/dev/ttyUSB0、SMX/GimbalState
使用g1_camera拉流相机画面并发布为ros消息;
Input:192.168.123.64:554
Output:SMX/GimbalCamera
使用g1_control,根据机器狗姿态、机架姿态、目标在画面中的偏角,对机架动作和机器狗动作进行控制。
Input:SMX/Odom、SMX/GimbalState、SMX/TargetImageAngle
Output:SMX/SportCmd
使用drone_detctor检测无人机在画面中的位置、发布无人机角度的消息;
Input:SMX/GimbalCamera
Output:SMX/TargetImageAngle、SMX/TargetImage
使用spot_detector检测光点在画面中的位置、发布光点角度的消息;
Input:SMX/GimbalCamera
Output:SMX/TargetImageAngle、SMX/TargetImage
使用video_play读取mp4文件并发布为画面(用于室内测试drone_detctor可用性)。
Input:xxx.mp4
Output:SMX/GimbalCamera