The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platform 1. In my research experiences, I have to write ROS programs a lot, also use ROS tools very often. This post is intended to show how to do ROS work in Emacs.
C/C++ is a pretty popular programming language, especially for work requiring high efficiency, such as embedded system and efficient algorithm. I am doing robotics research and sometimes I have to program some hardware, like microcontrollers, and I also need to write some ROS code to control the robot or run simulations where C/C++ plays an important role. This post is intended to show how to set up a C/C++ programming environment in Emacs.
Emacs is a highly extensible text editor and the community keeps growing where you can obtain a lot of support for almost all your needs as a programmer, including Python which is a super prevalent programming language, especially in robotics, machine learning, data mining and so forth. This post is intended to show how to set up a Python programming environment in Emacs.
Git is becoming more and more popular nowadays and there are also more and more excellent packages interacting with Git using Emacs, such as Magit. Also Projectile, a very nice project interaction library for Emacs, is not working well with Subversion repositories, for example, indexing is slow and contents sometimes cannot be updated. Hence, it is necessary to interact with Subversion using Git interface. git svn is a simple conduit for changesets between Subversion and Git.1