Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Stack updates from devel branch (#234)
* update orientation transforms in ground_truth_publisher * Correct angular velocity in ground_truth_publisher, orientation still wrong * fix mocap_optitrack rotation, so far untested * Add checkMessages to ID * Fix last_state_time bug in ID * Improve quad_mpc weights * Fix LFP bug computing midstance at end of horizon * Correct angular velocity typo in ground_truth_publisher * add nonlinear MPC for both global and local footstep planner, add IPOPT installation script * keep empty ipopt folder * Add centrifugal terms to footstep planner * update ground truth publisher to subs to /mcu/state/vel * fix vel_sub_ header * Fix wrapping in GBP, change mpc horizon to 3 periods * Update walking speed * Add mesh to grid map converter * Add other basic step environments, have spirit_gazebo.launch load them * Fix GBP replanning and use actual path length * Update footstep planner to add velocity tracking term, use old solutions for linearization and initial foot positions * better warm start * Adding subsampled local plan poses to rviz to visualize planned orientation and not just CG path. * Fix contact plugin by adding publisher * Change traj publisher to only set joint info for full trajectories * Fix GRF bug (zero in x direction for leg 0) * fix angular velocity frame in NMPC * add rbdl, use rbdl for jacobian * Update mpc controller horizon * Update GBP to output ang vel in body frame * move jacobian into kinematics, fix all getJacobian calls, fix convex MPC angular velocity * Adding orientation and foot force tests to test_kinematics. * Get contact forces in the correct frame * Updating test_kinematics to work with RBDL and debugging URDF parameter loading issue. * fix quadruped_mpc_test fail * WIP swing leg inverse dynamics * Unify urdf/sdf parameter loading, fix quad_mpc test bug * merge angvel fix and delete the hotfix in nmpc * Add very basic input saturation warning to ID * add inverse dynamics for swing leg * fix inverse dynamics for swing leg * Another force and torque test * add parameter to switch between convex mpc and nonlinear mpc * fix matrix inverse in inverse dynamics * add nan and inf check for inverse dynamics, fix load param issues when testing * little improvement on nmpc * better warmstart for nmpc * Add grid map filters, use grid maps in GBP and LP * Start adding action and stater classes * Update global plan visualization to include different colors for different primitives * Add visualization features to GBP to animate tree growth * Switch to world frame ang vel in quadruped_mpc * Modify rviz view * Use current foot positions for initialization in LP * Switch to nominal velocity for target states rather than random, add #define support for plotting trajectories * Start switching local planner to variable timesteps * Switch ID to continuous time interp * Re-add additional footstep heuristic terms * delete unused rbdl files * Fix test_quadruped_mpc.cpp * Moved twist input into local_planner directly rather than feeding twist inputs through twist_body_planner * rename variable * Remove .obj file for room test * fix nan when liftoff is the terminal state * Update LP convex gains and remove time limit * Continue SLIP updates, add test for action commutation * Further reverse stance debugging * Initial silly walk commit * Update for better directions * Update CMakeLists and launchfiles to make template clearer * Minor changes * Update body state msg calls * Add legIKLegBaseFrame to kinematics class, fix bug in open_loop_controller test CMakeLists.txt * Initialized to zero position * Update init_remote.sh * Update init_remote.sh * Update remote and robot initialization scripts * Update launch_robot_env.sh * Update launch_robot_env.sh * Add convenient plan testing launch file * Update stance phase propagation * fix nmpc initialization, fix orientation pose plot in rviz * Update Status Badge * Initial commit * Further leg-controller updates * Simple bugfixes * Finish inverse dynamics class * Switch SpiritKinematics to QuadKD, switch inverse dynamics function to QuadKD * Fix swing torque bug * Unify computation of swing and stance torques * Bugfix * Fix torque mapping to index correctly past body coordinates * Put identified leg inertial parameters into spirit.sdf and spirit.urdf files. * Update GRFs in RViz Interface * Update RViz settings * Add GRF Array to inverse dynamics output * Remove branch restrictions from CircleCI config * Update tests for leg controller and inverse dynamics * Make leg parameter definitions uniform in QuadKD by loading leg lengths from RBDL-loaded urdf in QuadKD constructor * update NMPC, adaptive body height and constraints using terrain information * add new topic: /state/ground_truth_body_frame that independent on mocap and use imu twist * Fix most bugs in SLIP GRF parameterization, returns plans * Add rough terrain, adaptive body height and orientation, fix foot velocity pseudo inverse * Remove z filtering so SLIP profiles are unaltered * Fix step_20cm terrain shift * Begin gbp tweaks for efficiency, fix rotate GRF * Update closed form solution for linear dynamics in NMPC * Attempt to handle slopes by predicting z_max * Switch build system to catkin_tools, switch spirit* to quad* * Fix timeout in catkin_tools install * Reduce jobs in circle ci to avoid compiling issues * Initial commit * Fix spirit namespace in parsing scripts * fix sdls matrix inverse by comparing with the max eigen value, change nmpc controller test to a trotting at the same point * Add restart flag to mblink converter * Increase update rate of mblink converter to 500Hz * Update model.config * Update README.md * Update processLog.m * Update LICENSE * Update LICENSE.txt * Update LICENSE * Update global_body_planner.yaml * Update planning_utils.h * Update CMakeLists.txt Removed from line 31: include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../external/QuadSDK/SDK/thirdparty) * Change a few more namespacing instances, remove .travis.yml * Delete parseSpiritBag.m * Finish initial LegControllerTemplate integration * Add joint controller (needs cleaning) * Switch back to grf controller * Switch leg controller to leg controller interface, implement leg controller template as abstract class * Fix leg controller test bug * add panic variable, better warm start * fix inverse dynamics, fix gait round up problem * fix inverse dynamics, add hip clearance for footstep planner, revert plan index and current position for twist planner * set the control and estimation rate to 500Hz so as to match the real robot * Switch FastTerrainMap queries from O(n^2) to O(1) * Add getNearestValidFoothold function * Add traversability mask layer to terrain map * Switch to flying trot * Fix bugs in merge (missed some namespaces) * Switch foot markers to spheres * Fix timestamp bug from merge * fix swing foot ID * fix ID again * Begin cleanup of global body planner spin * Add GlobalBodyPlan class and clean up global_body_planner.cpp interface * Remove matlab gen msg * About to begin switch to Eigen for state * cleaned up the mpc stuff and removed dependencies * removed additional extra files going to write unitest for computeFootPos next * Added spirit_rotors.sdf with rotor inertias and launch flag to switch spirit.sdf/spirit_rotors.sdf. Also spirit.sdf upper link masses now match spirit.urdf (from inertial identification). * Correct bugs in gbp actions, add tests, update sim rate, add features to fast terrain map * removed global footstep planner as well as qpoases and osqp * First commit after gbp overhaul with valid leap plans, update some sim update rates, increase slope penalty on footholds * Fix some bugs in the merge * Reduce traversability threshold * clean up pull request * fix ipopt building error * delete qpOASES * specify coinbrew version * Fix out of range bug in FTM, connect timing bug in GBP, update sim timesteps for worlds * Reasonable GBP performance * Fix bug in NMPC test, rename time_ahead to first_element_duration * online update swing foot trajectory * fix merge issues * init nominal prev foot postion, fix interp when z duration = 0, update pass foothold more frequently * limit acceleration of swing foot * Clean up GBP formatting * Remove NMPC test requirement to solve problem given CIs limitations * better swing foot acceleration limit, fix acceleration interplation at the end, smaller feedback on velocity, consider toe radius * fix init of grf position * PR updates (mostly refactoring for cleanliness and const protection) * Rename GlobalBodyPlan functions * Unify stance and swing foot planning (#199) * Initial commit moving to computeFootPlan, not compiled yet * computeFootPlan works, beginning refactoring * Fix impact acceleration bug, switch to MultiFootState for past footholds, clean LFP * Fix timestamp for foot message, clean Co-authored-by: Yanhao Yang <[email protected]> Co-authored-by: Yanhao Yang <[email protected]> * intermediate commit * Finihsed adding tests * intermediate commit before rebase * added pipeline fix * Addressed pr comments * Improve simulation and nmpc (#202) * Improve simulation friction, contact, and physics * Sync new nmpc updates * fix typo in warmstart initialization * Update ipopt options, update discretization * Fix another typo, and hopefully fix the coinbrew building error * update the rotor sdf Co-authored-by: Joe Norby <[email protected]> * Reformat to Google Style for C++ and Add CI Linting (#205) * Reformat all cpp, h, hpp files to google style, implement linting script and add to tests (one error inserted for CI testing) * Make scripts folder for cleaner root, fix test formatting error * Fix CircleCI script path * Format updates to pass linting checks * Update logging and planning launch files, remove global footstep planner (#209) * Update live plot to show ground truth grf, uniform colors and labels (#210) * Add teleop_twist_joy and configure to robot driver control modes (#211) * Add teleop_twist_joy and configure to robot driver control modes * Remove teleop_twist_joy tests of enable button, add cmd_vel to visualization * Remove EKF_tests_2021_12_3 * add grf plan initialization * update initialization * Add stand mode for local planner, remove twist body planner (#217) * Add stand mode for local planner, remove twist body planner * Fix weird formatting changes * Change stand threshold variables to ROS params, add cleaner statement of conditions * Update threshold for end of global plan to ROS param * Added teleop-twist-joy to setup_deps since joystick doesn't respond without this install. * Remove stray lines Co-authored-by: Justin Yim <[email protected]> * Improve swing foot plan (#214) * fix bugs, fix foothold heuristics, better swing foot acc limitation * remove online swing foot update, revert pd gains * Foothold nominal position minimize the maximum distance from hip plan MPC will not modify body and grf plan if fail to solve * fix centrifugal tracking term * Clean * Clean * Remove unused files and functions * Keep the original style * Fix some comments and warning info * Pass test * Resolve review requests * code format * Revert stand pose * Add getNextLiftoffIndex Use contact schedule for end_of_stance Move computeSwingApex to cpp * Fix test All the parameters should match the server... Co-authored-by: Joe Norby <[email protected]> * Clean unused or duplicate params in local planner and nmpc controller (#220) * Add stand mode for local planner, remove twist body planner * Fix weird formatting changes * Change stand threshold variables to ROS params, add cleaner statement of conditions * Update threshold for end of global plan to ROS param * Added teleop-twist-joy to setup_deps since joystick doesn't respond without this install. * Remove local_body_planner params (they are in nmpc yaml) and horizon length/timestep from nmpc (they are in local planner) * Remove stray lines * Update params in CMPC test and remove adaptive complexity test (will come in later PR) * Update local planner test with new param Co-authored-by: Justin Yim <[email protected]> * Add dash profile for rqt and roslaunch support * Fix end of stance bug (#224) * Fix end of stance bug * Add comment clarifying logic * Add tcpnodelay to logging, sim control, and sim contact state publishing (#225) * Add tcpnodelay to controller plugin, contact state publisher, and logging scripts, change local plan timestamp to publish time not state time * Use auto for ros::Time declaration * Add CMU text to spirit.urdf and spirit_meshes.urdf * Realign xml text * Add tcpnodelay hint to sim command topic, may actually affect performance (should improve) * Add state traces to RVizInterface (#230) * Adjust local planner to support arbitrary horizons and match length of body and foot plans (#221) * Add stand mode for local planner, remove twist body planner * Fix weird formatting changes * Change stand threshold variables to ROS params, add cleaner statement of conditions * Update threshold for end of global plan to ROS param * Added teleop-twist-joy to setup_deps since joystick doesn't respond without this install. * Remove local_body_planner params (they are in nmpc yaml) and horizon length/timestep from nmpc (they are in local planner) * Remove stray lines * Update params in CMPC test and remove adaptive complexity test (will come in later PR) * Update local planner test with new param * Modify horizon lengths in local planner, nmpc, and tests * Update nmpc controller to support arbitrary horizons, change RVizInterface to show one frame per gait period * Add comment clarifying indexing difference * Fix body height bug in LFP * Update NMPC temporal weights to saturate at a given parameter (was unbounded before), reduce surface normal filter radius Co-authored-by: Justin Yim <[email protected]> Co-authored-by: Robomechanics Lab <[email protected]> Co-authored-by: RML group <[email protected]> Co-authored-by: Yanhao Yang <[email protected]> Co-authored-by: Justin Yim <[email protected]> Co-authored-by: James <[email protected]> Co-authored-by: justinyim <[email protected]> Co-authored-by: ardalantj <[email protected]> Co-authored-by: Yanhao Yang <[email protected]> Co-authored-by: Bill Yu <[email protected]> Co-authored-by: jrenaf <[email protected]> Co-authored-by: Jiming Ren <[email protected]>
- Loading branch information