Skip to content

leggedrobotics-usp/foxglove-legged-robot

Repository files navigation

foxglove-legged-robot

GitHub issues GitHub pull requests GitHub forks GitHub stars GitHub license


A Foxglove user interface for legged robots

📝 Table of Contents

🧐 About

Your user-friendly interface for controllling legged robots is here! foxglove-legged-robot creates a Foxglove panel for easily interacting with almost any legged robot compatible with open-source frameworks such as legged_control the signal.

🏁 Getting Started

This repo is a standard Foxglove extension, built according to the create-foxglove-extension standard.

🛠 Prerequisites

  • foxglove_bridge

    • Required to communicate ROS2 and Foxglove. Install using apt:
    sudo apt install ros-$ROS_DISTRO-foxglove-bridge
    • Run the bridge node whenever you want to connect Foxglove and the ROS2 network
    ros2 run foxglove_bridge foxglove_bridge

💻 Installing

As mentioned above, this is a standard Foxglove extension. Thus, you can install it using npm:

git clone https://github.com/leggedrobotics-usp/foxglove-legged-robot.git
cd foxglove-legged-robot
npm run local-install

🎈 Usage

After installing the extension, add it to your Foxglove layout. It interacts with your legged robot framework using ROS topics, services and parameters. The latest version offers the following features:

  • MPC mode scheduling (a.k.a. gait type)
    • Publishes to the corresponding topic according to OCS2 MPC standars.
  • COM height
    • Sets the corresponding parameter
  • Target displacement velocity
    • Sets the corresponding parameter
  • Target rotation velocity
    • Sets the corresponding parameter
  • Stand up (button)
    • Calls the corresponding service (std_srvs/Trigger)
  • Lay down (button)
    • Calls the corresponding service (std_srvs/Trigger)
  • Reset simulation (button)
    • Calls the corresponding service (std_srvs/Trigger)

img

🔋 Feature requests

Want something more on the interface? Open an Enhancement issue describing it.

🤝 Contributing

  • Fork the repo
  • Check out a new branch based and name it to what you intend to do:
    • git checkout -b BRANCH_NAME
  • Commit your changes
    • Please provide a git message that explains what you've done;
    • Commit to the forked repository.
      git commit -m "A short and relevant message"
  • Push to the branch
    • git push origin BRANCH_NAME
  • Make a pull request!

✍️ Author


Victor T. N. 🤖

Made with ❤️ by @Vtn21

About

A Foxglove user interface for legged robots

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published