Giter Club home page Giter Club logo

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

"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

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

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!

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

Base/leg motion sync

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

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.

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!

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>]

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)

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.

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?

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.

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.

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

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.