This post was translated from a post by Yuanbo She.
When talking about installing ROS on pcDuino, many people will refer to the experiences with Raspberry Pi, or directly build the source codes. Actually, ROS team already takes the boards requirement into ROS, and has support of Ubuntu ARM remote library. The official tutorial can be found at here. It is perfect to install ROS on pcDuino + Lubuntu OS. I highlight the procedures that I took to install it.
The image I used is version 20130531.
Don’t use user root, and we should switch to user ‘ubuntu’. Otherwise, we will get the following error when running ‘roscore’:
- ubuntu@ubuntu:~$ roscore
- 2Traceback (most recent call last):
- 3 File “/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/__init__.py”, line 230, in main
- 4 write_pid_file(options.pid_fn, options.core, options.port)
- 5 File “/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/__init__.py”, line 107, in write_pid_file
- 6 f.write(str(os.getpid()))
- 7IOError: [Errno 28] No space left on device
Configure apt-get source:
- sudo sh –c ‘echo “deb http://packages.ros.org/ahendrix-mirror/ubuntu precise main” > /etc/apt/sources.list.d/ros-latest.list’
- $wget http://packages.ros.org/ros.key -O – | sudo apt-key add –
- $sudo apt–get update
On Ubuntu 20130531, there should be an error:
- W: Conflicting distribution: http://www.wiimu.com pcduino Release (expected pcduino but got )
We can comment out the source list using LeadPad:
- $sudo leafpad /etc/apt/sources.list
and comment out wiimu.com stuff.
Save the changes, and use “sudo apt-get update” to update.
I use the following command:
- sudo apt–get install ros–groovy–ros–base
We can also use “apt-cache search ros-groovy” to check what packages can be installed.
- sudo apt–get install python–rosdep
- sudo rosdep init
- rosdep update
Configure ROS to launch with Terminal:
- echo “source /opt/ros/groovy/setup.bash” >> ~/.bashrc
- source ~/.bashrc
Now if we run ‘roscore’, we should see ROS master message:
- started roslaunch server http://ubuntu:37709/
- ros_comm version 1.9.44
- * /rosdistro
- * /rosversion
- auto–starting new master
- process[master]: started with pid 
- setting /run_id to 5956b562–f670–11de–8ea2–26eb04d6389b
- process[rosout–1]: started with pid 
- started core service [/rosout]