PDA

View Full Version : [Question(s)] Integrate walking and RME as a single ROS module?



guoshihui
02-01-2016, 08:03 PM
Hi everyone,

We are trying to build a complete controller for HROS1, based on ROS. One thing is the motion controller, including both walking and other motions. The problem is:

if we make walking and rme as two separate ROS modules, there will be conflicts on using the CM730 (if you start walking module first, you can't start the rme unless restarting the system, or vice versa). However if we integrate these two as a single ROS modules, the result gets worse, both the walking and other motions don't perform properly.

I know HROS5 is building the controller with ROS, how you manage that? Any suggestions?

Shihui

r3n33
02-02-2016, 09:27 AM
Hi Shihui

At it's core, a ROS package for the HR-OS1 will be very similar to the HR-OS5. It should be fairly easy to adapt the current state of the OS5 stack to your robot and you can find the work in progress version on git: https://github.com/Interbotix/ros_hros5

This is a great starting point because you can be up and running quickly but ideally we'd remove the need for the Darwin-OP wrapping all together. I've had some thoughts about creating an action module (or RME as you've mentioned) to help move away from having the Darwin framework co-manage servo angles. Since WinRME already converts the action pages to XML I would like to think a node to handle joint positioning and timing based on the XML parameters would come together quickly. It seems the hardest part, while doable, would be getting the walking gait extracted or explore other methods of achieving locomotion.

If you have any questions after looking at the sources provided please let me know and I'll do my best to help.

guoshihui
02-03-2016, 12:33 AM
Hi r3n33,

Thanks for this. I suppose there is a lot of work undergoing for you guys.

About the code repo, I found a lot of files missing, such as in the file hros5_hardware_interface.h,


#include <hardware_interface/joint_command_interface.h>
#include <hardware_interface/joint_state_interface.h>
#include <hardware_interface/imu_sensor_interface.h>
#include <hardware_interface/robot_hw.h>

I can't find these included files in the repo...We are also writing code to extract the readings from the IMU and publish it in ROS, use it for navigation. So it would be helpful if we can have something as a template.

Best regards.

Shihui

r3n33
02-03-2016, 10:40 AM
You're welcome. It's certainly a fair bit of work and research but all worth while ;)

Out of curiosity, what version of ROS have you installed?

Those are not missing files from the repo but instead missing from your system. Hardware Interface is provided by ROS in ros_control I do believe. Depending on which version of ROS you are using you might need to run:



sudo apt-get install ros-<distro>-ros-control


In the hros5_hardware_interface provided by the repo you will find IMU readings published for use with robot_localization_ekf/navigation purposes.