Git Product home page Git Product logo

free_gait's Introduction

Free Gait

An Architecture for the Versatile Control of Legged Robots

NOTICE: This software is not supported anymore! The authors of this software have changed their affiliation and do not work on this project anymore. Please excuse any inconvenience this might cause. If you are interested in working with the ANYmal robot, please reach out to ANYbotics.

Free Gait Applications

Free Gait is a software framework for the versatile, robust, and task-oriented control of legged robots. The Free Gait interface defines a whole-body abstraction layer to accommodate a variety of task-space control commands such as end effector, joint, and base motions. The defined motion tasks are tracked with a feedback whole-body controller to ensure accurate and robust motion execution even under slip and external disturbances. The application of this framework includes intuitive tele-operation of the robot, efficient scripting of behaviors, and fully autonomous operation with motion and footstep planners.

The source code is released under a BSD 3-Clause license.

Author: Péter Fankhauser
With contributions by: Samuel Bachmann, Dario Bellicoso, Thomas Bi, Remo Diethelm, Christian Gehring

This projected was initially developed at RSL, ETH Zurich.

Build Status

Publications

If you use this work in an academic context, please cite the following publication(s):

  • P. Fankhauser, D. Bellicoso, C. Gehring, R. Dubé, A. Gawel, M. Hutter, "Free Gait – An Architecture for the Versatile Control of Legged Robots", in IEEE-RAS International Conference on Humanoid Robots, 2016. (PDF)

      @inproceedings{Fankhauser2016FreeGait,
          author = {Fankhauser, P{\'{e}}ter and Bellicoso, C. Dario and Gehring, Christian and Dub{\'{e}}, Renaud and Gawel, Abel and Hutter, Marco},
          booktitle = {IEEE-RAS International Conference on Humanoid Robots},
          title = {{Free Gait – An Architecture for the Versatile Control of Legged Robots}},
          year = {2016},
      }
    

Unit Tests

catkin build free_gait_core --no-deps --verbose --catkin-make-args run_tests

Overview

This video shows some of the applications of Free Gait.

Free Gait Notions and Coordinate Systems Free Gait Motion Examples Free Gait Control Scheme
Motions are based on a combination of (possibly multiple) leg motions and a base motion per command (step). The command structure allows to control legged robots in various ways. Motion goals are commanded through the Free Gait API to the whole-body motion controller.

Usage

This video presents an overview over the tools provided in Free Gait.

Free Gait Actions

Free Gait actions are libraries and scripts that define motions using the Free Gait API (for ROS ). For ROS, these actions can be write in any language with a ROS client library using the message and action definitions in free_gait_msgs. For C++, Free Gait provides the free_gait_core library to work with motion definitions and the free_gait_ros for interfacing ROS. To work with Python, use the free_gait_python library. For simple motion definitions, Free Gait supports actions defined in YAML format. For more information about using YAML actions, refer to YAML Scripting Interface.

Free Gait commands are expressed as a combination of leg (in joint or end-effector Cartesian space) and base motions with definition of position, velocity, and/or force/torque targets or trajectories.

Target Trajectory Automatic
Leg motion in joint space JointTarget JointTrajectory LegMode
Leg motion in Cartesian space EndEffectorTarget EndEffectorTrajectory Footstep
Base motion BaseTarget BaseTrajectory BaseAuto

Free Gait actions can be either launched manually or with help of the free_gait_action_loader.

Free Gait Action Loader

The free_gait_action_loader allows to launch actions through a ROS service or ROS action. Currently, the action loader supports YAML motion definitions, Python scripts, and starting ROS launch files for C++ and other libraries.

Run the free_gait_action_loader with

rosrun free_gait_action_loader action_loader.py

The free_gait_action_loader manages the actions and makes sure that only one action is running at the time. To register an action with the free_gait_action_loader, one has to load the action as a ROS plugin.

RQT Free Gait Action

The rqt_free_gait_action package provides a rqt user interface to the free_gait_action_loader. The interface shows the actions organized in collections and allows to preview and send the actions. Additionally, collections can be run as sequence of actions and with a right-click, a collection can be selected as favorite. Favorites are shown as buttons on the top for quick access.




RQT Free Gait Monitor

Once actions are being executed by the Free Gait action server, the rqt_free_gait_monitor shows the progress of the execution and allows to pause and stop the active action.






Free Gait RViz Plugin

Actions can be previewed with the free_gait_rviz_plugin. It takes the current state of the robot and visualizes the motion based on the defined action. This RViz plugin allows to scrub through time and visualize footholds, trajectories, support polygons etc.





YAML Scripting Interface

For simple motion sequences, Free Gait actions can be defined as a sequence of YAML definitions.

For example, this action lifts the right-fore leg of the robot:

adapt_coordinates:
 - transform:
    source_frame: footprint
    target_frame: odom

steps:
 - step:
   - base_auto:
 - step:
   - base_auto:
   - end_effector_target:
      name: RF_LEG
      ignore_contact: true
      target_position:
       frame: footprint
       position: [0.39, -0.22, 0.20]

The adapt_coordinates command transforms motions defined in the source_frame to the target_frame.

FAQ

Actions Are Not Found

If no Free Gait actions are found/loaded, this service call will return empty:

rosservice call /free_gait_action_loader/list_actions "collection_id: ''"

In this case, try initializing rosdep with:

sudo rosdep init
rosdep update

free_gait's People

Contributors

dbellicoso avatar djud avatar fgiraldez avatar georgwi avatar goodfaiter avatar harmishhk avatar hogabrie avatar lisler avatar markusta avatar mbjelonic avatar pfankhauser avatar remod avatar samuelba avatar thomasbi1 avatar yvaind avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

free_gait's Issues

Build error with grid_map::PolygonRosConverter::toTriangleListMarker

I get the following build error:

Errors << free_gait_ros:make /home/gehrinch/catkin_ws/logs/free_gait_ros/build.make.000.log /home/gehrinch/catkin_ws/src/free_gait/free_gait_ros/src/RosVisualization.cpp: In static member function ‘static const Marker free_gait::RosVisualization::getStanceMarker(const Stance&, const string&, const ColorRGBA&)’: /home/gehrinch/catkin_ws/src/free_gait/free_gait_ros/src/RosVisualization.cpp:39:3: error: ‘toTriangleListMarker’ is not a member of ‘grid_map::PolygonRosConverter’ grid_map::PolygonRosConverter::toTriangleListMarker(polygon, color, height, marker); ^ make[2]: *** [CMakeFiles/free_gait_ros.dir/src/RosVisualization.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/free_gait_ros.dir/all] Error 2 make: *** [all] Error 2 cd /home/gehrinch/catkin_ws/build/free_gait_ros; catkin build --get-env free_gait_ros | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd - ........................................................................................................................................................................................................................................ Failed << free_gait_ros:make [ Exited with code 2 ] Failed <<< free_gait_ros [ 50.1 seconds ] Abandoned <<< anymal_highlevel_contro

I cleaned everything in the catkin workspace and pulled everything.

Accessing non-existing self.action

When starting move_base.py in autonomous mode, I sometimes get the following error:

[ INFO] [1528186876.028398748, 138.164000000]: [mission_states::RosInterface::publishProtocolEntry] PoseAdaptation: Started. ()
[ INFO] [1528186876.031453179, 138.164000000]: Worker [switch_from_freeze_to_free_gait_impedance_ros] started
[ WARN] [1528186876.031827301, 138.164000000]: [tinyxml_tools]: Could not find attribute 'maximalNormalForce' in element: <Constraints minimalNormalForce="15.0" />. Setting to default value '1.79769e+308'.
[ WARN] [1528186876.031999135, 138.164000000]: [tinyxml_tools]: Could not find attribute 'maximalNormalForce' in element: <Constraints minimalNormalForce="15.0" />. Setting to default value '1.79769e+308'.
[ WARN] [1528186876.033489078, 138.165000000]: NEW initialize
[ WARN] [1528186876.106990440, 138.170000000]: Key '/loco/ContactInvariantDamper/headingDampingGain' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528186876.107170117, 138.170000000]: Key '/loco/ContactInvariantDamper/lateralDampingGain' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528186876.107457787, 138.170000000]: Key 'vmcKpLin' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528186876.107617453, 138.170000000]: Computation of high-level controller is not real-time! Computation took: 31.304256 ms. (Warning is throttled: 3s)
[ WARN] [1528186876.108376543, 138.170000000]: Key 'vmcKdLin' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528186876.108527933, 138.170000000]: Key 'vmcKiLin' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528186876.108684622, 138.170000000]: Key 'vmcKffLin' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528186876.108843062, 138.170000000]: Key 'vmcKpAng' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528186876.108991156, 138.170000000]: Key 'vmcKdAng' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528186876.109140206, 138.170000000]: Key 'vmcKiAng' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528186876.109440126, 138.170000000]: Key 'vmcKffAng' was already inserted in ParameterInterface list. Overwriting reference!
[ INFO] [1528186876.110224347, 138.170000000]: [PlannerBase]  Start initialization.
[ INFO] [1528186876.110580148, 138.170000000]: [PlannerBase]  End initialization.
[ INFO] [1528186876.115974726, 138.170000000]: [Signal logger] All done, captain! Stored logging data to file silo_20180605_10-21-16_01344
[ INFO] [1528186876.125140305, 138.175000000]: Started /anymal_ctrl_free_gait/execute_steps action server.
[ INFO] [1528186876.205114367, 138.231000000]: [Rocoma][free_gait_impedance_ros] Add worker free_gait_impedance_ros_publisher!
[ INFO] [1528186876.205317240, 138.231000000]: [Rocoma][free_gait_impedance_ros] Start worker free_gait_impedance_ros_publisher!
[ INFO] [1528186876.205708579, 138.231000000]: Worker [free_gait_impedance_ros_publisher] started
[ INFO] [1528186876.206038548, 138.232000000]: [Rocoma][free_gait_impedance_ros] Successfully swapped!
[ WARN] [1528186877.018002839, 138.562000000]: Computation of publish worker in simulation is not real-time! Computation time: 3.717601 ms
[ INFO] [1528186877.756441155, 138.853000000]: [Signal logger] Use looping Time Buffer of size:1000
[ INFO] [1528186877.756663488, 138.854000000]: [Rocoma] Switched to controller free_gait_impedance_ros
[ INFO] [1528186877.757113618, 138.854000000]: Worker [switch_from_freeze_to_free_gait_impedance_ros] terminated.
[ INFO] [1528186877.765441255, 138.856000000]: waitForService: Service [/free_gait_action_loader/move_base/set_pose] has not been advertised, waiting...
[INFO] [1528186877.766966, 138.856000]: Loading Free Gait action from Python script "/home/remod/projects/anymal/catkin_ws/src/anymal_ctrl_free_gait/anymal_basic_actions/actions/move_base.py".
[ INFO] [1528186877.848785814, 138.885000000]: waitForService: Service [/free_gait_action_loader/move_base/set_pose] is now available.
[INFO] [1528186877.851455, 138.887000]: [FreeGaitActionLoader/MoveBase]: Received move pose request.
[ INFO] [1528186877.852698786, 138.888000000]: Received goal for StepAction.
[INFO] [1528186877.853559, 138.888000]: Action switched to state: Active.
[INFO] [1528186877.856764, 138.888000]: Action switched to state: Pending.
[ INFO] [1528186879.905866280, 139.597000000]: StepAction succeeded.
[INFO] [1528186879.909160, 139.598000]: Action switched to state: Idle.
[ INFO] [1528186879.965243950, 139.616000000]: [mission_states::ros_interface::ActionClient::cancelGoal] Cancelling '/free_gait_action_loader/execute_action'.
[ INFO] [1528186879.965333229, 139.616000000]: [mission_states::ros_interface::ActionClient::cancelGoal] Waiting for action result of '/free_gait_action_loader/execute_action' for inf s ...
[INFO] [1528186879.966626, 139.615000]: [FreeGaitActionLoader/MoveBase]: Stopping.
[INFO] [1528186879.972512, 139.616000]: Action switched to state: Done.
[ERROR] [1528186879.980300, 139.619000]: An exception occurred while loading the action.
Traceback (most recent call last):
  File "/home/remod/projects/anymal/catkin_ws/src/free_gait/free_gait_action_loader/bin/free_gait_action_loader/action_loader.py", line 140, in send_action
    if self.action.state == ActionState.ERROR:
AttributeError: 'NoneType' object has no attribute 'state'
[ERROR] [1528186879.980959, 139.619000]: None
[ERROR] [1528186879.983507, 139.624000]: Exception in your execute callback: 'NoneType' object has no attribute 'wait_for_state'
Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/actionlib/simple_action_server.py", line 289, in executeLoop
    self.execute_callback(goal)
  File "/home/remod/projects/anymal/catkin_ws/src/free_gait/free_gait_action_loader/bin/free_gait_action_loader/action_loader.py", line 74, in _execute_action_callback
    self.action.wait_for_state([ActionState.ERROR, ActionState.DONE])
AttributeError: 'NoneType' object has no attribute 'wait_for_state'

If it works, it looks like this:

[ INFO] [1528187036.620324505, 202.359000000]: [mission_states::RosInterface::publishProtocolEntry] PoseAdaptation: Started. ()
[ INFO] [1528187036.625064745, 202.362000000]: Worker [switch_from_freeze_to_free_gait_impedance_ros] started
[ WARN] [1528187036.625980618, 202.362000000]: [tinyxml_tools]: Could not find attribute 'maximalNormalForce' in element: <Constraints minimalNormalForce="15.0" />. Setting to default value '1.79769e+308'.
[ WARN] [1528187036.626468561, 202.363000000]: [tinyxml_tools]: Could not find attribute 'maximalNormalForce' in element: <Constraints minimalNormalForce="15.0" />. Setting to default value '1.79769e+308'.
[ WARN] [1528187036.628895572, 202.364000000]: NEW initialize
[ WARN] [1528187036.709248508, 202.368000000]: Key '/loco/ContactInvariantDamper/headingDampingGain' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528187036.709371847, 202.368000000]: Key '/loco/ContactInvariantDamper/lateralDampingGain' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528187036.709787202, 202.368000000]: Key 'vmcKpLin' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528187036.710095368, 202.368000000]: Key 'vmcKdLin' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528187036.710181220, 202.368000000]: Key 'vmcKiLin' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528187036.710548234, 202.368000000]: Key 'vmcKffLin' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528187036.710618133, 202.368000000]: Key 'vmcKpAng' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528187036.710678080, 202.368000000]: Key 'vmcKdAng' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528187036.711241493, 202.368000000]: Key 'vmcKiAng' was already inserted in ParameterInterface list. Overwriting reference!
[ WARN] [1528187036.711918601, 202.368000000]: Key 'vmcKffAng' was already inserted in ParameterInterface list. Overwriting reference!
[ INFO] [1528187036.713465778, 202.371000000]: [PlannerBase]  Start initialization.
[ INFO] [1528187036.713678448, 202.371000000]: [PlannerBase]  End initialization.
[ INFO] [1528187036.715891986, 202.373000000]: [Signal logger] All done, captain! Stored logging data to file silo_20180605_10-23-56_01346
[ INFO] [1528187036.732479888, 202.375000000]: Started /anymal_ctrl_free_gait/execute_steps action server.
[ INFO] [1528187036.802227794, 202.402000000]: [Rocoma][free_gait_impedance_ros] Add worker free_gait_impedance_ros_publisher!
[ INFO] [1528187036.802384591, 202.402000000]: [Rocoma][free_gait_impedance_ros] Start worker free_gait_impedance_ros_publisher!
[ INFO] [1528187036.802565205, 202.402000000]: Worker [free_gait_impedance_ros_publisher] started
[ INFO] [1528187036.802685762, 202.402000000]: [Rocoma][free_gait_impedance_ros] Successfully swapped!
[ WARN] [1528187037.170528674, 202.550000000]: Computation of publish of High-level Controller is not real-time! Computation time: 3.150951 ms. (Warning is throttled: 3s)
[ WARN] [1528187037.538102912, 202.704000000]: Rate 'free_gait_impedance_ros_publisher': Processing took too long (0.034868 s > 0.0333333 s). Number of warnings: 1.
[ INFO] [1528187038.466488417, 203.075000000]: [Signal logger] Use looping Time Buffer of size:1000
[ INFO] [1528187038.467029880, 203.075000000]: [Rocoma] Switched to controller free_gait_impedance_ros
[ INFO] [1528187038.467360371, 203.075000000]: Worker [switch_from_freeze_to_free_gait_impedance_ros] terminated.
[INFO] [1528187038.468555, 203.075000]: Loading Free Gait action from Python script "/home/remod/projects/anymal/catkin_ws/src/anymal_ctrl_free_gait/anymal_basic_actions/actions/move_base.py".
[ INFO] [1528187038.472807390, 203.075000000]: waitForService: Service [/free_gait_action_loader/move_base/set_pose] has not been advertised, waiting...
[ INFO] [1528187038.526623096, 203.095000000]: waitForService: Service [/free_gait_action_loader/move_base/set_pose] is now available.
[INFO] [1528187038.528847, 203.095000]: [FreeGaitActionLoader/MoveBase]: Received move pose request.
[INFO] [1528187038.529970, 203.096000]: Action switched to state: Pending.
[ INFO] [1528187038.531003546, 203.096000000]: Received goal for StepAction.
[INFO] [1528187038.532074, 203.096000]: Action switched to state: Active.
[INFO] [1528187038.579393, 203.113000]: Action was successfully started.
[ WARN] [1528187038.769217232, 203.203000000]: Computation of publish worker in simulation is not real-time! Computation time: 5.126084 ms
[ WARN] [1528187038.878232919, 203.260000000]: Computation of publish worker in simulation is not real-time! Computation time: 3.469264 ms
[ INFO] [1528187040.270880015, 203.812000000]: StepAction succeeded.
[INFO] [1528187040.271629, 203.812000]: Action switched to state: Idle.
[ INFO] [1528187040.338140300, 203.831000000]: [mission_states::ros_interface::ActionClient::cancelGoal] Cancelling '/free_gait_action_loader/execute_action'.
[ INFO] [1528187040.338242684, 203.831000000]: [mission_states::ros_interface::ActionClient::cancelGoal] Waiting for action result of '/free_gait_action_loader/execute_action' for inf s ...
[INFO] [1528187040.338773, 203.831000]: [FreeGaitActionLoader/MoveBase]: Stopping.
[INFO] [1528187040.342640, 203.832000]: Action switched to state: Done.
[ INFO] [1528187040.386046227, 203.850000000]: [mission_states::ros_interface::ActionClient::cancelGoal] The result of '/free_gait_action_loader/execute_action' has been received within 0.019 s.

Why not provide quadruped_model?

Hi, @pfankhauser @FGiraldez @remod @awinkler
Today I try to run your free_gait and found this repo is not open for normal user and only for developers like you.
I guess the quadruped_model should be a repo like msg files. But we can't use it for you did't publish it as a dependency。
And what shocked me is that there has been many issues asked this problem and there was no official response for more than a year.
issue1 issue2 issue3.
Maybe we should end this.

Base/leg motion sync

Add feature to slow down leg motion if base motion average velocity is exceeded.

Fix three legged push up error

Free gait and rviz plugin throw exceptions when starting the three legged push up from a non-default configuration.

How to reproduce:

  • Checkout release branches (might also appear on master)
  • Do some steps with the static walk and stop at a non-default configuration
  • Switch to free gait and start the three legged push up

In my case free gait and rviz plugin throw the same exceptions, but the type of exception depends on Debug or Release build:

  • Debug: std::runtime_error because the UnitQuaternion length in kindr is not 1 (by far not, so no numerical issue)
  • Release: map::at

Debug error:
free_gait_error

Could not find the required component 'quadruped_model'?

I try to build the package (using catkin_make) but this error keep poping up:

-- Could not find the required component 'quadruped_model'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "quadruped_model"
  with any of the following names:

    quadruped_modelConfig.cmake
    quadruped_model-config.cmake

  Add the installation prefix of "quadruped_model" to CMAKE_PREFIX_PATH or
  set "quadruped_model_DIR" to a directory containing one of the above files.
  If "quadruped_model" provides a separate development package or SDK, be
  sure it has been installed.

Also, I could not find the quadruped_model anywhere else. Could somebody help me to fix it?

Rearing and Trot in place visualisation error

When running the anymal_bedi_simulator in the free gait control mode when I try to preview the rearing/trot in pace actions rviz crashes with an error:
[INFO] [1513870404.644125, 171.737000]: Loading Free Gait action from YAML file "/home/joshua/projects/anymal_ws/src/anymal_ctrl_free_gait/anymal_demo_actions/actions/rearing.yaml".
[INFO] [1513870404.767768, 171.861000]: Action switched to state: Active.
QObject::connect: Cannot queue arguments of type 'QVector'
(Make sure 'QVector' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'QVector'
(Make sure 'QVector' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'QVector'
(Make sure 'QVector' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'QVector'
(Make sure 'QVector' is registered using qRegisterMetaType().)
[INFO] [1513870404.814406, 171.906000]: Action was successfully started.
[ INFO] [1513870404.814913676, 171.908000000]: FreeGaitActionPlugin Started
[ WARN] [1513870405.321076521, 172.414000000]: OGRE EXCEPTION(2:InvalidParametersException): Cannot destroy a null MovableObject. in SceneManager::destroyMovableObject at /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/src/OgreSceneManager.cpp (line 6988)
terminate called after throwing an instance of 'Ogre::InvalidParametersException'
what(): OGRE EXCEPTION(2:InvalidParametersException): Cannot destroy a null MovableObject. in SceneManager::destroyMovableObject at /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/src/OgreSceneManager.cpp (line 6988)

The simulator still runs performing the task though.

Bug: "Could not find frame '' for free gait base motion!"

Error Could not find frame '' for free gait base motion! appears in the terminal when previewing specific action (see attached file).

  • To reproduce the error just preview the "bugged_action.yaml" (there's a base_auto statement in the step).
  • If after previewing it you then preview even "bug_free_action.yaml" you will get the same error in the terminal (there's not base_auto statement in the step).
  • On the other hand, if you restart the simulation and pre-view first "bug_free_action.yaml" you will not see the error in the terminal.

@pfankhauser

fg_actions_bug_and_bug_free.tar.gz

Improvements for RQT Free Gait

  • Maybe rename from rqt_free_gait to rqt_free_gait_monitor?
  • Remove name information.
  • Update feedback output based on new feedback information.
  • Don't use pre-programmed limb names (LF_LEG etc.) and just use the given strings instead.
  • Add pause and stop execution service call with service name from parameter free_gait/pause_execution_service and free_gait/stop_execution_service

quadruped_model boilerplate

Hi,

First of all thanks for making this repo available to the public. I was looking at the issues and it seems that a lot of potential users encounter the same build problem related to missing quadruped_model package. I understand that the package may contain some proprietary information about ANYmal but is there any boilerplate that we can use in order to model arbitrary robots. I'm looking at interfacing this with https://github.com/chvmp/champ and hopefully make this more accessible to the community.

Thank you!

Clang format prints a lot of warnings.

When compiling, clang format prints a lot of warnings to the console. I think it would be beneficial if those are fixed for the next SW release. Thanks!

"quadruped_model" package

i couldn't find "quadruped_model" package i need it because when i do " catkin_make " in workspace that have " free_gait-master " terminal show me error " can't find " quadruped_model" package

free_gait not found numopt_common quadruped_model numopt_quadprog numopt_sqp

CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
Could not find a package configuration file provided by "quadruped_model"
with any of the following names:

quadruped_modelConfig.cmake
quadruped_model-config.cmake

Add the installation prefix of "quadruped_model" to CMAKE_PREFIX_PATH or
set "quadruped_model_DIR" to a directory containing one of the above files.
If "quadruped_model" provides a separate development package or SDK, be
sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)

-- Could not find the required component 'quadruped_model'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by "quadruped_model"
with any of the following names:

quadruped_modelConfig.cmake
quadruped_model-config.cmake

Add the installation prefix of "quadruped_model" to CMAKE_PREFIX_PATH or
set "quadruped_model_DIR" to a directory containing one of the above files.
If "quadruped_model" provides a separate development package or SDK, be
sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)

Add feature to have multiple transforms when parsing YAML actions

Example:

adapt_coordinates:
  - transform:
      source_frame: footprint
      target_frame: odom
  - transform:
      source_frame: <target_frame>
      target_frame: odom
      transform_in_source_frame:
        position: [<position_x>, <position_y>, <position_z>]
        orientation: [0.0, 0.0, <orientation_yaw>]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.