Controlling an omnidirectional robot (like pr2) in ROS Hydro- Gazebo 1.9
Hi all,
So, I basically want to implement a path planning algorithm by simulating a scenario in "ROS-Gazebo" and I am using "ROS Hydro-Gazebo 1.9" distributions. My algorithm assumes that the robot is omni-directional i.e., it can move in both x and y coordinates, independently. As I have found out, "pr2" and "care-o-bot" are two robots that offer omni-directional motion. The only feature that I need from them is the omni-directional wheels and other features such as laser, arm, etc. are not needed. I would also need to get the odometry data.
Problem: I am not aware of any control plugin or library to control and move the "pr2" in "ROS Hydro-Gazebo 1.9". I am able to bring up the "pr2" in "Gazebo" using "roslaunch" command. But I cannot control it and move it around. To give an idea of what I want, in another case I am able to control a pioneer2dx using a differential drive controller plugin (libgazeborosdiff_drive.so). I wonder if such a thing exists for "pr2". If not, is there any other solutions to my problem?
I would greatly appreciate any helps towards finding a solution for my problem.
Thanks,
Ali
Asked by ali_mohandes on 2014-03-12 18:49:05 UTC
Answers
You might have to create a plugin for that yourself.
But since you're looking for a way to study/develop path planning algorithms i highly recommend you to check the MoveIt! package ( moveit.ros.org ).You can easily create such a scenario you just described by just setting up a planar virtual joint between your robot's base and the world frame. Moreover, there're some tutorials that are specific for the pr2 ( http://moveit.ros.org/documentation/tutorials/ )
Asked by waldezjr on 2014-04-10 22:45:39 UTC
Comments
I think you are looking for a Skid Steering Drive.
Check labrob.urdf.xacro for a simple example.
Hope this helps.
Asked by Francisco on 2014-04-12 10:42:47 UTC
Comments
You could check out this link. It is a Gazebo simulation for omnidirectional soccer-playing robots. Basically, I faked the desired behavior by applying velocities directly to the robot. However, I still would like to try to create a realistic omnidirectional wheels in the future.
Asked by winston on 2017-04-19 21:09:53 UTC
Comments