Trajectory optimization package for Mini-Pupper robot

Related tags

Hardware mini-pupper
Overview

Trajectory optimization package for Mini-Pupper robot

Purpose of this repository is to provide low-torque and low-impact trajectory for Mini-Pupper quadrupedal robot.

Requirements

First, install Pinocchio by following the instruction. Next, install robotoc at ROBOTOC_INSTALL_DIR as

git clone https://github.com/mayataka/robotoc & cd robotoc
mkdir build & cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DOPTIMIZE_FOR_NATIVE=ON -DCMAKE_INSTALL_PREFIX=ROBOTOC_INSTALL_DIR
make install -j4

and modify Python path as

export PYTHONPATH=ROBOTOC_INSTALL_DIR/lib/python3.8/site-packages:$PYTHONPATH 

e.g., write it in ~/.bashrc. Finally, install meshcat-python as

pip install meshcat

Running the trajectory optimizer

In mini_pupper_trajopt/trajopt directory, you can run examples of the mini-pupper's gait optimization. You can change the gait parameters such as step length, step height, step timinigs, etc. It visualizes the solution trajectory and save the trajectory.

Deploying the trajectory to the mini-pupper controller

TODO

You might also like...
Robot Framework keyword library wrapper for atlassian-python-api

Robot Framework keyword library wrapper for atlassian-python-api

Toy robot that traverses on a finite surface

Toy Robot Challenge - Release Notes November 12, 2021 New features Initialisation - Users can set the home position and heading of the robot. Position

Small Robot, with LIDAR and DepthCamera. Using ROS for Maping and Navigation
Small Robot, with LIDAR and DepthCamera. Using ROS for Maping and Navigation

πŸ€– RoboCop πŸ€– Small Robot, with LIDAR and DepthCamera. Using ROS for Maping and Navigation Made by Clemente Donoso, πŸ“ Chile πŸ‡¨πŸ‡± RoboCop Lateral Fron

The robot is an autonomous small scale racing car using NVIDIA Jetson Nano.
The robot is an autonomous small scale racing car using NVIDIA Jetson Nano.

The robot is an autonomous small scale racing car using NVIDIA Jetson Nano. This project utilizes deep learning neural network framework Keras/Tensorflow, together with computer vision library OpenCV, to achieve self driving. The robot has camera and he is using computer vision to detect the road and follow it. The robot also can be controled by joystick or cellphone for driving.

Python implementation of ZMP Preview Control approach for biped robot control.
Python implementation of ZMP Preview Control approach for biped robot control.

ZMP Preview Control This is the Python implementation of ZMP Preview Control app

ROS2 nodes for Waveshare Alphabot2-Pi mobile robot.

ROS2 for Waveshare Alphabot2-Pi This repo contains ROS2 packages for the Waveshare Alphabot2-Pi mobile robot: alphabot2: it contains the nodes used to

The ABR Control library is a python package for the control and path planning of robotic arms in real or simulated environments.
The ABR Control library is a python package for the control and path planning of robotic arms in real or simulated environments.

The ABR Control library is a python package for the control and path planning of robotic arms in real or simulated environments. ABR Control provides API's for the Mujoco, CoppeliaSim (formerly known as VREP), and Pygame simulation environments, and arm configuration files for one, two, and three-joint models, as well as the UR5 and Kinova Jaco 2 arms. Users can also easily extend the package to run with custom arm configurations. ABR Control auto-generates efficient C code for generating the control signals, or uses Mujoco's internal functions to carry out the calculations.

Fener ROS2 package version 2

Fener's ROS2 codes that runs on the vehicle. This node contains basic sensing and actuation nodes for vehicle control. Also example applications will be added.

Mini Pupper - Open-Source,ROS Robot Dog Kit
Mini Pupper - Open-Source,ROS Robot Dog Kit

Mini Pupper - Open-Source,ROS Robot Dog Kit

Make a Turtlebot3 follow a figure 8 trajectory and create a robot arm and make it follow a trajectory
Make a Turtlebot3 follow a figure 8 trajectory and create a robot arm and make it follow a trajectory

HW2 - ME 495 Overview Part 1: Makes the robot move in a figure 8 shape. The robot starts moving when launched on a real turtlebot3 and can be paused a

Pip-package for trajectory benchmarking from "Be your own Benchmark: No-Reference Trajectory Metric on Registered Point Clouds", ECMR'21

Map Metrics for Trajectory Quality Map metrics toolkit provides a set of metrics to quantitatively evaluate trajectory quality via estimating consiste

SE3 Pose Interp - Interpolate camera pose or trajectory in SE3, pose interpolation, trajectory interpolation
SE3 Pose Interp - Interpolate camera pose or trajectory in SE3, pose interpolation, trajectory interpolation

SE3 Pose Interpolation Pose estimated from SLAM system are always discrete, and

This repository hosts the code for Stanford Pupper and Stanford Woofer, Raspberry Pi-based quadruped robots that can trot, walk, and jump.
This repository hosts the code for Stanford Pupper and Stanford Woofer, Raspberry Pi-based quadruped robots that can trot, walk, and jump.

This repository hosts the code for Stanford Pupper and Stanford Woofer, Raspberry Pi-based quadruped robots that can trot, walk, and jump.

Create animations for the optimization trajectory of neural nets
Create animations for the optimization trajectory of neural nets

Animating the Optimization Trajectory of Neural Nets loss-landscape-anim lets you create animated optimization path in a 2D slice of the loss landscap

Guiding evolutionary strategies by (inaccurate) differentiable robot simulators @ NeurIPS, 4th Robot Learning Workshop
Guiding evolutionary strategies by (inaccurate) differentiable robot simulators @ NeurIPS, 4th Robot Learning Workshop

Guiding Evolutionary Strategies by Differentiable Robot Simulators In recent years, Evolutionary Strategies were actively explored in robotic tasks fo

Control-Raspberry-Pi-Robot-using-Hand-Gestures - A 4WD Robot car based on Raspberry Pi that controlled by hand gestures(using openCV and mediapipe)
Space robot - (Course Project) Using the space robot to capture the target satellite that is disabled and spinning, then stabilize and fix it up

Space robot - (Course Project) Using the space robot to capture the target satellite that is disabled and spinning, then stabilize and fix it up

ArucoFollow - A script for Robot Operating System and it is a part of a project Robot
ArucoFollow - A script for Robot Operating System and it is a part of a project Robot

ArucoFollow ArucoFollow is a script for Robot Operating System and it is a part

The ormar package is an async mini ORM for Python, with support for Postgres, MySQL, and SQLite.

python async mini orm with fastapi in mind and pydantic validation

Comments
  • license for this repository

    license for this repository

    Hi.

    What is the license for this repository? I am considering publicly distributing software that has been created by quoting or modifying your software.

    Thanks.

    opened by nisshan-x 2
  • step_length is float while in robotoc, step_length is Vector3d

    step_length is float while in robotoc, step_length is Vector3d

    Data type mismatch here

    in pacing code, as also trotting and others

    class PacingOCPSolverFactory:
        def __init__(self, path_to_urdf=config.PATH_TO_URDF):
            self.path_to_urdf = path_to_urdf 
            self.step_length = 0.02
            self.step_height = 0.03
            # ....
    
        def create_ocp_solver(self):
           # ....
            LF_foot_ref = robotoc.PeriodicFootTrackRef(x3d_LF, self.step_length, self.step_height, 
                                                       LF_t0, self.swing_time, 
                                                       self.swing_time+2*self.support_time, False)
    

    While in robotoc/bindings/python/robotoc/cost/periodic_foot_track_ref.cpp

    PYBIND11_MODULE(periodic_foot_track_ref, m) {
      py::class_<PeriodicFootTrackRef, TimeVaryingTaskSpace3DRefBase,
                 std::shared_ptr<PeriodicFootTrackRef>>(m, "PeriodicFootTrackRef")
        .def(py::init<const Eigen::Vector3d&, const Eigen::Vector3d&, const double, 
                      const double, const double, const double, const bool>(),
              py::arg("x3d0"), py::arg("step_length"), py::arg("step_height"),
              py::arg("t0"), py::arg("period_swing"), py::arg("period_stance"),
              py::arg("is_first_step_half"))
        .def("set_foot_track_ref", &PeriodicFootTrackRef::setFootTrackRef,
              py::arg("x3d0"), py::arg("step_length"), py::arg("step_height"),
              py::arg("t0"), py::arg("period_swing"), py::arg("period_stance"),
              py::arg("is_first_step_half")=false)
        .def("update_x3d_ref", &PeriodicFootTrackRef::update_x3d_ref,
              py::arg("grid_info"), py::arg("x3d_ref"))
        .def("is_active", &PeriodicFootTrackRef::isActive,
              py::arg("grid_info"));
    

    examples/anymal/python/pace.py

    line 16, step_length = np.array([0.25, 0, 0])

    step_length need to be np array

    opened by qZhang88 0
Owner
Sotaro Katayama
Ph. D. student at Kyoto University / Optimal Control / Model Predictive Control
Sotaro Katayama
This repository hosts the code for Stanford Pupper and Stanford Woofer, Raspberry Pi-based quadruped robots that can trot, walk, and jump.

This repository hosts the code for Stanford Pupper and Stanford Woofer, Raspberry Pi-based quadruped robots that can trot, walk, and jump.

Stanford Student Robotics 1.2k Dec 25, 2022
ArucoFollow - A script for Robot Operating System and it is a part of a project Robot

ArucoFollow ArucoFollow is a script for Robot Operating System and it is a part

null 5 Jan 25, 2022
This repository contains all the code and files needed to simulate the notspot quadrupedal robot using Gazebo and ROS.

Notspot robot simulation - Python version This repository contains all the files and code needed to simulate the notspot quadrupedal robot using Gazeb

null 50 Sep 26, 2022
Electrolux Pure i9 robot vacuum integration for Home Assistant.

Home Assistant Pure i9 This repository integrates your Electrolux Pure i9 robot vacuum with the smart home platform Home Assistant. The integration co

Niklas Ekman 15 Dec 22, 2022
Quasi-static control of the centroid of quadruped robot

Quasi-static control of quadruped robot γ€€γ€€This is a demo of the quasi-static controller for the centroid of the quadruped robot. The Quadratic Program

Junwen Cui 21 Dec 12, 2022
Implemented robot inverse kinematics.

robot_inverse_kinematics Project setup # put the package in the workspace $ cd ~/catkin_ws/ $ catkin_make $ source devel/setup.bash Description In thi

Jianming Han 2 Dec 8, 2022
Playing diabolo with two robot arms in ROS + Gazebo

Playing diabolo with robots This repository holds the ROS packages for playing diabolo with two UR5e robot arms on ROS Melodic (Ubuntu 18.04). Read ou

null 23 Dec 18, 2022
2021 Real Robot Challenge Phase2 attemp

Real_Robot_Challenge_Phase2_AE_attemp We(team name:thriftysnipe) are the first place winner of Phase1 in 2021 Real Robot Challenge. Please see this pa

Qiang Wang 2 Nov 15, 2021
Example for Calculating Robot Dynamics Using Pinocchio Library

A Example for Calculating Robot Dynamics Using Pinocchio Library Developed by: Xinyang Tian. Platform: Linux + Pinocchio. In this work, i use Pinocchi

Rot_Tianers 33 Dec 28, 2022
Red Light Green Light Robot

Red Light Green Light Robot The primary problem addressed by our project is robotic follower behavior i.e. maintaining distance from a moving target.

Will Romano 2 Nov 20, 2021