Robotics StackExchange | Archived questions

Get /joint_states from a quadrotor - MoveIt!

Hi,

I'm trying to use MoveIt! as a motion planner to my quadrotor. I have rgbdslam running on it which gives me a /tf topic. Also have a optical flow module with a sonar which gives me linear velocities and height, but that is not already implemented in a node to get a better pose estimation. For now I just want a pose estimation based on rgbdslam /tf.

I checked that MoveIt! needs /jointstate topic being published but I don't know how to get this. Checking my graph nodes (this one: rosgraph.png ), I get /movegroup being subscribed to /robotstatepublisher and to /jointstatepublisher, but none of this are subscribed to any topic, which is probably where the following problem exists:

I'm using hectorquadrotor quadrotorwithasus.urdf.xacro (modified so to have the camera pointing in front as it is on my quad) to get a planner config to use in moveit. I set two links on it, namely baselink and the cameralink, in a group named Quadrotor. A virtual joint named "Base" connects the /baselink with the /map external frame that comes from rgbdslam.Then I setup sensorsrgbd.yaml to receive the point cloud from the camera driver directly, instead of getting the rgbdslam /batchclouds, I'm using the fake_controller for now, but have one based on MultiDofFollowJointTrajectory.

Now the problem: roslaunching demo.launch of my created config package does gets the octomap being generated from the point cloud in Rviz, but seems like it doesn't update the octomap and the pose/orientation of the quad, and I think that's because the /joint_state isn't receiving any info about the quad pose.

So what I want to ask is how do I update the robot pose on Rviz? What node do I have to created to, for example, pick the /tf info from the camera, write it to /jointstatepublisher and get a /joint_state topic?

Thanks in advance!

Asked by TSC on 2014-07-05 10:39:54 UTC

Comments

Hi, I've the same problem too. Did you solve the problem to publish over the /joint_states topic?

Asked by Andromeda on 2014-11-17 05:55:05 UTC

any solution yet?

Asked by Ryan_Dirgantara on 2018-06-08 13:11:40 UTC

Yes, just get rid of MoveIt! and don't use /joint_state for a multicopter. Use a TransformStamped instead and a continuous joint between your world frame and your copter frame. Using a TransformStamped, you can move and orient your multicopter around all three axis

Asked by Andromeda on 2022-06-29 16:18:58 UTC

Answers