jsk-ros-pkg / jsk_robot

jsk-ros-pkg/jsk_robot
https://github.com/jsk-ros-pkg/jsk_robot
73 stars 97 forks source link

[Unitree] question about development on Go1 #1863

Open sktometometo opened 10 months ago

sktometometo commented 10 months ago

I would like to use extra packages ( e.g. https://github.com/sktometometo/esp_now_ros ) in addition to jsk_robot on Go1. Is it necessary to modify build_user.sh for this?

And also I would like to use another rosserial device with lead teleop. So I would like to modify udev to fix device name. What should I do for this?

sktometometo commented 10 months ago

@k-okada

sktometometo commented 10 months ago

I have tried to build esp_now_ros by modifying unitree.repos like below. But I have got errors.

[esp_now_ros:make] /usr/bin/make -f CMakeFiles/std_msgs_generate_messages_py.dir/build.make CMakeFiles/std_msgs_generate_messages_py.dir/depend
[unitree_legged_real:make] [  0%] Built target sensor_msgs_generate_messages_nodejs
[unitree_legged_real:make] /usr/bin/make -f CMakeFiles/walk_lcm.dir/build.make CMakeFiles/walk_lcm.dir/depend
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] cd /opt/jsk/User/build/esp_now_ros && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/esp_now_ros /opt/jsk/User/src/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros/CMakeFiles/std_msgs_generate_messages_nodejs.dir/DependInfo.cmake --color=
[esp_now_ros:make] [  6%] Built target std_msgs_generate_messages_eus
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/std_msgs_generate_messages_cpp.dir/build.make CMakeFiles/std_msgs_generate_messages_cpp.dir/depend
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Nothing to be done for 'CMakeFiles/std_msgs_generate_messages_lisp.dir/build'.
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] cd /opt/jsk/User/build/esp_now_ros && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/esp_now_ros /opt/jsk/User/src/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros/CMakeFiles/std_msgs_generate_messages_py.dir/DependInfo.cmake --color=
[esp_now_ros:make] [  6%] Built target _esp_now_ros_generate_messages_check_deps_Packet
[unitree_legged_real:make] make[2]: Entering directory '/opt/jsk/User/build/unitree_legged_real'_now_ros:make (6%) - ...
[unitree_legged_real:make] cd /opt/jsk/User/build/unitree_legged_real && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/unitree_ros_to_real/unitree_legged_real /opt/jsk/User/src/unitree_ros_to_real/unitree_legged_real /opt/jsk/User/build/unitree_legged_real /opt/jsk/User/build/unitree_legged_real /opt/jsk/User/build/unitree_legged_real/CMakeFiles/walk_lcm.dir/DependInfo.cmake --color=
[unitree_legged_real:make] /usr/bin/make -f CMakeFiles/torque_lcm.dir/build.make CMakeFiles/torque_lcm.dir/depend
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] cd /opt/jsk/User/build/esp_now_ros && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/esp_now_ros /opt/jsk/User/src/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros/CMakeFiles/std_msgs_generate_messages_cpp.dir/DependInfo.cmake --color=
[unitree_legged_real:make] make[2]: Entering directory '/opt/jsk/User/build/unitree_legged_real'_now_ros:make (6%) - ...
[unitree_legged_real:make] cd /opt/jsk/User/build/unitree_legged_real && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/unitree_ros_to_real/unitree_legged_real /opt/jsk/User/src/unitree_ros_to_real/unitree_legged_real /opt/jsk/User/build/unitree_legged_real /opt/jsk/User/build/unitree_legged_real /opt/jsk/User/build/unitree_legged_real/CMakeFiles/torque_lcm.dir/DependInfo.cmake --color=
[esp_now_ros:make] [  6%] Built target std_msgs_generate_messages_lispreal:make (0%) - 9.1] [esp_now_ros:make (6%) - ...
[unitree_legged_real:make] /usr/bin/make -f CMakeFiles/ros_server.dir/build.make CMakeFiles/ros_server.dir/depend
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros' (0%) - 9.2] [esp_now_ros:make (6%) - ...
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/std_msgs_generate_messages_nodejs.dir/build.make CMakeFiles/std_msgs_generate_messages_nodejs.dir/build
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/std_msgs_generate_messages_py.dir/build.make CMakeFiles/std_msgs_generate_messages_py.dir/build
[unitree_legged_real:make] make[2]: Entering directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] cd /opt/jsk/User/build/unitree_legged_real && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/unitree_ros_to_real/unitree_legged_real /opt/jsk/User/src/unitree_ros_to_real/unitree_legged_real /opt/jsk/User/build/unitree_legged_real /opt/jsk/User/build/unitree_legged_real /opt/jsk/User/build/unitree_legged_real/CMakeFiles/ros_server.dir/DependInfo.cmake --color=
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'(0%) - 9.3] [esp_now_ros:make (6%) - ...
[esp_now_ros:make] make[2]: Nothing to be done for 'CMakeFiles/std_msgs_generate_messages_nodejs.dir/build'.
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Nothing to be done for 'CMakeFiles/std_msgs_generate_messages_py.dir/build'.
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/std_msgs_generate_messages_cpp.dir/build.make CMakeFiles/std_msgs_generate_messages_cpp.dir/build
[unitree_legged_real:make] make[2]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] /usr/bin/make -f CMakeFiles/walk_lcm.dir/build.make CMakeFiles/walk_lcm.dir/builde (6%) - ...
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'(0%) - 9.6] [esp_now_ros:make (6%) - ...
[esp_now_ros:make] make[2]: Nothing to be done for 'CMakeFiles/std_msgs_generate_messages_cpp.dir/build'.
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[unitree_legged_real:make] make[2]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] /usr/bin/make -f CMakeFiles/torque_lcm.dir/build.make CMakeFiles/torque_lcm.dir/build
[unitree_legged_real:make] make[2]: Entering directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] make[2]: Nothing to be done for 'CMakeFiles/walk_lcm.dir/build'.
[unitree_legged_real:make] make[2]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros' (0%) - 9.7] [esp_now_ros:make (6%) - ...
[esp_now_ros:make] [  6%] Built target std_msgs_generate_messages_nodejs
[unitree_legged_real:make] /usr/bin/make -f CMakeFiles/velocity_lcm.dir/build.make CMakeFiles/velocity_lcm.dir/depend
[esp_now_ros:make] [  6%] Built target std_msgs_generate_messages_pyd_real:make (0%) - 9.8] [esp_now_ros:make (6%) - ...
[unitree_legged_real:make] make[2]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] /usr/bin/make -f CMakeFiles/ros_server.dir/build.make CMakeFiles/ros_server.dir/build
[unitree_legged_real:make] make[2]: Entering directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] make[2]: Nothing to be done for 'CMakeFiles/torque_lcm.dir/build'.
[unitree_legged_real:make] make[2]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] /usr/bin/make -f CMakeFiles/position_lcm.dir/build.make CMakeFiles/position_lcm.dir/depend
[esp_now_ros:make] [  6%] Built target std_msgs_generate_messages_cpp_real:make (0%) - 9.9] [esp_now_ros:make (6%) - ...
[unitree_legged_real:make] make[2]: Entering directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] cd /opt/jsk/User/build/unitree_legged_real && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/unitree_ros_to_real/unitree_legged_real /opt/jsk/User/src/unitree_ros_to_real/unitree_legged_real /opt/jsk/User/build/unitree_legged_real /opt/jsk/User/build/unitree_legged_real /opt/jsk/User/build/unitree_legged_real/CMakeFiles/velocity_lcm.dir/DependInfo.cmake --color=
[unitree_legged_real:make] /usr/bin/make -f CMakeFiles/lcm_server.dir/build.make CMakeFiles/lcm_server.dir/depend
[esp_now_ros:make] [  6%] Built target _esp_now_ros_generate_messages_check_deps_UWBDistance
[unitree_legged_real:make] make[2]: Entering directory '/opt/jsk/User/build/unitree_legged_real'p_now_ros:make (6%) - ...
[unitree_legged_real:make] make[2]: Nothing to be done for 'CMakeFiles/ros_server.dir/build'.
[unitree_legged_real:make] make[2]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/esp_now_ros_generate_messages_eus.dir/build.make CMakeFiles/esp_now_ros_generate_messages_eus.dir/depend
[unitree_legged_real:make] [ 16%] Built target walk_lcm
[unitree_legged_real:make] make[2]: Entering directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] cd /opt/jsk/User/build/unitree_legged_real && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/unitree_ros_to_real/unitree_legged_real /opt/jsk/User/src/unitree_ros_to_real/unitree_legged_real /opt/jsk/User/build/unitree_legged_real /opt/jsk/User/build/unitree_legged_real /opt/jsk/User/build/unitree_legged_real/CMakeFiles/position_lcm.dir/DependInfo.cmake --color=
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/esp_now_ros_generate_messages_lisp.dir/build.make CMakeFiles/esp_now_ros_generate_messages_lisp.dir/depend
[unitree_legged_real:make] make[2]: Entering directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] cd /opt/jsk/User/build/unitree_legged_real && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/unitree_ros_to_real/unitree_legged_real /opt/jsk/User/src/unitree_ros_to_real/unitree_legged_real /opt/jsk/User/build/unitree_legged_real /opt/jsk/User/build/unitree_legged_real /opt/jsk/User/build/unitree_legged_real/CMakeFiles/lcm_server.dir/DependInfo.cmake --color=
[unitree_legged_real:make] [ 33%] Built target torque_lcmitree_legged_real:make (16%) - 10.1] [esp_now_ros:make (6%) - ...
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/esp_now_ros_generate_messages_nodejs.dir/build.make CMakeFiles/esp_now_ros_generate_messages_nodejs.dir/depend
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] cd /opt/jsk/User/build/esp_now_ros && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/esp_now_ros /opt/jsk/User/src/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros/CMakeFiles/esp_now_ros_generate_messages_eus.dir/DependInfo.cmake --color=
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] cd /opt/jsk/User/build/esp_now_ros && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/esp_now_ros /opt/jsk/User/src/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros/CMakeFiles/esp_now_ros_generate_messages_lisp.dir/DependInfo.cmake --color=
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'(33%) - 10.2] [esp_now_ros:make (6%) - ...
[esp_now_ros:make] cd /opt/jsk/User/build/esp_now_ros && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/esp_now_ros /opt/jsk/User/src/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros/CMakeFiles/esp_now_ros_generate_messages_nodejs.dir/DependInfo.cmake --color=
[unitree_legged_real:make] [ 50%] Built target ros_server
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/esp_now_ros_generate_messages_py.dir/build.make CMakeFiles/esp_now_ros_generate_messages_py.dir/depend
[unitree_legged_real:make] make[2]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] /usr/bin/make -f CMakeFiles/velocity_lcm.dir/build.make CMakeFiles/velocity_lcm.dir/build
[unitree_legged_real:make] make[2]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'esp_now_ros:make (6%) - ...
[unitree_legged_real:make] /usr/bin/make -f CMakeFiles/position_lcm.dir/build.make CMakeFiles/position_lcm.dir/build
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] cd /opt/jsk/User/build/esp_now_ros && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/esp_now_ros /opt/jsk/User/src/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros/CMakeFiles/esp_now_ros_generate_messages_py.dir/DependInfo.cmake --color=
[unitree_legged_real:make] make[2]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'esp_now_ros:make (6%) - ...
[unitree_legged_real:make] /usr/bin/make -f CMakeFiles/lcm_server.dir/build.make CMakeFiles/lcm_server.dir/build
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/esp_now_ros_generate_messages_lisp.dir/build.make CMakeFiles/esp_now_ros_generate_messages_lisp.dir/build
[unitree_legged_real:make] make[2]: Entering directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] make[2]: Nothing to be done for 'CMakeFiles/velocity_lcm.dir/build'.
[unitree_legged_real:make] make[2]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros' (50%) - 10.6] [esp_now_ros:make (6%) - ...
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/esp_now_ros_generate_messages_eus.dir/build.make CMakeFiles/esp_now_ros_generate_messages_eus.dir/build
[unitree_legged_real:make] make[2]: Entering directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] make[2]: Nothing to be done for 'CMakeFiles/position_lcm.dir/build'.
[unitree_legged_real:make] make[2]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] make[2]: Entering directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] make[2]: Nothing to be done for 'CMakeFiles/lcm_server.dir/build'.
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Nothing to be done for 'CMakeFiles/esp_now_ros_generate_messages_lisp.dir/build'.
[unitree_legged_real:make] make[2]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros' (50%) - 10.7] [esp_now_ros:make (6%) - ...
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/esp_now_ros_generate_messages_nodejs.dir/build.make CMakeFiles/esp_now_ros_generate_messages_nodejs.dir/build
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Nothing to be done for 'CMakeFiles/esp_now_ros_generate_messages_eus.dir/build'.
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[unitree_legged_real:make] [ 66%] Built target velocity_lcmree_legged_real:make (50%) - 10.8] [esp_now_ros:make (6%) - ...
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Nothing to be done for 'CMakeFiles/esp_now_ros_generate_messages_nodejs.dir/build'.
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/esp_now_ros_generate_messages_cpp.dir/build.make CMakeFiles/esp_now_ros_generate_messages_cpp.dir/depend
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros' (66%) - 10.9] [esp_now_ros:make (6%) - ...
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/esp_now_ros_generate_messages_py.dir/build.make CMakeFiles/esp_now_ros_generate_messages_py.dir/build
[unitree_legged_real:make] [ 83%] Built target lcm_server
[esp_now_ros:make] [ 18%] Built target esp_now_ros_generate_messages_lisp
[unitree_legged_real:make] [100%] Built target position_lcmree_legged_real:make (83%) - 11.0] [esp_now_ros:make (18%) - ...
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] cd /opt/jsk/User/build/esp_now_ros && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/esp_now_ros /opt/jsk/User/src/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros/CMakeFiles/esp_now_ros_generate_messages_cpp.dir/DependInfo.cmake --color=
[unitree_legged_real:make] make[1]: Leaving directory '/opt/jsk/User/build/unitree_legged_real'
[unitree_legged_real:make] /usr/bin/cmake -E cmake_progress_start /opt/jsk/User/build/unitree_legged_real/CMakeFiles 0
[esp_now_ros:make] [ 37%] Built target esp_now_ros_generate_messages_eus
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Nothing to be done for 'CMakeFiles/esp_now_ros_generate_messages_py.dir/build'.
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] [ 50%] Built target esp_now_ros_generate_messages_nodejsmake (100%) - 11.1] [esp_now_ros:make (37%) - ...
Starting   >> unitree_legged_real:symlink
[unitree_legged_real:symlink] Linked: (/opt/jsk/User/devel/.private/unitree_legged_real/share/unitree_legged_real/cmake/unitree_legged_realConfig-version.cmake, /opt/jsk/User/devel/share/unitree_legged_real/cmake/unitree_legged_realConfig-version.cmake)
[unitree_legged_real:symlink] Linked: (/opt/jsk/User/devel/.private/unitree_legged_real/share/unitree_legged_real/cmake/unitree_legged_realConfig.cmake, /opt/jsk/User/devel/share/unitree_legged_real/cmake/unitree_legged_realConfig.cmake)
[unitree_legged_real:symlink] Linked: (/opt/jsk/User/devel/.private/unitree_legged_real/lib/unitree_legged_real/position_lcm, /opt/jsk/User/devel/lib/unitree_legged_real/position_lcm)
[unitree_legged_real:symlink] Linked: (/opt/jsk/User/devel/.private/unitree_legged_real/lib/unitree_legged_real/walk_lcm, /opt/jsk/User/devel/lib/unitree_legged_real/walk_lcm)
[unitree_legged_real:symlink] Linked: (/opt/jsk/User/devel/.private/unitree_legged_real/lib/unitree_legged_real/velocity_lcm, /opt/jsk/User/devel/lib/unitree_legged_real/velocity_lcm)
[unitree_legged_real:symlink] Linked: (/opt/jsk/User/devel/.private/unitree_legged_real/lib/unitree_legged_real/torque_lcm, /opt/jsk/User/devel/lib/unitree_legged_real/torque_lcm)
[unitree_legged_real:symlink] Linked: (/opt/jsk/User/devel/.private/unitree_legged_real/lib/unitree_legged_real/lcm_server, /opt/jsk/User/devel/lib/unitree_legged_real/lcm_server)
[unitree_legged_real:symlink] Linked: (/opt/jsk/User/devel/.private/unitree_legged_real/lib/unitree_legged_real/ros_server, /opt/jsk/User/devel/lib/unitree_legged_real/ros_server)
[unitree_legged_real:symlink] Linked: (/opt/jsk/User/devel/.private/unitree_legged_real/lib/pkgconfig/unitree_legged_real.pc, /opt/jsk/User/devel/lib/pkgconfig/unitree_legged_real.pc)
Finished  <<< unitree_legged_real                    [ 11.3 seconds ]
[esp_now_ros:make] [ 68%] Built target esp_now_ros_generate_messages_py
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros' ...
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Nothing to be done for 'CMakeFiles/esp_now_ros_generate_messages_cpp.dir/build'.
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] [ 81%] Built target esp_now_ros_generate_messages_cpp(68%) - ...
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/esp_now_ros_generate_messages.dir/build.make CMakeFiles/esp_now_ros_generate_messages.dir/depend
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'...
[esp_now_ros:make] cd /opt/jsk/User/build/esp_now_ros && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/jsk/User/src/esp_now_ros /opt/jsk/User/src/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros /opt/jsk/User/build/esp_now_ros/CMakeFiles/esp_now_ros_generate_messages.dir/DependInfo.cmake --color=
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros' ...
[esp_now_ros:make] /usr/bin/make -f CMakeFiles/esp_now_ros_generate_messages.dir/build.make CMakeFiles/esp_now_ros_generate_messages.dir/build
[esp_now_ros:make] make[2]: Entering directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] make[2]: Nothing to be done for 'CMakeFiles/esp_now_ros_generate_messages.dir/build'.
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] [ 81%] Built target esp_now_ros_generate_messagesake (81%) - ...
[esp_now_ros:make] Traceback (most recent call last): [esp_now_ros:make (81%) - 1...
[esp_now_ros:make]   File "/opt/jsk/User/src/catkin_virtualenv/catkin_virtualenv/scripts/venv_init", line 23, in <module>
[esp_now_ros:make]     from catkin_virtualenv import configure_logging
[esp_now_ros:make]   File "/opt/jsk/User/devel/lib/python2.7/dist-packages/catkin_virtualenv/__init__.py", line 34, in <module>
[esp_now_ros:make]     exec(__fh.read())
[esp_now_ros:make]   File "<string>", line 21, in <module>
[esp_now_ros:make]   File "/usr/lib/python3.6/logging/config.py", line 30, in <module>
[esp_now_ros:make]     import logging.handlers
[esp_now_ros:make]   File "/usr/lib/python3.6/logging/handlers.py", line 28, in <module>
[esp_now_ros:make]     import queue
[esp_now_ros:make]   File "/opt/jsk/System/ros1_dependencies/lib/python2.7/site-packages/future-0.15.2-py2.7.egg/queue/__init__.py", line 8, in <module>
[esp_now_ros:make]     raise ImportError('This package should not be accessible on Python 3. '
[esp_now_ros:make] ImportError: This package should not be accessible on Python 3. Either you are trying to run from the python-future src folder or your installation of python-future is corrupted.
[esp_now_ros:make] Error in sys.excepthook:
[esp_now_ros:make] Traceback (most recent call last):
[esp_now_ros:make]   File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 72, in apport_excepthook
[esp_now_ros:make]     from apport.fileutils import likely_packaged, get_recent_crashes
[esp_now_ros:make]   File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
[esp_now_ros:make]     from apport.report import Report
[esp_now_ros:make]   File "/usr/lib/python3/dist-packages/apport/report.py", line 21, in <module>
[esp_now_ros:make]     from urllib.request import urlopen
[esp_now_ros:make]   File "/usr/lib/python3.6/urllib/request.py", line 88, in <module>
[esp_now_ros:make]     import http.client
[esp_now_ros:make]   File "/opt/jsk/System/ros1_dependencies/lib/python2.7/site-packages/future-0.15.2-py2.7.egg/http/__init__.py", line 7, in <module>
[esp_now_ros:make]     raise ImportError('This package should not be accessible on Python 3. '
[esp_now_ros:make] ImportError: This package should not be accessible on Python 3. Either you are trying to run from the python-future src folder or your installation of python-future is corrupted.
[esp_now_ros:make] 
[esp_now_ros:make] Original exception was:
[esp_now_ros:make] Traceback (most recent call last):
[esp_now_ros:make]   File "/opt/jsk/User/src/catkin_virtualenv/catkin_virtualenv/scripts/venv_init", line 23, in <module>
[esp_now_ros:make]     from catkin_virtualenv import configure_logging
[esp_now_ros:make]   File "/opt/jsk/User/devel/lib/python2.7/dist-packages/catkin_virtualenv/__init__.py", line 34, in <module>
[esp_now_ros:make]     exec(__fh.read())
[esp_now_ros:make]   File "<string>", line 21, in <module>
[esp_now_ros:make]   File "/usr/lib/python3.6/logging/config.py", line 30, in <module>
[esp_now_ros:make]     import logging.handlers
[esp_now_ros:make]   File "/usr/lib/python3.6/logging/handlers.py", line 28, in <module>
[esp_now_ros:make]     import queue
[esp_now_ros:make]   File "/opt/jsk/System/ros1_dependencies/lib/python2.7/site-packages/future-0.15.2-py2.7.egg/queue/__init__.py", line 8, in <module>
[esp_now_ros:make]     raise ImportError('This package should not be accessible on Python 3. '
[esp_now_ros:make] ImportError: This package should not be accessible on Python 3. Either you are trying to run from the python-future src folder or your installation of python-future is corrupted.
[esp_now_ros:make] CMakeFiles/esp_now_ros_generate_virtualenv.dir/build.make:75: recipe for target 'venv/bin/python' failed
[esp_now_ros:make] make[2]: *** [venv/bin/python] Error 1
[esp_now_ros:make] make[2]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] CMakeFiles/Makefile2:391: recipe for target 'CMakeFiles/esp_now_ros_generate_virtualenv.dir/all' failed
[esp_now_ros:make] make[1]: *** [CMakeFiles/esp_now_ros_generate_virtualenv.dir/all] Error 2
[esp_now_ros:make] make[1]: Leaving directory '/opt/jsk/User/build/esp_now_ros'
[esp_now_ros:make] Makefile:129: recipe for target 'all' failed
[esp_now_ros:make] make: *** [all] Error 2
Failed    <<< esp_now_ros                            [ 10.2 seconds ]
Abandoned <<< jsk_unitree_startup                    [ Unrelated job failed ]

[build] Successful packages:

 [   Ignored] a1_description                     
 [   Ignored] aliengoZ1_description              
 [   Ignored] aliengo_description                
 [Successful] app_manager                        
 [   Ignored] b1_description                     
 [Successful] catkin_virtualenv                  
 [Successful] go1_description                    
 [   Ignored] go2_description                    
 [Successful] joy                                
 [Successful] jsk_robot_startup                  
 [   Ignored] jsk_robot_utils                    
 [   Ignored] laikago_description                
 [Successful] respeaker_ros                      
 [   Ignored] roseus_remote                      
 [Successful] rosserial_msgs                     
 [Successful] rosserial_python                   
 [Successful] rostwitter                         
 [Successful] rwt_app_chooser                    
 [   Ignored] speak_and_wait_recovery            
 [Successful] speech_recognition_msgs            
 [Successful] teleop_twist_joy                   
 [   Ignored] test_catkin_virtualenv             
 [   Ignored] test_catkin_virtualenv_inherited   
 [   Ignored] test_catkin_virtualenv_py3_isolated
 [   Ignored] unitree_controller                 
 [   Ignored] unitree_gazebo                     
 [   Ignored] unitree_legged_control             
 [Successful] unitree_legged_msgs                
 [Successful] unitree_legged_real                
 [   Ignored] unitree_legged_sdk                 
 [Successful] unitreeeus                         
 [   Ignored] update_move_base_parameter_recovery
 [   Ignored] z1_description                     

[build] Failed packages:

 [    Failed] esp_now_ros                        

[build] Abandoned packages:

 [ Abandoned] jsk_unitree_startup                

[build] Summary: 15 of 17 packages succeeded.
[build]   Ignored:   18 packages were skipped or are blacklisted.
[build]   Warnings:  None.
[build]   Abandoned: 1 packages were abandoned.
[build]   Failed:    1 packages failed.
[build] Runtime: 44.7 seconds total.
make: *** [Makefile:18: user] エラー 1

unitree.repos

~/ros/ws_jsk_unitree/src/jsk-ros-pkg/jsk_robot/jsk_unitree_robot/cross $ cat repos/unitree.repos 
repositories:
  unitree_legged_sdk:
    type: git
    url: https://github.com/k-okada/unitree_legged_sdk.git
    version: develop
    # version `develop` add package.xml for catkinbuild
    # it dow not include https://github.com/unitreerobotics/unitree_legged_sdk/pull/31
    # to utilize it, we may need to update onbody SDK that has updated message type
  unitree_ros:
    type: git
    url: https://github.com/unitreerobotics/unitree_ros.git
    veresion: 50ff982dfbd4b9d2d08f1a05d66f141ab9f8d7f9
  unitree_ros_to_real:
    type: git
    url: https://github.com/k-okada/unitree_ros_to_real.git
    # because we uses unitree_legged_sdk without message update,
    # we do not include https://github.com/unitreerobotics/unitree_ros_to_real/pull/27 in
    #   k-okada/unitree_ros_to_real:develop
    version: develop
  app_manager:
    type: git
    url: https://github.com/PR2/app_manager
    version: kinetic-devel
    # enable to run simple apps parallel to other apps
    # https://github.com/PR2/app_manager/pull/59 have been merged,
    # but 1.4.0 have not released yet.
  catkin_virtualenv:
    type: git
    url: https://github.com/iory/catkin_virtualenv
    version: unitree
  esp_now_ros:
    type: git
    url: https://github.com/sktometometo/esp_now_ros.git
    version: v0.3.0
sktometometo commented 10 months ago

This error seems related to https://github.com/jsk-ros-pkg/jsk_robot/blob/master/jsk_unitree_robot/cross/README.md#running-python3 . But there is no descriptions about this. What is st-000-ros1.bash and how is python-futures used here?

There is no references to them.

~/ros/ws_jsk_unitree/src/jsk-ros-pkg/jsk_robot/jsk_unitree_robot/cross $ ls
CATKIN_IGNORE   arm64v8_System.tgz      build_ros1_dependencies.sh  nano2_pro_install_scripts     ros1_dependencies_build_scripts
Makefile        arm64v8_User            build_user.sh               nano3_pro_install_scripts     rosinstall_generator_unreleased.py
README.md       arm64v8_build_user.log  docker                      prepare_requirements_ros1.sh  run_user.sh
arm64v8_System  build_ros1.sh           install.sh                  repos                         startup_scripts
~/ros/ws_jsk_unitree/src/jsk-ros-pkg/jsk_robot/jsk_unitree_robot/cross $ grep -ir "st-000-ros1.bash"
README.md:Since `st-000-ros1.bash` set PYTHONPATH and we installed `python-futures` via pip, It breaks python3 execution.
~/ros/ws_jsk_unitree/src/jsk-ros-pkg/jsk_robot/jsk_unitree_robot/cross $ grep -ir python-futures
README.md:Since `st-000-ros1.bash` set PYTHONPATH and we installed `python-futures` via pip, It breaks python3 execution.
tkmtnt7000 commented 10 months ago

I used https://github.com/tkmtnt7000/jsk_robot/tree/add-esp-now-ros-build branch (originally https://github.com/iory/jsk_robot/tree/unitree-virtualenv branch) and I managed to build esp_now_ros successfully.

ちゃんと動くのかどうかは未知数ですが...

矢野倉さんがgoogle_chat_rosが動くようにしていただいていたコードに,直近のmasterの変更をcherry-pickして追加,dialogflow_task_executiveのビルドがエラーで落ちるので,unitreeの依存からgoogle_chat_rosを一旦外す,といった変更をしています.

dialogflow build error ``` [dialogflow_task_executive:make] ERROR: Command errored out with exit status 1::make (95%) - 2... [dialogflow_task_executive:make] command: /opt/jsk/User/build/dialogflow_task_executive/venv/bin/python /opt/jsk/User/build/dialogflow_task_executive/venv/lib/python2.7/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmporL182 [dialogflow_task_executive:make] cwd: /tmp/pip-install-NjRVdG/pyyaml [dialogflow_task_executive:make] Complete output (46 lines): [dialogflow_task_executive:make] running egg_info [dialogflow_task_executive:make] creating lib/PyYAML.egg-info [dialogflow_task_executive:make] writing lib/PyYAML.egg-info/PKG-INFO [dialogflow_task_executive:make] writing top-level names to lib/PyYAML.egg-info/top_level.txt [dialogflow_task_executive:make] writing dependency_links to lib/PyYAML.egg-info/dependency_links.txt [dialogflow_task_executive:make] writing manifest file 'lib/PyYAML.egg-info/SOURCES.txt' [dialogflow_task_executive:make] Traceback (most recent call last): [dialogflow_task_executive:make] File "/opt/jsk/User/build/dialogflow_task_executive/venv/lib/python2.7/site-packages/pip/_vendor/pep517/_in_process.py", line 280, in [dialogflow_task_executive:make] main() [dialogflow_task_executive:make] File "/opt/jsk/User/build/dialogflow_task_executive/venv/lib/python2.7/site-packages/pip/_vendor/pep517/_in_process.py", line 263, in main [dialogflow_task_executive:make] json_out['return_val'] = hook(**hook_input['kwargs']) [dialogflow_task_executive:make] File "/opt/jsk/User/build/dialogflow_task_executive/venv/lib/python2.7/site-packages/pip/_vendor/pep517/_in_process.py", line 114, in get_requires_for_build_wheel [dialogflow_task_executive:make] return hook(config_settings) [dialogflow_task_executive:make] File "/tmp/pip-build-env-bCLkP5/overlay/lib/python2.7/site-packages/setuptools/build_meta.py", line 146, in get_requires_for_build_wheel [dialogflow_task_executive:make] return self._get_build_requires(config_settings, requirements=['wheel']) [dialogflow_task_executive:make] File "/tmp/pip-build-env-bCLkP5/overlay/lib/python2.7/site-packages/setuptools/build_meta.py", line 127, in _get_build_requires [dialogflow_task_executive:make] self.run_setup() [dialogflow_task_executive:make] File "/tmp/pip-build-env-bCLkP5/overlay/lib/python2.7/site-packages/setuptools/build_meta.py", line 142, in run_setup [dialogflow_task_executive:make] exec(compile(code, __file__, 'exec'), locals()) [dialogflow_task_executive:make] File "setup.py", line 295, in [dialogflow_task_executive:make] python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*', [dialogflow_task_executive:make] File "/tmp/pip-build-env-bCLkP5/overlay/lib/python2.7/site-packages/setuptools/__init__.py", line 162, in setup [dialogflow_task_executive:make] return distutils.core.setup(**attrs) [dialogflow_task_executive:make] File "/usr/lib/python2.7/distutils/core.py", line 151, in setup [dialogflow_task_executive:make] dist.run_commands() [dialogflow_task_executive:make] File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands [dialogflow_task_executive:make] self.run_command(cmd) [dialogflow_task_executive:make] File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command [dialogflow_task_executive:make] cmd_obj.run() [dialogflow_task_executive:make] File "/tmp/pip-build-env-bCLkP5/overlay/lib/python2.7/site-packages/setuptools/command/egg_info.py", line 296, in run [dialogflow_task_executive:make] self.find_sources() [dialogflow_task_executive:make] File "/tmp/pip-build-env-bCLkP5/overlay/lib/python2.7/site-packages/setuptools/command/egg_info.py", line 303, in find_sources [dialogflow_task_executive:make] mm.run() [dialogflow_task_executive:make] File "/tmp/pip-build-env-bCLkP5/overlay/lib/python2.7/site-packages/setuptools/command/egg_info.py", line 534, in run [dialogflow_task_executive:make] self.add_defaults() [dialogflow_task_executive:make] File "/tmp/pip-build-env-bCLkP5/overlay/lib/python2.7/site-packages/setuptools/command/egg_info.py", line 570, in add_defaults [dialogflow_task_executive:make] sdist.add_defaults(self) [dialogflow_task_executive:make] File "/tmp/pip-build-env-bCLkP5/overlay/lib/python2.7/site-packages/setuptools/command/py36compat.py", line 36, in add_defaults [dialogflow_task_executive:make] self._add_defaults_ext() [dialogflow_task_executive:make] File "/tmp/pip-build-env-bCLkP5/overlay/lib/python2.7/site-packages/setuptools/command/py36compat.py", line 120, in _add_defaults_ext [dialogflow_task_executive:make] self.filelist.extend(build_ext.get_source_files()) [dialogflow_task_executive:make] File "setup.py", line 201, in get_source_files [dialogflow_task_executive:make] self.cython_sources(ext.sources, ext) [dialogflow_task_executive:make] File "/usr/lib/python2.7/distutils/cmd.py", line 105, in __getattr__ [dialogflow_task_executive:make] raise AttributeError, attr [dialogflow_task_executive:make] AttributeError: cython_sources [dialogflow_task_executive:make] ---------------------------------------- [dialogflow_task_executive:make] ERROR: Command errored out with exit status 1: /opt/jsk/User/build/dialogflow_task_executive/venv/bin/python /opt/jsk/User/build/dialogflow_task_executive/venv/lib/python2.7/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmporL182 Check the logs for full command output. [dialogflow_task_executive:make] Traceback (most recent call last):task_executive:make (95%) - 2... [dialogflow_task_executive:make] File "/opt/jsk/User/src/catkin_virtualenv/catkin_virtualenv/scripts/venv_install", line 45, in [dialogflow_task_executive:make] extra_pip_args=[arg for arg in extra_pip_args.split(" ") if arg != ""], [dialogflow_task_executive:make] File "/opt/jsk/User/src/catkin_virtualenv/catkin_virtualenv/src/catkin_virtualenv/venv.py", line 114, in install [dialogflow_task_executive:make] run_command(command + ["-r", req], check=True) [dialogflow_task_executive:make] File "", line 44, in run_command [dialogflow_task_executive:make] File "/usr/lib/python3.6/subprocess.py", line 438, in run [dialogflow_task_executive:make] output=stdout, stderr=stderr) [dialogflow_task_executive:make] subprocess.CalledProcessError: Command '['/opt/jsk/User/build/dialogflow_task_executive/venv/bin/python', '-m', 'pip', 'install', '-qq', '--retries', '10', '--timeout', '30', '-r', '/opt/jsk/User/src/catkin_virtualenv/catkin_virtualenv/requirements.txt']' returned non-zero exit status 1. [dialogflow_task_executive:make] Error in sys.excepthook: [dialogflow_task_executive:make] Traceback (most recent call last): [dialogflow_task_executive:make] File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 154, in apport_excepthook [dialogflow_task_executive:make] os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f: [dialogflow_task_executive:make] FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_opt_jsk_User_src_catkin_virtualenv_catkin_virtualenv_scripts_venv_install.1003.crash' [dialogflow_task_executive:make] [dialogflow_task_executive:make] Original exception was: [dialogflow_task_executive:make] Traceback (most recent call last): [dialogflow_task_executive:make] File "/opt/jsk/User/src/catkin_virtualenv/catkin_virtualenv/scripts/venv_install", line 45, in [dialogflow_task_executive:make] extra_pip_args=[arg for arg in extra_pip_args.split(" ") if arg != ""], [dialogflow_task_executive:make] File "/opt/jsk/User/src/catkin_virtualenv/catkin_virtualenv/src/catkin_virtualenv/venv.py", line 114, in install [dialogflow_task_executive:make] run_command(command + ["-r", req], check=True) [dialogflow_task_executive:make] File "", line 44, in run_command [dialogflow_task_executive:make] File "/usr/lib/python3.6/subprocess.py", line 438, in run [dialogflow_task_executive:make] output=stdout, stderr=stderr) [dialogflow_task_executive:make] subprocess.CalledProcessError: Command '['/opt/jsk/User/build/dialogflow_task_executive/venv/bin/python', '-m', 'pip', 'install', '-qq', '--retries', '10', '--timeout', '30', '-r', '/opt/jsk/User/src/catkin_virtualenv/catkin_virtualenv/requirements.txt']' returned non-zero exit status 1. [dialogflow_task_executive:make] CMakeFiles/dialogflow_task_executive_generate_virtualenv.dir/build.make:74: recipe for target 'venv/bin/activate' failed [dialogflow_task_executive:make] make[2]: *** [venv/bin/activate] Error 1 [dialogflow_task_executive:make] make[2]: *** Deleting file 'venv/bin/activate' [dialogflow_task_executive:make] make[2]: Leaving directory '/opt/jsk/User/build/dialogflow_task_executive' [dialogflow_task_executive:make] CMakeFiles/Makefile2:967: recipe for target 'CMakeFiles/dialogflow_task_executive_generate_virtualenv.dir/all' failed [dialogflow_task_executive:make] make[1]: Leaving directory '/opt/jsk/User/build/dialogflow_task_executive' [dialogflow_task_executive:make] make[1]: *** [CMakeFiles/dialogflow_task_executive_generate_virtualenv.dir/all] Error 2 [dialogflow_task_executive:make] Makefile:129: recipe for target 'all' failed [dialogflow_task_executive:make] make: *** [all] Error 2 Failed <<< dialogflow_task_executive [ 23.2 seconds ] Abandoned <<< google_chat_ros [ Unrelated job failed ] Abandoned <<< jsk_unitree_startup [ Unrelated job failed ] ```
sktometometo commented 10 months ago

ありがとう見てみます

tkmtnt7000 commented 10 months ago

I used tkmtnt7000/jsk_robot@add-esp-now-ros-build branch (originally iory/jsk_robot@unitree-virtualenv branch) and I managed to build esp_now_ros successfully.

ちゃんと動くのかどうかは未知数ですが...

生成したものは,https://drive.google.com/drive/folders/17cmkylJD7dE_gWIY9NB1WJOtoPxeJ50x?usp=drive_link にあげました.systemビルドの方はこちらを展開していただけると良いかもしれません.

k-okada commented 10 months ago

@sktometometo さっき途中になっていた ./run_user.sh して rosrun esp_now_ros python3 してから,これが動かないという import xxx を教えてください.

sktometometo commented 10 months ago

とりあえずpyyamlがないとでていて動きませんでした。Requirementsにpyyaml追加して試している最中です

sktometometo commented 10 months ago

複数ブランチが分散していてbugがトラックできないので以後masterベースで進めます

sktometometo commented 10 months ago

I used https://github.com/tkmtnt7000/jsk_robot/tree/add-esp-now-ros-build branch (originally https://github.com/iory/jsk_robot/tree/unitree-virtualenv branch) and I managed to build esp_now_ros successfully.

In this branch, app_manager.launch cannot run and I cannot make lead_teleop demo (which is required for controlling the robot during demo)