New answers tagged

2

There's a lot of solutions out there already for this. I'll start by suggesting AR tags not QR tags. They're better optimized for localizing. The Alvar library is commonly used for tracking AR tags. http://virtual.vtt.fi/virtual/proj2/multimedia/alvar/ And there's a ROS package which wraps that and publishes the results as ROS messages. https://index.ros.org/...


1

Its probably because its a metapackage. they might leave that out of the rospack find. but roscd works even though i get the same error you are getting on a rospack find


0

You should use ROS' inbuilt transforms. Assuming that your IMU data is being read as a ROS message, and you know all the frame id's, this example template explains the basics of using tf's.


3

I came back to this question and thought a bit more about it because of your bounty - typically the bounties are offered from a point of desperation, and I hate that feeling myself. I think probably your code is fine, in looking at it. There are things that I'd do differently, like scaling your PID output by the time step, but you could distribute that ...


3

I find it easiest to make a class for stuff like this, where you have data you want to use between callbacks, or your want to publish a message inside of another callback. For example, your class might look something like (in the header:) class IMUIntegrator { public: void start(); private: void imu_callback(const your_imu::Message::...


0

If you want to start from first principals there's a pretty thorough paper here There's a question here which is related Calculate covariance matrix from x,y,z data And there's some pretty practical advice here: https://answers.ros.org/question/12642/calculating-covariances-of-robots-odometry/


1

Behavior like this suggests that your odometry is not being computed properly when the vehicle turns. It's hard to tell but the model appears to have rotated about 90 degrees but the laser scans appear to have rotated close to 180 degrees comparatively. There may be an issue with your wheel radius or some similar setting. Alternatively there could be a sign ...


0

It appears that the package you're looking for is available in noetic: https://index.ros.org/p/jderobot_drones/#noetic If you're getting that error it's likely that you have not setup the ROS package sources: http://wiki.ros.org/noetic/Installation/Ubuntu#Installation.2FUbuntu.2FSources.Setup_your_sources.list If you are still having trouble please edit your ...


1

Assuming you mean a LaserScan ROS message. It's possible to use the geometry of your robot and laser positions to create one ray per sensor in the laser scan. This is basically going to be a manual process to do this. You can see someone else working out the math here There's a lot of questions on this already: https://answers.ros.org/question/348155/slam-...


1

Try swapping the order in your main function, so your publisher exists before you start the subscriber callback. I also haven't tried running a publisher and subscriber from the same node handle and can't seem to find anything that explicitly says you can or can't do that. If just swapping the order doesn't work, then try making separate node handles, one ...


2

I believe you need to remove the declaration of the global ROS publisher outside the main function.


1

You said: the RGBa values I set in my model in gazebo all have value 1 and you also said: but no values are 255 Which I would expect is correct, because you just said you set them all to 1. Did you mean to scale them from 1 to 255 at some point? Casting 1.0 from float to uint8 will give you 1, not 255.


0

It looks like there might be a bug in your code as pointed to by @MorganStark47 above in the comment You may also want to use Gazebo/White as the material versus Gazebo/Grey to get the full brightness. I think the settings your adjusting effect how it interacts with different light sources and may not fully override the texture which a grey will take off ...


1

The usual way is to use: rosinstall . <your_package>.rosinstall This answer will explain rosinstall clearly https://answers.ros.org/question/9213/how-exactly-does-rosinstall-work/


1

If you're using the ROS distribution melodic, it's likely that installing python-rosdep2 removed much of it from your system if you didn't pay attention to the apt prompts. If you're using the packages.ros.org sources following the official installation you should be using python-rosdep not python-rosdep2 which comes from the Upstream repositories. The same ...


1

Based on your configuration, you are trying to create map -> odom -> /thrbot/base_link. But you do not have a map frame. Looking at your oroginal TF, you should instead create world -> odom -> base_footprint. I think your configuration should be: odom_frame: odom base_link_frame: /thrbot/base_footprint world_frame: world EDIT: as ...


Top 50 recent answers are included