[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.