Ask Your Question

Pi Robot's profile - activity

2019-08-22 07:42:39 -0500 commented answer ROS implementation of Behavior Trees?

Thanks! I am currently using Py Trees which seems to be a very thorough implementation, well documented, and actively

2019-07-01 16:07:01 -0500 received badge  Great Answer (source)
2019-07-01 16:07:01 -0500 received badge  Guru (source)
2019-06-14 11:51:21 -0500 received badge  Great Answer (source)
2019-06-14 11:51:21 -0500 received badge  Guru (source)
2019-06-14 03:55:22 -0500 received badge  Nice Question (source)
2019-06-14 03:55:18 -0500 received badge  Great Answer (source)
2019-06-14 03:55:18 -0500 received badge  Guru (source)
2019-04-11 05:51:57 -0500 received badge  Popular Question (source)
2019-04-11 05:51:57 -0500 received badge  Notable Question (source)
2019-03-19 10:15:34 -0500 marked best answer ROS implementation of Behavior Trees?

Hello,

I have run through the tutorials for both SMACH and teer. I am wondering if anyone has implemented a ROS package based on behavior trees as used in some AI game software?

Thanks!
patrick

2018-09-27 18:59:13 -0500 marked best answer Can a SMACH state machine be paused and resumed?

Hello,

I've been working through the smach and teer tutorials. Teer appears to make it easy to pause and resume a collection of tasks. I was wondering if there is a way to do something similar in SMACH.

My use case is a robot that is running around the house doing things by executing a SMACH state machine. However, it is also monitoring its battery levels using a SMACH MonitorState. When the battery levels fall too low, the robot should navigate to its docking station, recharge, then resume the execution of the original state machine where it left off.

I can imagine using a global "pause/resume" flag in the main state machine across all its contained states but this doesn't feel very SMACH-like. Does any one know how to implement this kind of pause/resume using SMACH?

Thanks!
patrick

2018-09-27 18:59:09 -0500 received badge  Good Question (source)
2018-09-26 19:22:15 -0500 received badge  Nice Question (source)
2018-09-19 14:33:02 -0500 marked best answer Kobuki 12V 1.5A connector?

According to this page describing the Kobuki power connectors, the 12V 1.5A connector is similar to Molex PN : 5566-02B2. The connector on the robot is single-row 1-circuit but all I can find is a two-row version. Is it possible there is a different Molex part number that matches?

Thanks!
patrick

2018-09-07 16:46:58 -0500 received badge  Nice Answer (source)
2018-07-18 16:39:40 -0500 received badge  Notable Question (source)
2018-07-18 16:39:40 -0500 received badge  Popular Question (source)
2018-07-12 05:34:15 -0500 marked best answer Improving face recognition with cob_people_detection?

Hello,

I am using the most excellent cob_people_detection package under ROS Indigo and Ubuntu 14.04 together with an MS Kinect (Xbox 360) at 640x480 resolution. I have only 5 people so far in the database with 40 images per person taken at different angles but the face recognizer often assigns the wrong label to one of those same people standing in front of the camera. I've tried Fischer faces, EigenFaces, and LDA2D but performance does not change much.

Does anyone have any suggestions for improving recognition performance?

Thanks!
patrick

2018-07-11 02:02:36 -0500 marked best answer catkin package cannot find own message type (python)

Hello,

I have a package called skeleton_markers that I am in the process of converting from rosbuild to catkin. The package builds fine and I remembered to do a 'source devel/setup.bash' after compiling. But when I try to run a Python node (in the same package) that imports a message type defined in my package, I get the error:

Traceback (most recent call last):
  File "/home/patrick/catkin_ws/src/skeleton_markers/nodes/skeleton_markers.py", line 24, in <module>
    from skeleton_markers.msg import Skeleton
  File "/home/patrick/Dropbox/Robotics/catkin_ws/src/skeleton_markers/nodes/skeleton_markers.py", line 24, in <module>
    from skeleton_markers.msg import Skeleton
ImportError: No module named msg

When I run rosmsg on the message type, I get back the correct response:

$ rosmsg show skeleton_markers/Skeleton std_msgs/Header header
  uint32 seq
  time stamp
  string frame_id
int32 user_id
string[] name
float32[] confidence
geometry_msgs/Vector3[] position
  float64 x
  float64 y
  float64 z
geometry_msgs/Quaternion[] orientation
  float64 x
  float64 y
  float64 z
  float64 w

So I'm guessing I'm missing a key ingredient that allows a Python node to import my message type. Here are my package.xml and CMakeLists.txt files. The Python node I am trying to run is skeleton_markers.py.

My package.xml file:

<package>
  <name>skeleton_markers</name>
  <version>0.4.0</version>
  <description>
   Skeleton Markers: Publish a list of joint markers 
   for viewing in RViz.
  </description>

  <maintainer <a href="mailto:email="patrick@pirobot.org">Patrick">email="patrick@pirobot.org">Patrick</a> Goebel</maintainer>
  <license>BSD</license>
  <url type="website">http://ros.org/wiki/skeleton_markers</url>
  <url type="https://github.com/pirobot/skeleton_markers/issues"></url>
  <author <a href="mailto:email="patrick@pirobot.org">Patrick">email="patrick@pirobot.org">Patrick</a> Goebel</author>

  <buildtool_depend>catkin</buildtool_depend>

  <build_depend>libopenni-dev</build_depend>
  <build_depend>libopenni-nite-dev</build_depend>
  <build_depend>libopenni-sensor-primesense-dev</build_depend>
  <build_depend>geometry_msgs</build_depend>
  <build_depend>tf</build_depend>
  <build_depend>orocos_kdl</build_depend>
  <build_depend>message_generation</build_depend>
  <build_depend>visualization_msgs</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>geometry_msgs</build_depend>
  <build_depend>openni_camera</build_depend>
  <build_depend>openni_tracker</build_depend>
  <build_depend>rospy</build_depend>
  <build_depend>roscpp</build_depend>

  <run_depend>libopenni-dev</run_depend>
  <run_depend>libopenni-nite-dev</run_depend>
  <run_depend>libopenni-sensor-primesense-dev</run_depend>
  <run_depend>geometry_msgs</run_depend>
  <run_depend>orocos_kdl</run_depend>
  <run_depend>message_runtime</run_depend>
  <run_depend>visualization_msgs</run_depend>
  <run_depend>std_msgs</run_depend>
  <run_depend>geometry_msgs</run_depend>
  <run_depend>tf</run_depend>
  <run_depend>openni_camera</run_depend>
  <run_depend>openni_tracker</run_depend>
  <run_depend>rospy</run_depend>
  <run_depend>roscpp</run_depend>

</package>

My CMakeLists.txt file:

cmake_minimum_required(VERSION 2.8.3)
project(skeleton_markers)

find_package(orocos_kdl REQUIRED)
find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  tf
  geometry_msgs
  message_generation)

# Find OpenNI
find_package(PkgConfig)
pkg_check_modules(OpenNI REQUIRED libopenni)

# Find Nite
find_path(Nite_INCLUDEDIR
          NAMES XnVNite.h
          HINTS /usr/include/nite /usr/local/include/nite)
find_library(Nite_LIBRARY
             NAMES XnVNite_1_3_1
             HINTS /usr/lib /usr/local/lib
             PATH_SUFFIXES lib) 

link_directories(
  ${catkin_LIBRARY_DIRS}
  ${Boost_LIBRARY_DIRS}
  ${orocos_kdl_LIBRARY_DIRS}
  ${OpenNI_LIBRARIES}
  ${Nite_LIBRARY}
)

include_directories(${catkin_INCLUDEDIR}
                    ${OpenNI_INCLUDEDIR}
                    ${Nite_INCLUDEDIR}
                    ${orocos_kdl_INCLUDE_DIRS})

set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

add_message_files (
  FILES
  Skeleton.msg
)

generate_messages(
  DEPENDENCIES geometry_msgs std_msgs
)

catkin_package(
    DEPENDS rospy roscpp visualization_msgs std_msgs geometry_msgs
    openni_camera openni_tracker tf
    CATKIN-DEPENDS message_runtime
    INCLUDE_DIRS # TODO
    LIBRARIES # TODO
)

add_executable(skeleton_tracker
  src/skeleton_tracker.cpp
  src/KinectController.cpp
  src/KinectDisplay.cpp)

target_link_libraries(skeleton_tracker
  glut
  ${catkin_LIBRARIES}
  ${OpenNI_LIBRARIES}
  ${Nite_LIBRARY}
  ${orocos_kdl_LIBRARIES})

install(TARGETS skeleton_tracker RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

Thanks!
patrick

UPDATE ... (more)

2018-03-07 09:36:47 -0500 asked a question dynparam dump recursively?

dynparam dump recursively? Hello, I would like to dump all dynamically reconfigurable parameters under the /move_base p

2018-03-02 01:26:09 -0500 marked best answer How to check xacro syntax like check_urdf?

Hello!

I would like to do a command line syntax check of an Xacro robot model similar to the one used for non-xacro files which is:

$ rosrun urdf check_urdf model.urdf

I know I can generate a temporary URDF file from my Xacro file using:

$ rosrun xacro xacro.py model.urdf.xacro > tmp.urdf

and then run 'rosrun urdf check_urdf' on that file. But for some reason I can't figure out how to simply pipe the two commands together into one command. Can it be done?

Thanks! patrick

2018-02-10 03:56:48 -0500 received badge  Popular Question (source)
2018-02-10 03:56:48 -0500 received badge  Famous Question (source)
2018-02-10 03:56:48 -0500 received badge  Notable Question (source)
2018-02-06 19:31:38 -0500 asked a question Looping a sequence in py_trees

Looping a sequence in py_trees Hello, I am trying out the most excellent py_trees_ros package and I was wondering if th

2018-02-05 05:24:12 -0500 received badge  Good Answer (source)
2017-12-29 17:45:12 -0500 received badge  Good Answer (source)
2017-11-09 07:19:13 -0500 received badge  Nice Question (source)
2017-11-09 07:19:10 -0500 received badge  Famous Question (source)