Sign inSign up

hypothe/rt2_a1

By hypothe

•Updated over 5 years ago

Docker with the repository with the assignments of the Research Track 2 course.

Image
0

1.5K

hypothe/rt2_a1 repository overview

⁠Overview

This image contains everything needed to run my solution at the 1st assignment for the Research Track course held by Professor Carmine Recchiuto⁠ at the MSc in Robotics Engineering at University of Genoa⁠ for the academic year 2020-2021.

The image can be run with

docker run -dit -p 6080:80 -p 5900:5900 -p 8888:8888 -p 3000:3000 -p 9090:9090 --name rt2_a1 hypothe/rt2_a1:doxy

Where the ports are opened to allow for it to be visualized either on a web browser or on a VNC.

The full description of the content is provided in the github repository⁠ where the code is originally stored, so here notions will be given as granted.

⁠Content

Inside this image there are a ROS Noetic and ROS2 Foxy distributions, used to run 4 different pacakages:

  • rt2_assignment1 (ROS): corresponding to the main branch on github, non-holonomic robot control using services (modified version of the original one from Prof. Recchiuto rt2_assignment1⁠ )
  • rt2_assignment1_action (ROS): corresponding to the branch action, implements the same robot but using actions
  • rt2_assignment1_doxy (ROS): corresponding to the branch doxy, similar to action but with the possibility of interfacing with the Jupyter Notebook (aka serving the /set_vel service)
  • rt2_assignment1 (ROS2): corresponding to branch ros2, where the cpp nodes are now ros2 components
  • ros1_bridge (ROS2): already compiled for the custom mapping here used, see ros1_bridge⁠ for the source

Moreover, CoppeliaSim⁠ is also installed and can be used for the simulations (already managed by teh QOL scripts, see next section).

⁠QOL scripts

To ease in the process of testing (and evaluation) three bash scripts are presented in the ROOT folder of the system. Everything described in the assignment is already carried out by them, although things can be still manually launched if one prefers.

⁠The scripts
  • bridge_launch.sh: runs the Gazebo simulation with the ROS and ROS2 rt2_assignment1 packages bridged by ros1_bridge (second part of the assignment)
~/bridge_launch.sh [-a][-k]
  • sim_gazebo.sh: script which can be used to launch the Gazebo simulation of either the service or action version of the rt2_assignment1 (ROS) packages (first part of the assignment).
~/sim_gazebo.sh [-a][-d]

By default the version used is the service one, but by passing the flag -a tha action package will instead be used. By passing -d instead, the doxy package will be used.

  • sim_coppelia.sh: script which can be used to launch the Coppelia simulation of either the service or action version of the rt2_assignment1 (ROS) packages (third part of the assignment).
~/sim_coppelia.sh [-a][-d][-k]

By default the version used is the service one, but by passing the flag -a tha action package will instead be used. By passing -d instead, the doxy package will be used. Similarly, the default scene uses a Pioneer p3dx mobile robot, while by specifying the -k flag a scene with a Robotnik Summit XL140701 will be loaded.

⁠Jupyter Notebook

Together with the launch file from rt2_assignment1_doxy, or with any of the last two QOL scripts by passing the -d flag, a User Interface through a Jupyter Notebook can be used. Further description is presented in the notebook itself. To start the notebook run of the assignment).

source ~/my_ros/devel/setup.bash
jupyter notebook --allow-root --ip 0.0.0.0

Then take note of the token, open a web browser in the host (the one in the image seems unstable) at localhost:8888, and insert the token in the appropriate field. Now navigate through the directories until you reach the notebook, which is at

~/my_ros/src/rt2_assignment1_doxy/notebooks/interface_jptr.ipynb

After opening it read the documentation provided, and start the Interface with Kernel -> Restart & Run All.

Tag summary

Content type

Image

Digest

Size

1.8 GB

Last updated

over 5 years ago

docker pull hypothe/rt2_a1