placo 0.8.8__tar.gz → 0.8.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of placo might be problematic. Click here for more details.
- {placo-0.8.8 → placo-0.8.9}/.github/workflows/wheels.yml +1 -1
- {placo-0.8.8 → placo-0.8.9}/PKG-INFO +1 -1
- {placo-0.8.8 → placo-0.8.9}/bindings/expose-tools.cpp +2 -2
- {placo-0.8.8 → placo-0.8.9}/pyproject.toml +1 -1
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/footsteps_planner.cpp +13 -14
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/walk_pattern_generator.cpp +9 -9
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/manipulability_task.cpp +1 -1
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/integrator.cpp +1 -6
- {placo-0.8.8 → placo-0.8.9}/.clang-format +0 -0
- {placo-0.8.8 → placo-0.8.9}/.gitattributes +0 -0
- {placo-0.8.8 → placo-0.8.9}/.gitignore +0 -0
- {placo-0.8.8 → placo-0.8.9}/.readthedocs.yaml +0 -0
- {placo-0.8.8 → placo-0.8.9}/CMakeLists.txt +0 -0
- {placo-0.8.8 → placo-0.8.9}/Doxyfile +0 -0
- {placo-0.8.8 → placo-0.8.9}/LICENSE +0 -0
- {placo-0.8.8 → placo-0.8.9}/README.md +0 -0
- {placo-0.8.8 → placo-0.8.9}/bindings/doxystub.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/bindings/expose-dynamics.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/bindings/expose-eigen.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/bindings/expose-footsteps.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/bindings/expose-kinematics.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/bindings/expose-parameters.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/bindings/expose-problem.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/bindings/expose-robot-wrapper.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/bindings/expose-utils.hpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/bindings/expose-walk-pattern-generator.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/bindings/module.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/bindings/module.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/python/.vscode/settings.json +0 -0
- {placo-0.8.8 → placo-0.8.9}/python/Makefile +0 -0
- {placo-0.8.8 → placo-0.8.9}/python/placo_utils/__init__.py +0 -0
- {placo-0.8.8 → placo-0.8.9}/python/placo_utils/tf.py +0 -0
- {placo-0.8.8 → placo-0.8.9}/python/placo_utils/view.py +0 -0
- {placo-0.8.8 → placo-0.8.9}/python/placo_utils/visualization.py +0 -0
- {placo-0.8.8 → placo-0.8.9}/python/run_tests.sh +0 -0
- {placo-0.8.8 → placo-0.8.9}/scripts/requirements.sh +0 -0
- {placo-0.8.8 → placo-0.8.9}/scripts/robotpkg.sh +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/avoid_self_collisions_constraint.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/avoid_self_collisions_constraint.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/com_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/com_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/constraint.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/constraint.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/contacts.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/contacts.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/dynamics_solver.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/dynamics_solver.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/frame_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/frame_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/gear_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/gear_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/joints_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/joints_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/orientation_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/orientation_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/position_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/position_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/relative_frame_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/relative_frame_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/relative_orientation_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/relative_orientation_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/relative_position_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/relative_position_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/torque_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/dynamics/torque_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/foot_trajectory.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/foot_trajectory.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/footsteps_planner.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/footsteps_planner_naive.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/footsteps_planner_naive.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/footsteps_planner_repetitive.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/footsteps_planner_repetitive.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/humanoid_parameters.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/humanoid_parameters.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/humanoid_robot.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/humanoid_robot.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/kick.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/kick.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/lipm.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/lipm.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/swing_foot.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/swing_foot.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/swing_foot_cubic.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/swing_foot_cubic.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/swing_foot_quintic.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/swing_foot_quintic.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/walk_pattern_generator.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/walk_tasks.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/humanoid/walk_tasks.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/avoid_self_collisions_constraint.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/avoid_self_collisions_constraint.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/axis_align_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/axis_align_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/centroidal_momentum_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/centroidal_momentum_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/com_polygon_constraint.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/com_polygon_constraint.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/com_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/com_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/cone_constraint.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/cone_constraint.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/constraint.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/constraint.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/distance_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/distance_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/frame_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/frame_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/gear_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/gear_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/joint_space_half_spaces_constraint.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/joint_space_half_spaces_constraint.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/joints_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/joints_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/kinematics_solver.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/kinematics_solver.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/kinetic_energy_regularization_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/kinetic_energy_regularization_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/manipulability_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/orientation_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/orientation_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/position_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/position_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/regularization_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/regularization_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/relative_frame_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/relative_frame_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/relative_orientation_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/relative_orientation_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/relative_position_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/relative_position_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/wheel_task.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/kinematics/wheel_task.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/model/robot_wrapper.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/model/robot_wrapper.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/constraint.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/constraint.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/expression.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/expression.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/integrator.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/polygon_constraint.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/polygon_constraint.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/problem.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/problem.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/problem_polynom.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/problem_polynom.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/qp_error.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/qp_error.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/sparsity.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/sparsity.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/variable.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/problem/variable.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/axises_mask.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/axises_mask.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/cubic_spline.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/cubic_spline.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/cubic_spline_3d.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/cubic_spline_3d.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/directions.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/directions.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/polynom.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/polynom.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/prioritized.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/prioritized.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/segment.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/segment.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/utils.cpp +0 -0
- {placo-0.8.8 → placo-0.8.9}/src/placo/tools/utils.h +0 -0
- {placo-0.8.8 → placo-0.8.9}/wks.yml +0 -0
|
@@ -55,7 +55,7 @@ void exposeTools()
|
|
|
55
55
|
set_axises_overloads())
|
|
56
56
|
.def_readwrite("R_local_world", &AxisesMask::R_local_world)
|
|
57
57
|
.def_readwrite("R_custom_world", &AxisesMask::R_custom_world)
|
|
58
|
-
.def("apply", &AxisesMask::apply);
|
|
58
|
+
.def("apply", &AxisesMask::apply);
|
|
59
59
|
|
|
60
60
|
class__<Prioritized, boost::noncopyable>("Prioritized", no_init)
|
|
61
61
|
.add_property("name", &Prioritized::name)
|
|
@@ -140,7 +140,7 @@ void exposeTools()
|
|
|
140
140
|
+[](HistoryCollection& collection, std::vector<std::string> entries, double start_t, double dt, int length) {
|
|
141
141
|
Eigen::MatrixXd result(length, entries.size());
|
|
142
142
|
|
|
143
|
-
for (
|
|
143
|
+
for (int i = 0; i < length; i++)
|
|
144
144
|
{
|
|
145
145
|
double t = start_t + i * dt;
|
|
146
146
|
for (unsigned int j = 0; j < entries.size(); j++)
|
|
@@ -98,12 +98,11 @@ bool FootstepsPlanner::Footstep::operator==(const Footstep& other)
|
|
|
98
98
|
return side == other.side && frame.isApprox(other.frame);
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
FootstepsPlanner::Support::Support()
|
|
101
|
+
FootstepsPlanner::Support::Support()
|
|
102
102
|
{
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
FootstepsPlanner::Support::Support(std::vector<Footstep> footsteps)
|
|
106
|
-
: footsteps(footsteps)
|
|
105
|
+
FootstepsPlanner::Support::Support(std::vector<Footstep> footsteps) : footsteps(footsteps)
|
|
107
106
|
{
|
|
108
107
|
}
|
|
109
108
|
|
|
@@ -216,7 +215,7 @@ bool FootstepsPlanner::Support::operator==(const Support& other)
|
|
|
216
215
|
{
|
|
217
216
|
return false;
|
|
218
217
|
}
|
|
219
|
-
for (int k = 0; k < footsteps.size(); k++)
|
|
218
|
+
for (int k = 0; k < (int)footsteps.size(); k++)
|
|
220
219
|
{
|
|
221
220
|
if (!(footsteps[k] == other.footsteps[k]))
|
|
222
221
|
{
|
|
@@ -231,8 +230,8 @@ FootstepsPlanner::FootstepsPlanner(HumanoidParameters& parameters) : parameters(
|
|
|
231
230
|
{
|
|
232
231
|
}
|
|
233
232
|
|
|
234
|
-
std::vector<FootstepsPlanner::Support>
|
|
235
|
-
|
|
233
|
+
std::vector<FootstepsPlanner::Support> FootstepsPlanner::make_supports(
|
|
234
|
+
std::vector<FootstepsPlanner::Footstep> footsteps, double t_start, bool start, bool middle, bool end)
|
|
236
235
|
{
|
|
237
236
|
std::vector<Support> supports;
|
|
238
237
|
|
|
@@ -241,36 +240,36 @@ FootstepsPlanner::make_supports(std::vector<FootstepsPlanner::Footstep> footstep
|
|
|
241
240
|
if (start)
|
|
242
241
|
{
|
|
243
242
|
// Creating the first (double-support) initial state
|
|
244
|
-
Support support({footsteps[0], footsteps[1]});
|
|
243
|
+
Support support({ footsteps[0], footsteps[1] });
|
|
245
244
|
support.start = true;
|
|
246
245
|
support.t_start = t_start;
|
|
247
246
|
supports.push_back(support);
|
|
248
247
|
}
|
|
249
248
|
else
|
|
250
249
|
{
|
|
251
|
-
Support support({footsteps[0]});
|
|
250
|
+
Support support({ footsteps[0] });
|
|
252
251
|
support.t_start = t_start;
|
|
253
252
|
supports.push_back(support);
|
|
254
253
|
|
|
255
254
|
if (middle)
|
|
256
255
|
{
|
|
257
|
-
Support double_support({footsteps[0], footsteps[1]});
|
|
256
|
+
Support double_support({ footsteps[0], footsteps[1] });
|
|
258
257
|
double_support.t_start = t_start;
|
|
259
258
|
supports.push_back(double_support);
|
|
260
259
|
}
|
|
261
260
|
}
|
|
262
261
|
|
|
263
262
|
// Adding single/double support phases
|
|
264
|
-
for (int step = 1; step < footsteps.size() - 1; step++)
|
|
263
|
+
for (int step = 1; step < (int)footsteps.size() - 1; step++)
|
|
265
264
|
{
|
|
266
|
-
Support single_support({footsteps[step]});
|
|
265
|
+
Support single_support({ footsteps[step] });
|
|
267
266
|
supports.push_back(single_support);
|
|
268
267
|
|
|
269
|
-
bool is_end = (step == footsteps.size() - 2);
|
|
268
|
+
bool is_end = (step == (int)footsteps.size() - 2);
|
|
270
269
|
|
|
271
270
|
if ((!is_end && middle))
|
|
272
271
|
{
|
|
273
|
-
Support double_support({footsteps[step], footsteps[step + 1]});
|
|
272
|
+
Support double_support({ footsteps[step], footsteps[step + 1] });
|
|
274
273
|
supports.push_back(double_support);
|
|
275
274
|
}
|
|
276
275
|
}
|
|
@@ -279,7 +278,7 @@ FootstepsPlanner::make_supports(std::vector<FootstepsPlanner::Footstep> footstep
|
|
|
279
278
|
if (end)
|
|
280
279
|
{
|
|
281
280
|
// Creating the first (double-support) initial state
|
|
282
|
-
Support support({footsteps[footsteps.size() - 2], footsteps[footsteps.size() - 1]});
|
|
281
|
+
Support support({ footsteps[footsteps.size() - 2], footsteps[footsteps.size() - 1] });
|
|
283
282
|
support.end = true;
|
|
284
283
|
supports.push_back(support);
|
|
285
284
|
}
|
|
@@ -10,7 +10,7 @@ using namespace placo::problem;
|
|
|
10
10
|
using namespace placo::tools;
|
|
11
11
|
|
|
12
12
|
WalkPatternGenerator::TrajectoryPart::TrajectoryPart(FootstepsPlanner::Support support, double t_start)
|
|
13
|
-
:
|
|
13
|
+
: t_start(t_start), support(support)
|
|
14
14
|
{
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -20,13 +20,13 @@ WalkPatternGenerator::Trajectory::Trajectory() : left_foot_yaw(true), right_foot
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
WalkPatternGenerator::Trajectory::Trajectory(double com_target_z, double t_start, double trunk_pitch, double trunk_roll)
|
|
23
|
-
:
|
|
24
|
-
, right_foot_yaw(true)
|
|
25
|
-
, trunk_yaw(true)
|
|
23
|
+
: t_start(t_start)
|
|
26
24
|
, com_target_z(com_target_z)
|
|
27
|
-
, t_start(t_start)
|
|
28
25
|
, trunk_pitch(trunk_pitch)
|
|
29
26
|
, trunk_roll(trunk_roll)
|
|
27
|
+
, left_foot_yaw(true)
|
|
28
|
+
, right_foot_yaw(true)
|
|
29
|
+
, trunk_yaw(true)
|
|
30
30
|
{
|
|
31
31
|
T.setIdentity();
|
|
32
32
|
}
|
|
@@ -232,7 +232,7 @@ FootstepsPlanner::Support WalkPatternGenerator::Trajectory::get_next_support(dou
|
|
|
232
232
|
{
|
|
233
233
|
int index;
|
|
234
234
|
_findPart(parts, t, &index);
|
|
235
|
-
if (index + n >= parts.size())
|
|
235
|
+
if (index + n >= (int)parts.size())
|
|
236
236
|
{
|
|
237
237
|
return T * parts.back().support;
|
|
238
238
|
}
|
|
@@ -353,7 +353,7 @@ void WalkPatternGenerator::plan_feet_trajectories(Trajectory& trajectory, Trajec
|
|
|
353
353
|
old_trajectory->trunk_yaw.vel(trajectory.t_start));
|
|
354
354
|
}
|
|
355
355
|
|
|
356
|
-
for (int i; i < trajectory.parts.size(); i++)
|
|
356
|
+
for (int i = 0; i < (int)trajectory.parts.size(); i++)
|
|
357
357
|
{
|
|
358
358
|
// Single support
|
|
359
359
|
if (trajectory.parts[i].support.footsteps.size() == 1)
|
|
@@ -454,7 +454,7 @@ void WalkPatternGenerator::plan_com(Trajectory& trajectory, std::vector<Footstep
|
|
|
454
454
|
// Solving the problem
|
|
455
455
|
problem.solve();
|
|
456
456
|
|
|
457
|
-
for (int i = 0; i < trajectory.parts.size(); i++)
|
|
457
|
+
for (int i = 0; i < (int)trajectory.parts.size(); i++)
|
|
458
458
|
{
|
|
459
459
|
auto& part = trajectory.parts[i];
|
|
460
460
|
part.com_trajectory = lipms[i].get_trajectory();
|
|
@@ -621,7 +621,7 @@ double WalkPatternGenerator::support_default_duration(FootstepsPlanner::Support&
|
|
|
621
621
|
|
|
622
622
|
void WalkPatternGenerator::Trajectory::print_parts_timings()
|
|
623
623
|
{
|
|
624
|
-
for (int i = 0; i < parts.size(); i++)
|
|
624
|
+
for (int i = 0; i < (int)parts.size(); i++)
|
|
625
625
|
{
|
|
626
626
|
std::cout << "Part " << i << " : start at " << parts[i].t_start << ", end at " << parts[i].t_end << std::endl;
|
|
627
627
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
namespace placo::kinematics
|
|
5
5
|
{
|
|
6
6
|
ManipulabilityTask::ManipulabilityTask(model::RobotWrapper::FrameIndex frame_index, Type type, double lambda)
|
|
7
|
-
: frame_index(frame_index),
|
|
7
|
+
: frame_index(frame_index), lambda(lambda), type(type)
|
|
8
8
|
{
|
|
9
9
|
}
|
|
10
10
|
|
|
@@ -171,11 +171,6 @@ Expression Integrator::expr_t(double t, int diff)
|
|
|
171
171
|
{
|
|
172
172
|
t -= t_start;
|
|
173
173
|
|
|
174
|
-
if (t < 0 || t > variable->size() * dt)
|
|
175
|
-
{
|
|
176
|
-
throw std::runtime_error("expr_t called with a t out of the scope of the integrator");
|
|
177
|
-
}
|
|
178
|
-
|
|
179
174
|
int step = std::max<int>(std::min<int>(variable->size() - 1, t / dt), 0);
|
|
180
175
|
|
|
181
176
|
if (diff == order)
|
|
@@ -190,7 +185,7 @@ Expression Integrator::expr_t(double t, int diff)
|
|
|
190
185
|
Eigen::MatrixXd Ar = AB.first;
|
|
191
186
|
Eigen::MatrixXd Br = AB.second;
|
|
192
187
|
|
|
193
|
-
Expression e = (Ar * expr(step)) + Br * variable->expr(step);
|
|
188
|
+
Expression e = (Ar * expr(step)) + Br * variable->expr(step, 1);
|
|
194
189
|
|
|
195
190
|
if (diff > -1)
|
|
196
191
|
{
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|