On which package do I have to put my nodes?

asked 2019-06-27 05:42:45 -0500

Elric gravatar image

updated 2019-06-27 08:58:13 -0500

I'm using ROS Melodic and Gazebo 9.9.0 in an Ubuntu 18.04.2 LTS bionic.

This question is about best practices and naming convections.

I have the following packages for my project:

  1. nav_astar_description: provides the 3D model of the robot and the description of joints and sensors.
  2. nav_astar_gazebo: provides launch files and worlds for easy starting of simulation.
  3. nav_astar_control: configures the ROS interface to my robot's joints.

If I want to create a C++ node to control the robot with the keyboard. By the way, I'm learning ROS and this is why I'm writing a keyboard controller (and because the current ones don't fit my needs).

Where do I have to create it and with which name?

Maybe I will need to create more than one node.

edit retag flag offensive close merge delete

Comments

This doesn't address your question, but:

If I want to create a C++ node to control the robot with the keyboard.

If you're using a standard interface for your controllers (such as a geometry_msgs/Twist), you should be able to reuse something like teleop_twist_keyboard (or perhaps even teleop_twist_joy). That would save you writing it yourself, and reuse is a best practice.

gvdhoorn gravatar imagegvdhoorn ( 2019-06-27 05:57:38 -0500 )edit