-
Notifications
You must be signed in to change notification settings - Fork 53
[WIP][hrpsys_ros_bridge_tutorials] Enable to call :def-limb-controller-method before *ri* initialization #1095
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
[WIP][hrpsys_ros_bridge_tutorials] Enable to call :def-limb-controller-method before *ri* initialization #1095
Conversation
|
Good! If my understanding is collect, |
Yes, you are right.
This may not work, because I think Why I used Perhaps introducing |
I think this works. With this method, |
|
I see, thank you for your information! |
|
I don't understand why you want to use :def-limb-controller-method before |
|
@YoheiKakiuchi |
|
But I know this is too robot-specific reason, so in the top comment, I talked about a merit for all rtmros robots. |
|
I understand you want to use :default-controller which is created by appending methods defined by :def-limb-controller-method. Very simple solution, you can create robot model before calling :def-limb-controller-method(it can be called before initialization) . |
Yes, you are right, I already tried that solution and confirmed it works. I thought required modification is very small and the modified |
default-controller returens list of possible controllers: https://github.com/jsk-ros-pkg/jsk_robot/blob/c161b6a87fa00a29909833bb1250c5ee96e42de6/jsk_baxter_robot/baxtereus/baxter-interface.l#L59-L63
default-controller returens list of possible controllers: https://github.com/jsk-ros-pkg/jsk_robot/blob/c161b6a87fa00a29909833bb1250c5ee96e42de6/jsk_baxter_robot/baxtereus/baxter-interface.l#L59-L63
default-controller returens list of possible controllers: https://github.com/jsk-ros-pkg/jsk_robot/blob/c161b6a87fa00a29909833bb1250c5ee96e42de6/jsk_baxter_robot/baxtereus/baxter-interface.l#L59-L63
Includes #1096
Problem
Currently, some of EusLisp interface in rtmros_tutorials cannot be initialized with a partial controller (e.g.,
:rarm-controller):This is because partial controllers are not defined before
*ri*initialization.We usually use
:def-limb-controller-methodto define partial controllers (e.g., here and here), but:def-limb-controller-methodcannot be used before*ri*initialization because it usesrobotslot of*ri*:https://github.com/start-jsk/rtmros_common/blob/1.4.3/hrpsys_ros_bridge/euslisp/rtm-ros-robot-interface.l#L317
Solution
This PR fixes the above problem by avoiding evalution of
robotwhen:def-limb-controller-methodis called.