Практические задания

Задание для RaspberryPi

  1. Создайте пакет base_ros с зависимостями от пакетов: std_msgs rospy roscpp message_generation message_runtime
    • Добавьте в пакет все созданные ранее 'python' скрипты
    • Установите пакет в систему
    • Продемонстрируйте работу скриптов пакета используя утилиту rosrun
    • Создайте в пакете директорию data, в директории - файл params.txt
      1. Добавить в сборщик команды для копирования директории и файла в папку инсталляции пакета
      2. Переустановите пакет, продемонстрируйте выполнение копирования файла и директории утилитой roscd

Компиляция "С" программы

  1. Добавьте в пакет файл src/topic_subscriber.cpp(исходник смотри ниже)
    • Добавьте в сборщик команды для компиляции и переноса СИ программы в директорию пакетов ros
    • По коду программы объясните что она делает
    • Продемонстрируйте правильность установки программы утилитой rosrun

Перенос пакета на PC

Созданный пакет вам необходимо перенести на компьютер и произвести его сборку. Проверить работоспособность .py файлов через утилиту rosrun

Дополнительные материалы

  1. Инструкция по работе с файлами CMakeLists.txt
  2. Создание подписчика и издателя на С++)
  3. Книга "Введение в ROS" Создание первой программы

Программа topic_subscriber.cpp

// ROS Default Header File
#include "ros/ros.h"
// Message File Header
#include "std_msgs/String.h"

void msgCallback(const std_msgs::StringConstPtr& msg)
{
  ROS_INFO("recieve msg = %s", msg->data.c_str());
}

int main(int argc, char **argv)
{
  ros::init(argc, argv, "topic_subscriber_node");
  ROS_INFO("Hello from SUB node");
  ros::NodeHandle nh;
  ros::Subscriber ros_tutorial_sub = nh.subscribe("hello", 100, msgCallback);
  ros::spin();
  return 0;
}

results matching ""

    No results matching ""