Robotics StackExchange | Archived questions

How to actuate the ball joint in Gazebo?

I want to actuate the ball joint in Gazebo for my academic project. The ball joint is supported only in sdf format, and the gazeboroscontrol package which is used for actuating the joints is used with the URDF description of robot. So, how should proceed to solve this issue? PS: I cannot use setlinkstate topic as I want to have arbitrary movement of the joint. Currently i am using a single sdf file describing the simulation world including robot model. If I include the plugin tag in the sdf file, the simulations does not run and I get following output in terminal.

SUMMARY

PARAMETERS * /rosdistro: kinetic * /rosversion: 1.12.13 * /usesimtime: True

NODES / gazebo (gazeboros/gzserver) gazebogui (gazebo_ros/gzclient)

auto-starting new master process[master]: started with pid [6312] ROSMASTERURI=http://localhost:11311

setting /runid to ae7ae190-b71b-11ea-ac5f-7c67a2ef732e process[rosout-1]: started with pid [6325] started core service [/rosout] process[gazebo-2]: started with pid [6332] process[gazebogui-3]: started with pid [6344] [ INFO] [1593114011.553766143]: Finished loading Gazebo ROS API Plugin. [ INFO] [1593114011.554405732]: waitForService: Service [/gazebo/setphysicsproperties] has not been advertised, waiting... [ INFO] [1593114012.048122987]: Camera Plugin: Using the 'robotNamespace' param: '/' [ INFO] [1593114012.051198791]: Camera Plugin (ns = /) , set to "" [ INFO] [1593114012.057253113]: Laser Plugin: Using the 'robotNamespace' param: '/' [ INFO] [1593114012.057332690]: Starting GazeboRosLaser Plugin (ns = /) [ INFO] [1593114012.059599033]: GPU Laser Plugin (ns = /) , set to "" [ INFO] [1593114012.060959267]: LoadThread function completed [ INFO] [1593114012.654270990]: Loading gazeboroscontrol plugin [ INFO] [1593114012.654387981]: Starting gazeboroscontrol plugin in namespace: /rrbot [ INFO] [1593114012.656348958]: gazeboroscontrol plugin is waiting for model URDF in parameter [robot_description] on the ROS param server.

Asked by KaranJagdale on 2020-06-25 14:47:39 UTC

Comments

Answers

Your question is not very clear, but I would warn you that actuating ball joints is not supported, I would guess because not all of the underlying physics engines have the same ball joints, so creating one interface for all of them would not make sense.

I would suggest instead three revolute joints, or a universal joint, or some combination.

Asked by Peter Mitrano on 2020-06-27 16:20:40 UTC

Comments

Okay, thank you!

Asked by KaranJagdale on 2020-06-30 03:23:24 UTC