No ROS topic between nodes in rqt_graph - ros

I am a beginner in ROS, and I am working on a quadcopter project using ROS and Gazebo.
To give you a bit of the background, here is what I did:
I created a quadcopter CAD model in solidworks,
Then I exported it as an urdf file to ROS and Gazebo.
Now my next task to move the quadcopter using python code. But when I type commands like rostopic, I don't see any valuable topic to control my quadcopter. I want the propellers to rotate so that the quadcopter can move.
For ease I have attached an image generated using rqt_graph, and it shows that there are no topics.

Without seeing your URDF file it's hard to say what parts you're missing. That being said, you seem to imply that you've just exported a CAD model to URDF. A URDF is just a file to explain how different parts relate to each other, for it to be useable with ros and gazebo a plugin needs to be used to actually publish states and transforms. Make sure at the bottom of your URDF file you are loading the gazebo_ros_control plugin and transmission control. Something like this:
<!-- ROS Control plugin for Gazebo -->
<gazebo>
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
<robotNamespace>/simple_model</robotNamespace>
</plugin>
</gazebo>
<!-- transmission -->
<transmission name="base_to_second_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="motor1">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
<joint name="base_to_second_joint">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
</transmission>
</robot>

Related

Adding a boat to the Gazebo environment

I want to work on a surface vehicle in the gazebo environment. I've looked at various resources on this topic, but haven't been able to find a working example file for the system I'm using. In the sources I found, the vehicle sinks into the water. I also did research to get it on the water, but I couldn't get any results. My system information is as follows. Is there a source for my system information where I can work on the surface vehicle? Or do I need to change the version?
System info:
Ubuntu 20.04
ROS Noetic Distribution
Gazebo 11
I added ocean and boat model to Gazebo environment. To keep the boat afloat, I looked at this resource:
https://classic.gazebosim.org/tutorials?tut=hydrodynamics&cat=physics
I added the codes in this resource to the boat.sdf file. But the boat did not rise above the water.

Using Underwater Robot Model on ROS (Noetic) and Gazebo

I have to work with ROS Noetic and gazebo on a model of a Semi-submerged drone. To test some different programs, I want to use the model of diffboat, located in this git.
Because Kinetic might close in few days, i have to work with ROS Noetic (or Foxy/ROS2) and the problem is this project is not compatible with ROS Noetic..
Do you have any advice to make this project compatible on ROS/Noetic?
Hi am not sure if you have to work with the mentioned environment or if also unity instead of gazebo is an alternative.
But if you want to check out other maritime simulators I can recommend these links to you:
Ros Discourse on Maritime Robotics
UUV Simulator (Ros,Gazebo)
DAVE Simulator (Ros,Gazebo)
Plankton Simulator (Ros2,Gazebo)

ROS Simulation for propellers

I have been trying to simulate a Helium Airship using Gazebo on ROS but can't find plugin to simulate the propellers for thrust. Does anyone know a way to do it?
You should be able to model the propeller like a Quadcopter propeller. See if https://dev.px4.io/en/simulation/gazebo.html helps.

Using Google Cartographer with Turtlebot in a custom world?

I am a beginner in robotics and I am trying to use Google Cartographer to make my simulated Turtlebot build a map autonomously of its environment.
I have done already all the tutorials in ROS and I can make the robot build the map using teleoperation, but I don't know how to make it build the map by itself. I want to use Google Cartographer for this.
I can however run the demo provided by Google and it works (it builds the map of a Museum).
# Launch the 2D depth camera demo.
roslaunch cartographer_turtlebot demo_depth_camera_2d.launch bag_filename:=${HOME}/Downloads/cartographer_turtlebot_demo.bag
The questions:
How can I run it on my own world instead of the bag file of that museum?
Does it need a yaml map like the one I built with teleoperation? what is the command to make it use my yaml map instead of a bag file?
Can I use a .png image with yaml context?
Could it use the gazebo simulated worlds that are .sdf? What is the command to input this then?
These are the specifications I have:
Ubuntu Xenial
ROS Kinetic
Gazebo 7
Turtlebot2
Google Cartographer for turtlebot
Thanks a lot! It's like I understand the concepts but I don't know how to link things together to make them work.

ANT scripts for J2ME Application Life Cycle

I'm new to J2ME application development, I want to write an ANT script to build and run the application in the emulator. Assuming that I'm going to use JAVA_ME_Platform_SDK,
My main doubt is how do I can create the JAD file using ANT
apart from other building activities.
You can use Antenna http://antenna.sourceforge.net/.
"There are several sample build.xml files in the "samples" subdirectory of the Antenna source distribution. These files show how to build the default demo MIDlets contained in the Wireless Toolkit and some others. Running the samples is a good way to test your setup as well as a good starting point for your own build.xml files."
Finally I wrote the script to all the J2ME processes. For creating the JAD I've written the follwoing
**<target name="makeJAD">
<length file="${prototype}/bin/${PROGRAM_NAME}.jar" property="jarSize"/>
<echo file="${prototype}/bin/${PROGRAM_NAME}.jad">MIDlet-Jar-Size: ${jarSize}
MIDlet-1: ${PROGRAM_NAME},,${PACKAGE_NAME}.${PROGRAM_NAME}
MIDlet-Jar-URL: ${PROGRAM_NAME}.jar
MIDlet-Name: ${MIDLET_NAME}
MIDlet-Vendor: ${MIDLET_VENDOR}
MicroEdition-Configuration: ${CONFIG}
MicroEdition-Profile: ${PROFILE}
MIDlet-Version: ${MIDLET_VERSION}
</echo>
</target>**

Resources