当前方法的controller_name和model_name

本文介绍了一段 Ruby 代码示例,该示例展示了如何定义控制器方法以实现类的常量化、遍历菜单并处理状态转换等功能。此外,还提供了一个 entered 方法用于触发特定的动作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


def this_class(s=self.controller_name)
s.classify.constantize
end


<%@menus.each_with_index do |m,i|%>
<li><span><a href="/<%=@path%>/<%=i+1%>" class="cate_title"><%=m%></a>
<%=image_tag "/images/company_desc/sj.png",:class=>"menu_sj" if i+1 == mid%></span></li>
<%end%>


def entered(record)
afteractions = @opts[:after]
return unless afteractions
Array(afteractions).each do |afteract|
record.send(:run_transition_action, afteract)
end
end


def run_transition_action(action)

Symbol === action ? self.method(action).call : action.call(self)

end
ROS_MASTER_URI=http://localhost:11311 process[gazebo-1]: started with pid [11043] process[gazebo_gui-2]: started with pid [11047] process[urdf_spawner-3]: started with pid [11053] process[g1_12dof_gazebo/controller_spawner-4]: started with pid [11054] process[robot_state_publisher-5]: started with pid [11055] process[joy_node-6]: started with pid [11056] [WARN] [1753769815.458196193]: The root link pelvis has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF. [ERROR] [1753769815.461187965]: Couldn't open joystick /dev/input/js0. Will retry every second. [INFO] [1753769815.692572, 0.000000]: Controller Spawner: Waiting for service controller_manager/load_controller [INFO] [1753769815.695481, 108.665200]: Controller Spawner: Waiting for service controller_manager/switch_controller [INFO] [1753769815.697563, 108.666400]: Controller Spawner: Waiting for service controller_manager/unload_controller [INFO] [1753769815.699713, 108.667800]: Loading controller: joint_state_controller [INFO] [1753769815.708164, 0.000000]: Loading model XML from ros parameter robot_description [INFO] [1753769815.720140, 108.674000]: Waiting for service /gazebo/spawn_urdf_model [INFO] [1753769815.723614, 108.678200]: Calling service /gazebo/spawn_urdf_model [INFO] [1753769815.724401, 108.678400]: Loading controller: left_hip_pitch_controller [INFO] [1753769815.733189, 108.680600]: Spawn status: SpawnModel: Failure - entity already exists. [ERROR] [1753769815.734092, 108.681000]: Spawn service failed. Exiting. shutdown request: [/g1_12dof_gazebo/controller_spawner] Reason: new node registered with same name [INFO] [1753769815.745954, 108.687400]: Shutting down spawner. Stopping and unloading controllers... [INFO] [1753769815.747688, 108.687800]: Stopping all controllers... [INFO] [1753769815.750209, 108.690000]: Loading controller: left_hip_roll_controller [INFO] [1753769815.754279, 108.692000]: Unloading all loaded controllers... [INFO] [1753769815.755512, 108.692200]: Trying to unload left_hip_pitch_controller [INFO] [1753769815.766184, 108.696000]: Loading controller: left_hip_yaw_controller [INFO] [1753769815.770052, 108.696800]: Succeeded in unloading left_hip_pitch_controller [INFO] [1753769815.771023, 108.697200]: Trying to unload joint_state_controller [INFO] [1753769815.788712, 108.706800]: Loading controller: left_knee_controller [INFO] [1753769815.790643, 108.707200]: Succeeded in unloading joint_state_controller Traceback (most recent call last): File "/opt/ros/noetic/lib/controller_manager/spawner", line 220, in <module> if __name__ == '__main__': main() File "/opt/ros/noetic/lib/controller_manager/spawner", line 198, in main resp = load_controller(name) File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 442, in __call__ return self.call(*args, **kwds) File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 525, in call raise ServiceException("service [%s] returned no response"%self.resolved_name) rospy.service.ServiceException: service [/g1_12dof_gazebo/controller_manager/load_controller] returned no response [g1_12dof_gazebo/controller_spawner-4] process has died [pid 11054, exit code 1, cmd /opt/ros/noetic/lib/controller_manager/spawner joint_state_controller left_hip_pitch_controller left_hip_roll_controller left_hip_yaw_controller left_knee_controller left_ankle_pitch_controller left_ankle_roll_controller right_hip_pitch_controller right_hip_roll_controller right_hip_yaw_controller right_knee_controller right_ankle_pitch_controller right_ankle_roll_controller __name:=controller_spawner __log:=/home/hua/.ros/log/b08e8d24-6c42-11f0-9f00-a7d2fbfcabb6/g1_12dof_gazebo-controller_spawner-4.log]. log file: /home/hua/.ros/log/b08e8d24-6c42-11f0-9f00-a7d2fbfcabb6/g1_12dof_gazebo-controller_spawner-4*.log [gazebo-1] process has died [pid 11043, exit code 255, cmd /opt/ros/noetic/lib/gazebo_ros/gzserver -u -e ode /home/hua/robocup_g1/src/unitree_ros/unitree_gazebo/worlds/earth.world __name:=gazebo __log:=/home/hua/.ros/log/b08e8d24-6c42-11f0-9f00-a7d2fbfcabb6/gazebo-1.log]. log file: /home/hua/.ros/log/b08e8d24-6c42-11f0-9f00-a7d2fbfcabb6/gazebo-1*.log [INFO] [1753769815.986159568]: Finished loading Gazebo ROS API Plugin. [INFO] [1753769815.986703947]: waitForService: Service [/gazebo_gui/set_physics_properties] has not been advertised, waiting... [urdf_spawner-3] process has died [pid 11053, exit code 1, cmd /opt/ros/noetic/lib/gazebo_ros/spawn_model -urdf -x 0 -y 0 -z 0.8 -model g1_12dof_gazebo -param robot_description -unpause __name:=urdf_spawner __log:=/home/hua/.ros/log/b08e8d24-6c42-11f0-9f00-a7d2fbfcabb6/urdf_spawner-3.log]. log file: /home/hua/.ros/log/b08e8d24-6c42-11f0-9f00-a7d2fbfcabb6/urdf_spawner-3*.log ^C[joy_node-6] killing on exit [robot_state_publisher-5] killing on exit [gazebo_gui-2] killing on exit shutting down processing monitor... ... shutting down processing monitor complete
最新发布
07-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值