A Foxglove user interface for legged robots
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.
This repo is a standard Foxglove extension, built according to the create-foxglove-extension standard.
-
- 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
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
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)
Want something more on the interface? Open an Enhancement issue describing it.
- 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!
Victor T. N. 🤖
Made with ❤️ by @Vtn21