Install ROS kinetic [Recommended]
or
sudo apt-get install ros-${ROS_DISTRO}-desktop-full
sudo apt-get install python-wstool python-catkin-tools
mkdir -p ~/ros/${ROS_DISTRO}
cd ~/ros/${ROS_DISTRO}
wstool init src
catkin init
catkin build
source ~/ros/${ROS_DISTRO}/devel/setup.bash
Please add the following line to ~/.bashrc
source ~/ros/${ROS_DISTRO}/devel/setup.bash
cd ~/ros/${ROS_DISTRO}/src
wstool set aero-ros-pkg https://github.com/seed-solutions/aero-ros-pkg.git --git
wstool up aero-ros-pkg
cd ~/ros/${ROS_DISTRO}
rosdep install -y -r --from-paths src --ignore-src
You may need sudo rosdep init and rosdep update before
rosdep install. Please follow the terminal message.
cd aero-ros-pkg
catkin build aero_description
source ~/.bashrc
In the initial stage, aero_startup is not ros package, it has no CMakeLists.txt.
CMakeLists.txt and some controller modules are generated by aero_description/setup.sh.
setup.sh requires robot directory as an argument e.g. setup.sh typeFCET.
roscd aero_description
./setup.sh typeF # including catkin build aero_startup
source ~/.bashrc
If you need clean up aero_startup, please use aero_description/clean.sh.
T.B.D.
If USB connect your local PC from robot_pc,
udev_setting
First,
sudo cp ~/{your_workspace}/src/aero-ros-pkg/aero_startup/aero_hardware_interface/udev/90-aero.rules /etc/udev/rules.d
Second, please connect only the USB connector from upper_body,
udevadm info /dev/ttyUSB0 | grep "ID_SERIAL_SHORT"
Please overwrite the displayed serial number in /etc/udev/rules.d/90-aero.rules
For example,
ATTRS {idProduct} == "6001", ATTRS {serial} == "FT98HN7S", MODE = "0403", ATTRS {idVendor} == "0403", ETR: ID_SERIAL_SHORT = FT98HN7S, 666 ", SYMLINK + =" aero_upper "
Similarly, plug and unplug USB in lower body (command confirmed)
roslaunch aero_startup aero_bringup.launch
If you want to move wheels, please refer aero_move_base.
rosrun rviz rviz
then add RobotModel
See aero_gazebo
maintenance
catkin build aero_samples
rosrun aero_samples minimum_sample_node
rostopic pub /lifter_controller/command trajectory_msgs/JointTrajectory "header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: ''
joint_names:
- 'ankle_joint'
- 'knee_joint'
points:
- positions: [0.5, -0.5]
velocities: [0, 0]
accelerations: [0, 0]
effort: [0, 0]
time_from_start: {secs: 3, nsecs: 0}"
## Open
rosservice call /aero_hand_controller "{hand: $(python -c 'import aero_startup.srv; print aero_startup.srv.HandControlRequest.HAND_RIGHT'), command: $(python -c 'import aero_startup.srv; print aero_startup.srv.HandControlRequest.COMMAND_UNGRASP'), power: 0, time_sec: 0}"
## Grasp
rosservice call /aero_hand_controller "{hand: $(python -c 'import aero_startup.srv; print aero_startup.srv.HandControlRequest.HAND_RIGHT'), command: $(python -c 'import aero_startup.srv; print aero_startup.srv.HandControlRequest.COMMAND_GRASP'), power: 0, time_sec: 1.0}"
## Angle
rosservice call /aero_hand_controller "{hand: $(python -c 'import aero_startup.srv; print aero_startup.srv.HandControlRequest.HAND_RIGHT'), command: $(python -c 'import aero_startup.srv; print aero_startup.srv.HandControlRequest.COMMAND_GRASP_ANGLE'), power: 0, time_sec: 1.0, larm_angle: 0.5, rarm_angle: 0.5}"
see aero_samples and aero_std documentation
install docker https://docs.docker.com/install/linux/docker-ce/ubuntu/
build docker image under aero-ros-pkg directory
docker build -f Dockerfile.kinetic --tag ros:aero_kinetic --build-arg RUN_TESTS=true .
Launch move base
roslaunch aero_startup wheel_with_static_map.launch
Teleoperate aero using ps3 controller!
| Button | Function |
|---|---|
| 0 | Change to Joint Mode |
| 1 | Forward/Backward move base (with 10), Up/Down lifter (with 11) |
| 2 | Control forward/backward driving |
| 3 | Change to Basic Mode |
| 4 | Not used |
| 5 | Not used |
| 6 | Arm tuck |
| 7 | Not used |
| 8 | Not used |
| 9 | Not used |
| 10 | Move Teleop |
| 11 | Lifter Teleop |
| 12 | Not used |
| 13 | Close Right Hand |
| 14 | Open Hand |
| 15 | Close Left Hand |
| 16 | Reset Pose |
| Button | Function |
|---|---|
| 0 | Change to Joint Mode |
| 1 | Control Joint Angle |
| 2 | Not userd |
| 3 | Change to Basic Mode |
| 4 | Control Joint Angle |
| 5 | Control Joint Angle |
| 6 | Control Joint Angle |
| 7 | Control Joint Angle |
| 8 | Control Left Forearm |
| 9 | Control Right Forearm |
| 10 | Control Left Upper Arm |
| 11 | Control Right Upper Arm |
| 12 | Control Neck |
| 13 | Control Right Wrist |
| 14 | Control Torso |
| 15 | Control Left Wrist |
| 16 | Pair/unpair with robot |

