diff --git a/baxter_gazebo/launch/baxter_world.launch b/baxter_gazebo/launch/baxter_world.launch
index ac43ae6..62c45c9 100644
--- a/baxter_gazebo/launch/baxter_world.launch
+++ b/baxter_gazebo/launch/baxter_world.launch
@@ -19,7 +19,7 @@
to launching baxter_world -->
+ command="$(find xacro)/xacro $(find baxter_description)/urdf/baxter.urdf.xacro gazebo:=true"/>
diff --git a/baxter_sim_hardware/src/baxter_emulator.cpp b/baxter_sim_hardware/src/baxter_emulator.cpp
index 4b51f47..c402e6b 100644
--- a/baxter_sim_hardware/src/baxter_emulator.cpp
+++ b/baxter_sim_hardware/src/baxter_emulator.cpp
@@ -318,7 +318,7 @@ void baxter_emulator::publish(const std::string &img_path) {
// Read OpenCV Mat image and convert it to ROS message
cv_bridge::CvImagePtr cv_ptr(new cv_bridge::CvImage);
try {
- cv_ptr->image = cv::imread(img_path, CV_LOAD_IMAGE_UNCHANGED);
+ cv_ptr->image = cv::imread(img_path, cv::IMREAD_UNCHANGED);
if (cv_ptr->image.data) {
cv_ptr->encoding = sensor_msgs::image_encodings::BGR8;
sleep(IMG_LOAD_ON_STARTUP_DELAY); // Wait for the model to load
diff --git a/baxter_sim_io/CMakeLists.txt b/baxter_sim_io/CMakeLists.txt
index ac596f7..dafe135 100644
--- a/baxter_sim_io/CMakeLists.txt
+++ b/baxter_sim_io/CMakeLists.txt
@@ -12,7 +12,7 @@ project(baxter_sim_io)
# qt_build provides the qt cmake glue, roscpp the comms for a default talker
#find_package(catkin REQUIRED COMPONENTS qt_build roscpp baxter_core_msgs)
find_package(catkin REQUIRED COMPONENTS roscpp baxter_core_msgs)
-find_package(Qt4 REQUIRED COMPONENTS QtCore QtGui)
+find_package(Qt5Widgets)
include_directories(${catkin_INCLUDE_DIRS})
# Use this to define what the package will export (e.g. libs, headers).
# Since the default here is to produce only a binary, we don't worry about
@@ -38,16 +38,15 @@ include_directories(include
##############################################################################
# Sections
##############################################################################
-include(${QT_USE_FILE})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
file(GLOB QT_FORMS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ui/*.ui)
file(GLOB QT_RESOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} resources/*.qrc)
file(GLOB_RECURSE QT_MOC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS include/baxter_sim_io/*.hpp)
-QT4_ADD_RESOURCES(QT_RESOURCES_CPP ${QT_RESOURCES})
-QT4_WRAP_UI(QT_FORMS_HPP ${QT_FORMS})
-QT4_WRAP_CPP(QT_MOC_HPP ${QT_MOC})
+QT5_ADD_RESOURCES(QT_RESOURCES_CPP ${QT_RESOURCES})
+QT5_WRAP_UI(QT_FORMS_HPP ${QT_FORMS})
+QT5_WRAP_CPP(QT_MOC_HPP ${QT_MOC})
##############################################################################
# Sources
@@ -60,7 +59,9 @@ file(GLOB_RECURSE QT_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINK
##############################################################################
add_executable(baxter_sim_io ${QT_SOURCES} ${QT_RESOURCES_CPP} ${QT_FORMS_HPP} ${QT_MOC_HPP})
-target_link_libraries(baxter_sim_io ${QT_LIBRARIES} ${ROS_LIBRARIES} ${catkin_LIBRARIES})
+target_link_libraries(baxter_sim_io ${ROS_LIBRARIES} ${catkin_LIBRARIES})
+
+qt5_use_modules(baxter_sim_io Widgets)
add_dependencies(baxter_sim_io baxter_core_msgs_gencpp)
diff --git a/baxter_sim_io/include/baxter_sim_io/baxter_io.hpp b/baxter_sim_io/include/baxter_sim_io/baxter_io.hpp
index 5e72d24..b06d307 100644
--- a/baxter_sim_io/include/baxter_sim_io/baxter_io.hpp
+++ b/baxter_sim_io/include/baxter_sim_io/baxter_io.hpp
@@ -35,7 +35,7 @@
#ifndef BAXTER_SIM_IO_BAXTER_IO_H
#define BAXTER_SIM_IO_BAXTER_IO_H
-#include
+#include
#include
#include
#include "ui_baxter_io.h"
diff --git a/baxter_sim_io/include/baxter_sim_io/qnode.hpp b/baxter_sim_io/include/baxter_sim_io/qnode.hpp
index 24696b6..f67f02a 100644
--- a/baxter_sim_io/include/baxter_sim_io/qnode.hpp
+++ b/baxter_sim_io/include/baxter_sim_io/qnode.hpp
@@ -34,12 +34,15 @@
#ifndef baxter_sim_io_QNODE_HPP_
#define baxter_sim_io_QNODE_HPP_
+#ifndef Q_MOC_RUN
#include
+#include
+#include
+#endif
+
#include
#include
#include
-#include
-#include
namespace baxter_sim_io {
diff --git a/baxter_sim_io/package.xml b/baxter_sim_io/package.xml
index 6937b2c..b88ba97 100644
--- a/baxter_sim_io/package.xml
+++ b/baxter_sim_io/package.xml
@@ -13,11 +13,11 @@
catkin
roscpp
- libqt4-dev
+ qtbase5-dev
baxter_core_msgs
roscpp
- libqt4-dev
+ qtbase5-dev
baxter_core_msgs
diff --git a/baxter_sim_kinematics/src/arm_kinematics.cpp b/baxter_sim_kinematics/src/arm_kinematics.cpp
index 24d7b0d..92e85c0 100644
--- a/baxter_sim_kinematics/src/arm_kinematics.cpp
+++ b/baxter_sim_kinematics/src/arm_kinematics.cpp
@@ -34,6 +34,9 @@
#include
#include
#include
+#if ROS_VERSION_MINIMUM(1, 14, 0) //Melodic
+#include
+#endif
namespace arm_kinematics {
@@ -245,8 +248,13 @@ bool Kinematics::loadModel(const std::string xml) {
*/
bool Kinematics::readJoints(urdf::Model &robot_model) {
num_joints = 0;
+ #if ROS_VERSION_MINIMUM(1, 14, 0) // Melodic
+ std::shared_ptr link = robot_model.getLink(tip_name);
+ std::shared_ptr joint;
+ #else
boost::shared_ptr link = robot_model.getLink(tip_name);
boost::shared_ptr joint;
+ #endif
for (int i = 0; i < chain.getNrOfSegments(); i++)
while (link && link->name != root_name) {
if (!(link->parent_joint)) {