Skip to content

Commit bd65906

Browse files
davetcolemanrhaschke
authored andcommitted
Fix Travis config + issues (#47)
* cleanup .travis.yml - For Melodic, use source container as ROS underlay to avoid building MoveIt. - For Kinetic, build MoveIt master branch too. * apply clang-tidy fixes - use const references where possible - simply return of booleans * use compile-time switches to disable/enable code blocks * clang-format * fix remaining compiler warnings - order of member initialization - unused variables
1 parent 4cd050f commit bd65906

File tree

8 files changed

+110
-131
lines changed

8 files changed

+110
-131
lines changed

.travis.yml

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,26 @@
1-
# This config file for Travis CI utilizes https://github.com/ros-planning/moveit_ci/ package.
1+
# This config file for Travis CI utilizes https://github.com/ros-planning/moveit_ci package.
22
sudo: required
3-
dist: trusty
3+
dist: xenial # distro used by Travis, moveit_ci uses the docker image's distro
44
services:
55
- docker
66
language: cpp
7-
cache: ccache
87
compiler: gcc
8+
cache: ccache
99

10-
notifications:
11-
email:
12-
recipients:
13-
1410
env:
11+
global:
12+
- DOCKER_IMAGE=moveit/moveit:master-source
13+
- CXXFLAGS="-Wall -Wextra -Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls -Wno-unused-parameter -Wno-unused-function"
14+
- WARNINGS_OK=false
1515
matrix:
16-
- ROS_DISTRO=kinetic ROS_REPO=ros TEST=clang-format
17-
- ROS_DISTRO=melodic ROS_REPO=ros UPSTREAM_WORKSPACE=moveit.rosinstall
18-
- ROS_DISTRO=melodic ROS_REPO=ros-shadow-fixed UPSTREAM_WORKSPACE=moveit.rosinstall
16+
- TEST="clang-format catkin_lint"
17+
- TEST=clang-tidy-fix
18+
- DOCKER_IMAGE=moveit/moveit:melodic-source
19+
- DOCKER_IMAGE=moveit/moveit:master-source
20+
- DOCKER_IMAGE=moveit/moveit:kinetic-ci UPSTREAM_WORKSPACE=moveit.rosinstall TEST_BLACKLIST=moveit_ros_perception
21+
1922
before_script:
20-
- git clone -q https://github.com/ros-planning/moveit_ci.git .moveit_ci
23+
- git clone -q --depth=1 https://github.com/ros-planning/moveit_ci.git .moveit_ci
24+
2125
script:
22-
- .moveit_ci/travis.sh
26+
- .moveit_ci/travis.sh

include/moveit_visual_tools/imarker_end_effector.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ namespace
176176
{
177177
/** \brief Collision checking handle for IK solvers */
178178
bool isStateValid(const planning_scene::PlanningScene* planning_scene, bool verbose, bool only_check_self_collision,
179-
moveit_visual_tools::MoveItVisualToolsPtr visual_tools_, robot_state::RobotState* state,
179+
const moveit_visual_tools::MoveItVisualToolsPtr& visual_tools_, robot_state::RobotState* state,
180180
const robot_state::JointModelGroup* group, const double* ik_solution);
181181
}
182182

include/moveit_visual_tools/imarker_robot_state.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ class IMarkerRobotState
9898
bool saveToFile();
9999

100100
/** \brief Set where in the parent class the feedback should be sent */
101-
void setIMarkerCallback(IMarkerCallback callback);
101+
void setIMarkerCallback(const IMarkerCallback& callback);
102102

103103
/** \brief Get a pointer to the current robot state */
104104
moveit::core::RobotStateConstPtr getRobotState()
@@ -111,7 +111,7 @@ class IMarkerRobotState
111111
}
112112

113113
/** \brief Set the robot state */
114-
void setRobotState(moveit::core::RobotStatePtr state);
114+
void setRobotState(const moveit::core::RobotStatePtr& state);
115115

116116
/** \brief Set the robot state to current in planning scene monitor */
117117
void setToCurrentState();
@@ -138,7 +138,7 @@ class IMarkerRobotState
138138
return name_to_eef_[name];
139139
}
140140

141-
bool setFromPoses(const EigenSTL::vector_Isometry3d poses, const moveit::core::JointModelGroup* group);
141+
bool setFromPoses(const EigenSTL::vector_Isometry3d& poses, const moveit::core::JointModelGroup* group);
142142

143143
protected:
144144
// --------------------------------------------------------
@@ -186,7 +186,7 @@ namespace
186186
{
187187
/** \brief Collision checking handle for IK solvers */
188188
bool isIKStateValid(const planning_scene::PlanningScene* planning_scene, bool verbose, bool only_check_self_collision,
189-
moveit_visual_tools::MoveItVisualToolsPtr visual_tools_, robot_state::RobotState* state,
189+
const moveit_visual_tools::MoveItVisualToolsPtr& visual_tools_, robot_state::RobotState* state,
190190
const robot_state::JointModelGroup* group, const double* ik_solution);
191191
}
192192

include/moveit_visual_tools/moveit_visual_tools.h

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ class MoveItVisualTools : public rviz_visual_tools::RvizVisualTools
428428
* \brief Helper for publishCollisionWall
429429
*/
430430
void getCollisionWallMsg(double x, double y, double z, double angle, double width, double height,
431-
const std::string name, moveit_msgs::CollisionObject& collision_obj);
431+
const std::string& name, moveit_msgs::CollisionObject& collision_obj);
432432

433433
/**
434434
* \brief Publish a typical room wall
@@ -442,10 +442,10 @@ class MoveItVisualTools : public rviz_visual_tools::RvizVisualTools
442442
* \return true on sucess
443443
*/
444444
bool publishCollisionWall(double x, double y, double angle = 0.0, double width = 2.0, double height = 1.5,
445-
const std::string name = "wall",
445+
const std::string& name = "wall",
446446
const rviz_visual_tools::colors& color = rviz_visual_tools::GREEN);
447447
bool publishCollisionWall(double x, double y, double z, double angle = 0.0, double width = 2.0, double height = 1.5,
448-
const std::string name = "wall",
448+
const std::string& name = "wall",
449449
const rviz_visual_tools::colors& color = rviz_visual_tools::GREEN);
450450

451451
/**
@@ -468,7 +468,8 @@ class MoveItVisualTools : public rviz_visual_tools::RvizVisualTools
468468
}
469469

470470
bool publishCollisionTable(double x, double y, double z, double angle, double width, double height, double depth,
471-
const std::string name, const rviz_visual_tools::colors& color = rviz_visual_tools::GREEN);
471+
const std::string& name,
472+
const rviz_visual_tools::colors& color = rviz_visual_tools::GREEN);
472473

473474
/**
474475
* \brief Load a planning scene to a planning_scene_monitor from file
@@ -550,7 +551,7 @@ class MoveItVisualTools : public rviz_visual_tools::RvizVisualTools
550551
bool publishTrajectoryPath(const robot_trajectory::RobotTrajectoryPtr& trajectory, bool blocking = false);
551552
bool publishTrajectoryPath(const robot_trajectory::RobotTrajectory& trajectory, bool blocking = false);
552553
bool publishTrajectoryPath(const moveit_msgs::RobotTrajectory& trajectory_msg,
553-
const moveit::core::RobotStateConstPtr robot_state, bool blocking = false);
554+
const moveit::core::RobotStateConstPtr& robot_state, bool blocking = false);
554555
bool publishTrajectoryPath(const moveit_msgs::RobotTrajectory& trajectory_msg,
555556
const moveit::core::RobotState& robot_state, bool blocking = false);
556557
bool publishTrajectoryPath(const moveit_msgs::RobotTrajectory& trajectory_msg,
@@ -568,7 +569,7 @@ class MoveItVisualTools : public rviz_visual_tools::RvizVisualTools
568569
bool publishTrajectoryLine(const moveit_msgs::RobotTrajectory& trajectory_msg,
569570
const moveit::core::LinkModel* ee_parent_link, const robot_model::JointModelGroup* arm_jmg,
570571
const rviz_visual_tools::colors& color = rviz_visual_tools::LIME_GREEN);
571-
bool publishTrajectoryLine(const robot_trajectory::RobotTrajectoryPtr robot_trajectory,
572+
bool publishTrajectoryLine(const robot_trajectory::RobotTrajectoryPtr& robot_trajectory,
572573
const moveit::core::LinkModel* ee_parent_link,
573574
const rviz_visual_tools::colors& color = rviz_visual_tools::LIME_GREEN);
574575
bool publishTrajectoryLine(const robot_trajectory::RobotTrajectory& robot_trajectory,
@@ -586,7 +587,7 @@ class MoveItVisualTools : public rviz_visual_tools::RvizVisualTools
586587
bool publishTrajectoryLine(const moveit_msgs::RobotTrajectory& trajectory_msg,
587588
const robot_model::JointModelGroup* arm_jmg,
588589
const rviz_visual_tools::colors& color = rviz_visual_tools::LIME_GREEN);
589-
bool publishTrajectoryLine(const robot_trajectory::RobotTrajectoryPtr robot_trajectory,
590+
bool publishTrajectoryLine(const robot_trajectory::RobotTrajectoryPtr& robot_trajectory,
590591
const robot_model::JointModelGroup* arm_jmg,
591592
const rviz_visual_tools::colors& color = rviz_visual_tools::LIME_GREEN);
592593
bool publishTrajectoryLine(const robot_trajectory::RobotTrajectory& robot_trajectory,
@@ -627,16 +628,16 @@ class MoveItVisualTools : public rviz_visual_tools::RvizVisualTools
627628
* \param color - how to highlight the robot (solid-ly) if desired, default keeps color as specified in URDF
628629
* \return true on success
629630
*/
630-
bool publishRobotState(const std::vector<double> joint_positions, const robot_model::JointModelGroup* jmg,
631+
bool publishRobotState(const std::vector<double>& joint_positions, const robot_model::JointModelGroup* jmg,
631632
const rviz_visual_tools::colors& color = rviz_visual_tools::DEFAULT);
632633

633634
/**
634635
* \brief Publish a complete robot state to Rviz
635636
* To use, add a RobotState marker to Rviz and subscribe to the DISPLAY_ROBOT_STATE_TOPIC, above
636637
* \param robot_state - joint values of robot
637638
* \param color - how to highlight the robot (solid-ly) if desired, default keeps color as specified in URDF
638-
* \param highlight_links - if the |color| is not |DEFAULT|, allows selective robot links to be highlighted. by
639-
* default (empty) all links are highlighted
639+
* \param highlight_links - if the |color| is not |DEFAULT|, allows selective robot links to be highlighted.
640+
* By default (empty) all links are highlighted.
640641
*/
641642
bool publishRobotState(const moveit::core::RobotState& robot_state,
642643
const rviz_visual_tools::colors& color = rviz_visual_tools::DEFAULT,
@@ -659,7 +660,7 @@ class MoveItVisualTools : public rviz_visual_tools::RvizVisualTools
659660
* \brief Print to console the current robot state's joint values within its limits visually
660661
* \param robot_state - the robot to show
661662
*/
662-
void showJointLimits(moveit::core::RobotStatePtr robot_state);
663+
void showJointLimits(const moveit::core::RobotStatePtr& robot_state);
663664

664665
/**
665666
* @brief Get the planning scene monitor that this class is using

moveit.rosinstall

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,9 @@
11
# This file is intended for users who want to build MoveIt from source.
22
# Used with wstool, users can download source of all packages of MoveIt.
3-
- git:
4-
local-name: moveit
5-
uri: https://github.com/ros-planning/moveit.git
6-
version: melodic-devel
73
- git:
84
local-name: moveit_msgs
95
uri: https://github.com/ros-planning/moveit_msgs.git
106
version: melodic-devel
11-
- git:
12-
local-name: moveit_resources
13-
uri: https://github.com/ros-planning/moveit_resources.git
14-
version: master
157
- git:
168
local-name: rviz_visual_tools
179
uri: https://github.com/PickNikRobotics/rviz_visual_tools.git
@@ -21,12 +13,6 @@
2113
uri: https://github.com/ros-planning/geometric_shapes.git
2214
version: melodic-devel
2315
- git:
24-
local-name: srdfdom
25-
uri: https://github.com/ros-planning/srdfdom.git
16+
local-name: moveit
17+
uri: https://github.com/ros-planning/moveit.git
2618
version: melodic-devel
27-
28-
# TODO: remove:
29-
- git:
30-
local-name: graph_msgs
31-
uri: https://github.com/davetcoleman/graph_msgs.git
32-
version: jade-devel

src/imarker_end_effector.cpp

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,12 @@ IMarkerEndEffector::IMarkerEndEffector(IMarkerRobotState* imarker_parent, const
5656
ArmData arm_data, rviz_visual_tools::colors color)
5757
: name_(imarker_name)
5858
, imarker_parent_(imarker_parent)
59+
, imarker_state_(imarker_parent_->imarker_state_)
5960
, psm_(imarker_parent_->psm_)
61+
, visual_tools_(imarker_parent_->visual_tools_)
6062
, arm_data_(arm_data)
6163
, color_(color)
6264
, imarker_server_(imarker_parent_->imarker_server_)
63-
, imarker_state_(imarker_parent_->imarker_state_)
64-
, visual_tools_(imarker_parent_->visual_tools_)
6565
{
6666
// Get pose from robot state
6767
imarker_pose_ = imarker_state_->getGlobalLinkTransform(arm_data_.ee_link_);
@@ -108,7 +108,7 @@ void IMarkerEndEffector::iMarkerCallback(const visualization_msgs::InteractiveMa
108108
// Only allow one feedback to be processed at a time
109109
{
110110
// boost::unique_lock<boost::mutex> scoped_lock(imarker_mutex_);
111-
if (imarker_ready_to_process_ == false)
111+
if (!imarker_ready_to_process_)
112112
{
113113
return;
114114
}
@@ -276,26 +276,24 @@ IMarkerEndEffector::makeBoxControl(visualization_msgs::InteractiveMarker& msg)
276276
namespace
277277
{
278278
bool isStateValid(const planning_scene::PlanningScene* planning_scene, bool verbose, bool only_check_self_collision,
279-
moveit_visual_tools::MoveItVisualToolsPtr visual_tools, moveit::core::RobotState* robot_state,
279+
const moveit_visual_tools::MoveItVisualToolsPtr& visual_tools, moveit::core::RobotState* robot_state,
280280
const moveit::core::JointModelGroup* group, const double* ik_solution)
281281
{
282282
// Apply IK solution to robot state
283283
robot_state->setJointGroupPositions(group, ik_solution);
284284
robot_state->update();
285285

286-
// Ensure there are objects in the planning scene
287-
if (false)
286+
#if 0 // Ensure there are objects in the planning scene
287+
const std::size_t num_collision_objects = planning_scene->getCollisionWorld()->getWorld()->size();
288+
if (num_collision_objects == 0)
288289
{
289-
const std::size_t num_collision_objects = planning_scene->getCollisionWorld()->getWorld()->size();
290-
if (num_collision_objects == 0)
291-
{
292-
ROS_ERROR_STREAM_NAMED("cart_path_planner", "No collision objects exist in world, you need at least a table "
293-
"modeled for the controller to work");
294-
ROS_ERROR_STREAM_NAMED("cart_path_planner", "To fix this, relaunch the teleop/head tracking/whatever MoveIt "
295-
"node to publish the collision objects");
296-
return false;
297-
}
290+
ROS_ERROR_STREAM_NAMED("cart_path_planner", "No collision objects exist in world, you need at least a table "
291+
"modeled for the controller to work");
292+
ROS_ERROR_STREAM_NAMED("cart_path_planner", "To fix this, relaunch the teleop/head tracking/whatever MoveIt "
293+
"node to publish the collision objects");
294+
return false;
298295
}
296+
#endif
299297

300298
if (!planning_scene)
301299
{
@@ -328,4 +326,4 @@ bool isStateValid(const planning_scene::PlanningScene* planning_scene, bool verb
328326
return false;
329327
}
330328

331-
} // end annonymous namespace
329+
} // namespace

0 commit comments

Comments
 (0)