Skip to content

Conversation

@Michi-Tsubaki
Copy link

@Michi-Tsubaki Michi-Tsubaki commented Oct 30, 2025

Currently, systems for robots in JSK related to hrpsys is managed and maintained in this repository (not in jsk_robot)

This PR adds current Nextage Open Setup in JSK to nextage_tutorials, as following the "hironxjsk". I use the "jsk-nextage" namespace to distinguish between the origina nextage system and jsk nextage system.

Summary

  • Create .gitignore to unstage the .dae and .l files which is generated when catkin build.
  • JSKNextageOpen.urdf The original URDF is in nextage_description. In this PR adds links and joints for cameras to publish TF.
  • jsk_robot_state_publisher.launch which publish and overwrite the TF information.
    To overwrite the TF, this node uses the name hrpsys_state_publisher same as the one of publisher in the robot's PC. As a result, the original node is killed and the new one overwrites it.
  • jsk-nextage-teleope.l : For data collection, I write the program for teleoperation.
  • nextage-utils.l is for collision-check. Nextage Open is so strong that I cannot stop the arms by my hands when collision occures, so collision-check before sending command is mandatory.
  • To use the teleoperation systen, dual_touch.launch is needed.
  • d405_lhand.launch and l515_head.launch are the launch files to start Realsense. The important part is the serial_no to distinguish between l515 and d405. Because I designate the serial no in this file, we do not have to prepare udev to distinguish among them as for realsense.
  • right_ft_sensor.launch is to start force sensor currently only for the right hand. 99-rftsensor.rules is related.
  • elp_camera.launch is to start the camera to zoom in. 99-elp-camera.rules is related.
  • create_udev_rules.sh is to copy and load the udev files.

@Michi-Tsubaki Michi-Tsubaki marked this pull request as draft October 30, 2025 02:10
@@ -0,0 +1,18 @@
(defun nextage-collision-check ()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why don't you overwrite :collision-check-pairs like jsk-ros-pkg/jsk_robot#1026?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WIP.
This is temporary and the easiest way to just test . This is why I said this PR is Draft. When I overwrite the robot interface, Then I change this PR from Draft to Open.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fixed nextage-utils.l by overwriting :self-collision-check in NextageOpen-robot.
I also edited nextage-interface.l to call :start-grasp and :stop-grasp from ri.

<exec_depend>euscollada</exec_depend>
<exec_depend>nextage_description</exec_depend>
<exec_depend>nextage_gazebo</exec_depend>
<!--<exec_depend>nextage_gazebo</exec_depend>-->
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you comment out this?
I think rosdep install displays an error but we can skip it.
Is there any critical error?
(Perhaps I just forgot.)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, we can skip when running rosdep insall, but when we run catkin build, some dependencies problem cannnot be resolved. You said that currently this problem cannot be solved, so I was told to comment out this to pass catkin build.

[build] Found 146 packages in 0.0 seconds.                                     
[build] Updating package table.                                                
Starting  >>> nextage_description                                              
Starting  >>> openrtm_tools                                                    
Starting  >>> rtmbuild                                                         
Finished  <<< nextage_description                  [ 0.1 seconds ]             
Finished  <<< rtmbuild                             [ 0.1 seconds ]             
_______________________________________________________________________________
Errors     << openrtm_tools:cmake /home/leus/catkin_ws/logs/openrtm_tools/build.cmake.007.log
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


CMake Warning (dev) at CMakeLists.txt:2 (project):
  Policy CMP0048 is not set: project() command manages VERSION variables.
  Run "cmake --help-policy CMP0048" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The following variable(s) would be set to empty:

    CMAKE_PROJECT_VERSION
    CMAKE_PROJECT_VERSION_MAJOR
    CMAKE_PROJECT_VERSION_MINOR
    CMAKE_PROJECT_VERSION_PATCH
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at /usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:603 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:825 (_pkg_check_modules_internal)
  CMakeLists.txt:54 (pkg_check_modules)


cd /home/leus/catkin_ws/build/openrtm_tools; catkin build --get-env openrtm_tools | catkin env -si  /usr/bin/cmake /home/leus/catkin_ws/src/rtmros/rtmros_common/openrtm_tools --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/leus/catkin_ws/devel/.private/openrtm_tools -DCMAKE_INSTALL_PREFIX=/home/leus/catkin_ws/install; cd -

...............................................................................
Failed     << openrtm_tools:cmake                  [ Exited with code 1 ]      
Failed    <<< openrtm_tools                        [ 0.7 seconds ]             
Abandoned <<< hrpsys_tools                         [ Unrelated job failed ]    
Abandoned <<< nextage_tutorials                    [ Unrelated job failed ]    
Abandoned <<< hrpsys_ros_bridge                    [ Unrelated job failed ]    
Abandoned <<< hironx_ros_bridge                    [ Unrelated job failed ]    
Abandoned <<< hironx_moveit_config                 [ Unrelated job failed ]    
Abandoned <<< nextage_ros_bridge                   [ Unrelated job failed ]    
Abandoned <<< nextage_moveit_config                [ Unrelated job failed ]    
Abandoned <<< nextage_gazebo                       [ Unrelated job failed ]    

Copy link
Author

@Michi-Tsubaki Michi-Tsubaki Oct 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I attach the full log. Missing package is openrtm-aist.

leus@leus-ThinkPad-T14s-Gen-5:~/catkin_ws/logs/openrtm_tools$ cat build.cmake.log
Not searching for unused variables given on the command line.
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


CMake Warning (dev) at CMakeLists.txt:2 (project):
  Policy CMP0048 is not set: project() command manages VERSION variables.
  Run "cmake --help-policy CMP0048" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The following variable(s) would be set to empty:

    CMAKE_PROJECT_VERSION
    CMAKE_PROJECT_VERSION_MAJOR
    CMAKE_PROJECT_VERSION_MINOR
    CMAKE_PROJECT_VERSION_PATCH
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Using CATKIN_DEVEL_PREFIX: /home/leus/catkin_ws/devel/.private/openrtm_tools
-- Using CMAKE_PREFIX_PATH: /home/leus/catkin_ws/devel;/opt/ros/one
-- This workspace overlays: /home/leus/catkin_ws/devel;/opt/ros/one
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/leus/catkin_ws/build/openrtm_tools/test_results
-- Forcing gtest/gmock from source, though one was otherwise available.
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.12
-- BUILD_SHARED_LIBS is on
-- Checking for module 'openrtm-aist'
--   No package 'openrtm-aist' found
CMake Error at /usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:603 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:825 (_pkg_check_modules_internal)
  CMakeLists.txt:54 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/home/leus/catkin_ws/build/openrtm_tools/CMakeFiles/CMakeOutput.log".

@Michi-Tsubaki Michi-Tsubaki force-pushed the add-camera-and-ft-sensor branch 2 times, most recently from f6af72f to 1eb4b97 Compare November 10, 2025 14:32
@Michi-Tsubaki Michi-Tsubaki force-pushed the add-camera-and-ft-sensor branch from c40012c to 41b5881 Compare November 11, 2025 05:50
(when on-gazebo-ros-control
(ros::ros-warn "Found Gazebo/ros_control environment"))
)
(when on-gazebo-ros-control
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Do not read the following until you finish your bachelor thesis)

This when does not work as you expect:

1.irteusgl$ (setq var t)
t
2.irteusgl$ (defclass test :super object :slots ())
test
3.irteusgl$ (defmethod test (:init ()) (when var (:test ())))
test
4.irteusgl$ (setq test-ins (instance test :init))
#<test #X560f20ad91a8>
5.irteusgl$ (send test-ins :methods)
(:init when :prin1 :warning :error :slots :methods :super :get-val :set-val)

Therefore, hironxjsk-interface defines and uses special :gazebo-ros-controller:

(on-gazebo-ros-control :gazebo-ros-controller)

(:gazebo-ros-controller ()
(append
(send self :rarm-controller)
(send self :larm-controller)
(send self :head-controller)
(send self :torso-controller)))

Or you can use macro, one of the biggest advantages of Lisp (but readability may be decreased):
https://github.com/start-jsk/rtmros_common/blob/57331a5179d0d10947ff6f58eae744aa8c0be22a/hrpsys_ros_bridge/euslisp/rtm-ros-robot-interface.l#L303-L322

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants