ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

cnhzcy14's profile - activity

2012-11-25 05:58:36 -0500 received badge  Famous Question (source)
2012-10-17 07:04:44 -0500 received badge  Famous Question (source)
2012-10-17 07:04:44 -0500 received badge  Notable Question (source)
2012-10-17 07:04:44 -0500 received badge  Popular Question (source)
2012-09-12 14:49:48 -0500 received badge  Famous Question (source)
2012-09-12 14:49:48 -0500 received badge  Notable Question (source)
2012-09-12 14:49:48 -0500 received badge  Popular Question (source)
2012-08-22 05:02:18 -0500 received badge  Notable Question (source)
2012-08-22 05:02:18 -0500 received badge  Popular Question (source)
2012-08-14 12:53:38 -0500 received badge  Good Question (source)
2012-06-29 16:37:47 -0500 commented answer What's the state machine of DriverNode?

Thank you very much for the advice Joq! I do find that some newer camera drivers only take use of SensorLevels in driver_base.

2012-06-28 20:58:34 -0500 answered a question What's the state machine of DriverNode?

It is very difficult to follow! I'm sorry but I used a very stupid way to track the doOpen in driver.h and driver_node.h: Driver::doOpen is called by Driver::raiseState called by Driver::goState called by Driver::goRunning called by DriverNode< Driver >::spin.

It is also very difficult to track the callback of dynamic_reconfigure. Some existed drivers use Driver::config_update called by DriverNode< Driver >::reconfigure as the callback. However there is not Driver::config_update in the original driver_base::Driver class.

I'm also suffering lots of problems when writing a driver for FLIR GigE Vision camera. I find that most of the camera drivers depend on some common packages like driver_base, dynamic_reconfigure, image_transport, diagnostic_updater, camera_info_manager and so on. However the ways by which they have been coded are different. More accurately, the way by which driver_base have been used are very different. I understand the API of driver_base is still under development, but I still expect a brief guide line for writing driver.

2012-06-13 14:34:47 -0500 received badge  Nice Question (source)
2012-06-13 13:13:19 -0500 received badge  Student (source)
2012-06-13 04:32:03 -0500 asked a question How to make use of real-time patch in ROS

Hi guys,

I'm involved in a robot project with real-time requirements. And I find out that the PR2 is using PREEMPT_RT patch. Now I have installed real-time ubuntu with kernel 3.2.0 by following the instructions from Real-Time Linux Wiki successfully, and have ROS Fuerte installed.

According to the Real-Time Linux Wiki, there is no special APIs for real-time. And I also notice that the pr2_controller_manager package provides a good infrastructure to run controllers in a hard real-time loop. I really want to know some hints about the way pr2_controller_manager realizes the hard real-time by PREEMPT_RT patch. Is the way using boost thread in code realizes the real-time, or some other tricks?

The second question is, how can I test my real-time node in ROS? What's test strategy of pr2_controller_manager?

Thank you very much! Simon

2011-12-19 02:25:48 -0500 commented answer stage on os x
That's really helpful! Thanks!
2011-12-17 21:57:24 -0500 received badge  Supporter (source)
2011-12-17 21:57:12 -0500 received badge  Scholar (source)
2011-12-17 21:57:12 -0500 marked best answer stage on os x

I would assume that you are either on diamondback or electric; both of these ROS distributions provide Stage 3.2.2 and not Stage 4.X.X. What I understand from Woodall's blog, is that his installation of stage/stageros provided with ROS did did not work on OS-X that is why he went on to install Stage 4.X.X separately and then he probably linked it up with ROS.

Yes, you are right stage is standalone, stageros is the wrapper for ROS, see here - http://answers.ros.org/question/2004/what-are-the-differences-between-stage-and.

Hope that answers your question.

2011-12-17 21:56:25 -0500 commented answer stage on os x
Yes, I have electric installed on OS X 10.6 by homebrew approach, and thank you for you help. Now I have new questions. First, is the link to Stage4 breakdown? Second, since Stage4 is stand alone, why there are still some lines about stage installation in CMakeLists.txt?
2011-12-17 20:03:48 -0500 asked a question stage on os x

Hi guys, after the successful installation of rviz_qt, I tried to make Stage4 to work with the new rviz_qt as mentioned in this post. I have applied patches here and here,successfully installed Stage4 by homebrew. However I have got the same problem which is mentioned here. My question is, since I have already had the Stage4 installed, why shall I still have to compile stage from source? My understand is Stage4 is a standalone simulator, and stageros is just a ros wrapper of stage. When working together, stageros node provides interface between ros and stage. Is it right?

2011-11-23 02:07:14 -0500 commented answer Problem with CMake and rosserial_arduino
Thanks, I have tried, but it's not working.
2011-11-23 02:06:20 -0500 answered a question Problem with CMake and rosserial_arduino

Still have problem. I tried the tutorial and CMake scripts from original arduino_cmake: https://github.com/queezythegreat/arduino-cmake">https://github.com/queezythegreat/arduino-cmake

That works on my OS X. So I tried to look into these scripts. In original top CMakeLists.txt, there are two lines:

set(CMAKE_MODULE_PATH    ${CMAKE_SOURCE_DIR}/cmake/modules)  # CMake module search path
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Arduino.cmake) # Arduino Toolchain

But in rosserial.cmake in rosserial_arduino package, these two lines become:

set(CMAKE_MODULE_PATH    ${rosserial_arduino_PACKAGE_PATH}/cmake_scripts/modules)  # CMake module search path
include(${rosserial_arduino_PACKAGE_PATH}/cmake_scripts/toolchains/Arduino.cmake) # Arduino Toolchain

So I changed them into

set(CMAKE_MODULE_PATH    ${rosserial_arduino_PACKAGE_PATH}/cmake_scripts/modules)  # CMake module search path
set(CMAKE_TOOLCHAIN_FILE ${rosserial_arduino_PACKAGE_PATH}/cmake_scripts/toolchains/Arduino.cmake) # Arduino Toolchain

Now I have following error:

cc1plus: error: unrecognized command line option "-mmcu=atmega328p"
make[2]: *** [CMakeFiles/uno_CORE.dir/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HardwareSerial.cpp.o] Error 1
make[1]: *** [CMakeFiles/uno_CORE.dir/all] Error 2
make: *** [all] Error 2

I'm not a CMake guy, so is there anyone can help me to solve this problem? Thanks!

BTW the arduino installation path in OS X is

/Applications/Arduino.app/Contents/Resources/Java
2011-11-22 02:12:10 -0500 commented answer Problem with CMake and rosserial_arduino
It will work on Ubuntu. But I'm using OS X. I have avr-libc avrdude installed by macports, but still have errors when compiling.
2011-11-22 02:11:31 -0500 answered a question Problem with CMake and rosserial_arduino

It will work on Ubuntu. But I'm using OS X.

2011-11-19 14:58:54 -0500 received badge  Editor (source)
2011-11-19 14:56:07 -0500 asked a question Problem with CMake and rosserial_arduino

Hi guys,

When I'm trying to go through this tutorial in my OS X 10.6: http://www.ros.org/wiki/rosserial_arduino/Tutorials/CMake

I have the ARDUINO_SDK_PATH-NOTFOUND problem mentioned, so I add set(ARDUINO_SDK_PATH <path_to_arduino_installation>) into my CMakeLists.txt. Here is the whole CMakeLists.txt:

cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
rosbuild_find_ros_package(rosserial_arduino)
set(ARDUINO_SDK_PATH /Applications/Arduino.app/Contents/Resources/Java)
include(${rosserial_arduino_PACKAGE_PATH}/cmake_scripts/rosserial.cmake)
set(FIRMWARE_NAME chatter)
set(${FIRMWARE_NAME}_BOARD uno)         # Arduino Target board
set(${FIRMWARE_NAME}_SRCS src/chatter.cpp )
set(${FIRMWARE_NAME}_PORT /dev/tty.usbmodem411)            # Serial upload port
generate_ros_firmware(${FIRMWARE_NAME})

But when I'm try to compile it, I have got the following error:

[  6%] Building CXX object CMakeFiles/uno_CORE.dir/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HardwareSerial.cpp.o
make[3]: avr-g++: No such file or directory
make[3]: *** [CMakeFiles/uno_CORE.dir/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HardwareSerial.cpp.o] Error 1
make[2]: *** [CMakeFiles/uno_CORE.dir/all] Error 2
make[1]: *** [CMakeFiles/chatter.dir/rule] Error 2
make: *** [chatter] Error 2

I know it cannot find avr-g++, but I have already point out the ARDUINO_SDK_PATH, so I think something is missing. I have no problem when I use Arduino IDE to do compile the same code. Do you guys know how to solve this problem? Thanks!